1. 25 Sep, 2015 20 commits
    • re PR fortran/67614 (ICE on using arithmetic if with null) · 2d2de608
      2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67614
      	* resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
      
      2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67614
      	* gfortran.dg/pr67614.f90: New test.
      
      From-SVN: r228156
      Steven G. Kargl committed
    • re PR fortran/67525 (ICE on select type with improper selector) · b15e7bdd
      2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67525
      	* parse.c (match_deferred_characteristics): Remove an assert, which
      	allows an invalid SELECT TYPE selector to be detected.
      
       
      2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67525
      	* gfortran.dg/pr67525.f90: New test.
      
      From-SVN: r228155
      Steven G. Kargl committed
    • Fix type in the changelog entry, · f7697f9c
      From-SVN: r228154
      Vladimir Makarov committed
    • re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os) · c9561e7b
      2015-09-25  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/61578
      	* lra-constarints.c (match_reload): Check presence of the input pseudo
      	in the output pseudo.
      
      From-SVN: r228153
      Vladimir Makarov committed
    • Add PR fortran/55603 working test · d24a1f53
      gcc/testsuite/
      	PR fortran/55603
      	* gfortran.dg/allocatable_function_9.f90: New.
      
      From-SVN: r228151
      Mikael Morin committed
    • invoke.texi (-fsanitize): Minor wording tweak. · 9f85af26
      2015-09-25  Tobias Burnus  <burnus@net-b.de>
      
      	* doc/invoke.texi (-fsanitize): Minor wording tweak.
      
      From-SVN: r228148
      Tobias Burnus committed
    • invoke.texi (-fsanitize): Update URLs. · 66208ca4
      2015-09-25  Tobias Burnus  <burnus@net-b.de>
      
              * doc/invoke.texi (-fsanitize): Update URLs.
      
      From-SVN: r228144
      Tobias Burnus committed
    • * tr.po: Update. · 9e703070
      From-SVN: r228138
      Joseph Myers committed
    • This patch unsets -freorder-blocks-and-partition when -fprofile-use is not specified. · 66971048
      This patch unsets -freorder-blocks-and-partition when -fprofile-use
      is not specified. Function splitting was not actually being performed
      in that case, as probably_never_executed_bb_p does not distinguish
      any basic blocks as being cold vs hot when there is no profile data.
      Leaving it enabled, however, causes the assembly code generator to create
      (empty) cold sections and labels, leading to unnecessary size overhead.
      
      2015-09-25  Teresa Johnson  <tejohnson@google.com>
      
      	* opts.c (finish_options): Unset -freorder-blocks-and-partition
      	if not using profile.
      
      From-SVN: r228136
      Teresa Johnson committed
    • Avoid creating dangling references in case of nested tuples · 5e2f2cd5
      for tuple constructors that construct from other tuples.
      
      2015-09-25  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Avoid creating dangling references in case of nested tuples
      	for tuple constructors that construct from other tuples.
      	* include/std/tuple (_TC::_NonNestedTuple): New.
      	* include/std/tuple (tuple::_TNTC): New.
      	* include/std/tuple (tuple(const tuple<_UElements...>&),
      	tuple(tuple<_UElements...>&&): Use _TNTC.
      	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
      
      From-SVN: r228134
      Ville Voutilainen committed
    • PR pretty-print/67567 do not pass NULL as a string · 41d9f1e0
      Fortran passes NULL where a non-null string is expected by the pretty-printer,
      which causes a sanitizer warning. This could have been found earlier by using
      gcc_checking_assert. Even if the assertion is false, the result is just an
      incomplete diagnostic, thus it seems more user-friendly to assert only when
      checking. I do not have any idea how to properly fix the Fortran bug, thus this
      patch simply works-around it.
      
      gcc/fortran/ChangeLog:
      
      2015-09-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR pretty-print/67567
      	* resolve.c (resolve_fl_procedure): Work-around when iface->module
      	== NULL.
      
      gcc/ChangeLog:
      
      2015-09-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR pretty-print/67567
      	* pretty-print.c (pp_string): Add gcc_checking_assert.
      	* pretty-print.h (output_buffer_append_r): Likewise.
      
      From-SVN: r228131
      Manuel López-Ibáñez committed
    • re PR target/67675 ([SH] Improve __builtin_strcmp alignment test) · f700c7ca
      gcc/
      	PR target/67675
      	* config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
      	addr2 individually.  Don't emit logical or insn if one is known to
      	be aligned approriately.
      	(sh_expand_cmpnstr): Likewise.
      
      gcc/testsuite/
      	PR target/67675
      	* gcc.target/sh/pr67675.c: New.
      
      From-SVN: r228118
      Oleg Endo committed
    • [AArch64] Force __builtin_aarch64_fp[sc]r argument into a REG · e6cf8d65
      The testcase triggered an ICE because the builtin expansion
      code passed the output of expand_normal directly to the SET_FP[SC]R
      generator, without forcing it into a register first.
      
      gcc/
      	* config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
      	__builtin_aarch64_fp[sc]r arguments into a register.
      
      gcc/testsuite/
      	* gcc.target/aarch64/fpcr_fpsr_1.c: New file.
      
      From-SVN: r228116
      Richard Sandiford committed
    • Rename IA MCU processor lakemount to lakemont · 2d6b2e28
      IA MCU processor name is lakemont, not lakemount.
      
      gcc/
      
      	* config.gcc (x86_archs): Replace lakemount with lakemont.
      	(with_cpu): Likewise.
      	(with_arch): Likewise.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
      	PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT.  Replace
      	__tune_lakemount__ with __tune_lakemont__.
      	* config/i386/i386.c (lakemount_cost): Renamed to ...
      	(lakemont_cost): This.
      	(m_LAKEMOUNT): Renamed to ...
      	(m_LAKEMONT): This.
      	(initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
      	(processor_target_table): Replace "lakemount" with "lakemont".
      	(processor_alias_table): Likewise.
      	(ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
      	PROCESSOR_LAKEMONT.
      	(ix86_adjust_cost): Likewise.
      	(ia32_multipass_dfa_lookahead): Likewise.
      	* config/i386/i386.h (processor_type): Likewise.
      	* config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
      	* doc/invoke.texi: Replace lakemount with lakemont.  Replace
      	Lakemount with Lakemont.
      
      gcc/testsuite/
      
      	* gcc.target/i386/pr66749.c (dg-options): Replace
      	-mtune=lakemount with -mtune=lakemont.
      	* gcc.target/i386/pr66821.c (dg-options): Likewise.
      	* gcc.target/i386/pr67329.c (dg-options): Likewise.
      
      From-SVN: r228115
      H.J. Lu committed
    • c-ubsan.c (ubsan_instrument_division): Remove unnecessary code. · 974348ee
      	* c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
      	(ubsan_instrument_shift): Likewise.
      
      	* c-c++-common/ubsan/bounds-11.c: New test.
      	* c-c++-common/ubsan/bounds-12.c: New test.
      
      From-SVN: r228114
      Marek Polacek committed
    • re PR sanitizer/64906 (-fsanitize=integer-divide-by-zero creates false… · 15dbc1a6
      re PR sanitizer/64906 (-fsanitize=integer-divide-by-zero creates false -Wmaybe-uninitialized warning)
      
      	PR sanitizer/64906
      	* c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
      
      	* c-c++-common/ubsan/pr64906.c: New test.
      
      From-SVN: r228112
      Marek Polacek committed
    • Change IA MCU processor from iamcu to lakemount · 89e5941d
      The first IA MCU processor will be Lakemount.  This patch changes IA MCU
      processor name from iamcu to lakemount.
      
      gcc/
      
      	* config.gcc (x86_archs): Replace iamcu with lakemount.
      	(with_cpu): Likewise.
      	(with_arch): Likewise.
      	* doc/invoke.texi: Likewise.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Replace
      	PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT.  Replace
      	__tune_iamcu__ with __tune_lakemount__.
      	* config/i386/i386.c (iamcu_cost): Renamed to ...
      	(lakemount_cost): This.
      	(m_IAMCU): Renamed to ...
      	(m_LAKEMOUNT): This.
      	(initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
      	(processor_target_table): Replace "iamcu" with "lakemount".
      	(processor_alias_table): Likewise.
      	(ix86_issue_rate): Replace PROCESSOR_IAMCU with
      	PROCESSOR_LAKEMOUNT.
      	(ix86_adjust_cost): Likewise.
      	(ia32_multipass_dfa_lookahead): Likewise.
      	* config/i386/i386.h (processor_type): Likewise.
      	* config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
      
      gcc/testsuite/
      
      	* gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
      	with -mtune=lakemount.
      	* gcc.target/i386/pr66821.c (dg-options): Likewise.
      	* gcc.target/i386/pr67329.c (dg-options): Likewise.
      
      From-SVN: r228109
      H.J. Lu committed
    • Daily bump. · 925f700a
      From-SVN: r228108
      GCC Administrator committed
    • pa-linux.h (HAVE_sync_compare_and_swapdi): Define. · 7e7c9d40
      	* config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
      	* config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
      	Declare.
      	* config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
      	(pa_expand_compare_and_swap_loop): New.
      	(pa_maybe_emit_compare_and_swap_exchange_loop): New.
      	* config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
      	atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
      	(atomic_loaddf_1, atomic_storedf_1): New insn patterns.
      	(atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
      	Revise.
      
      From-SVN: r228104
      John David Anglin committed
  2. 24 Sep, 2015 20 commits
    • re PR other/57195 (Mode attributes with specific mode iterator can not be used… · 4fe017f6
      re PR other/57195 (Mode attributes with specific mode iterator can not be used as mode iterators in *.md files)
      
      2015-09-24  Michael Collison  <michael.collison@linaro.org>
      
      	PR other/57195
      	* read-md.c (read_name): Allow mode iterators inside angle
      	brackets in rtl expressions.
      
      From-SVN: r228102
      Michael Collison committed
    • re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os) · 86f0bef3
      2015-09-24  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/61578
      	* ira-color.c (update_allocno_cost): Add parameter.
      	(update_costs_from_allocno): Decrease conflict cost.  Pass the new
      	parameter.
      
      From-SVN: r228097
      Vladimir Makarov committed
    • fdiagnostics-color=never does not disable color for some diagnostics · 35632122
      Actually, I was trying to reject non-warning options as argument to
      -Werror=. However, the new test fails because -fdiagnostics-color=never is
      always placed by the driver after the warning options when calling the compiler
      proper. This patch prunes all -fdiagnostics-color from the command-line but the
      last one, which is moved to the first position.
      
      gcc/ChangeLog:
      
      2015-09-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/67640
      	* opts-common.c (prune_options): Discard all -fdiagnostics-color
      	but the last one, which is moved to the front to be processed
      	first.
      	* opts.c (enable_warning_as_error): Reject options that do not
      	control warnings.
      
      gcc/testsuite/ChangeLog:
      
      2015-09-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/67640
      	* gcc.dg/Werror-13.c: New test.
      
      From-SVN: r228094
      Manuel López-Ibáñez committed
    • [AArch64] Handle const address in aarch64_print_operand · 2af16a7c
      2015-09-24  Jiong Wang  <jiong.wang@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
      
      From-SVN: r228093
      Jiong Wang committed
    • [AArch64] Delete aarch64_symbol_context which is not used · a6e0bfa7
      2015-09-24  Jiong Wang  <jiong.wang@arm.com>
      
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
      	* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
      	(aarch64_cannot_force_const_mem): Likewise.
      	(aarch64_classify_address): Likewise.
      	(aarch64_classify_symbolic_expression): Likewise.
      	(aarch64_print_operand): Likewise.
      	(aarch64_classify_symbol): Likewise.
      	(aarch64_mov_operand_p): Likewise.
      	* config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
      	(aarch64_mov_operand): Likewise.
      
      From-SVN: r228092
      Jiong Wang committed
    • Leave moved-from std::deque in a valid state · 9bc50282
      	PR libstdc++/67707
      	* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
      	empty object.
      	* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
      	deque.
      
      From-SVN: r228090
      Jonathan Wakely committed
    • Fix aarch64/target_attr_10 test following r227997. · 4f761179
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note.
      
      From-SVN: r228088
      Szabolcs Nagy committed
    • rs6000: Fix -mdebug=stack code for spe_gp_offset · f08e13f1
      
      2015-09-23  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config/rs6000/rs6000.c (debug_stack_info): Invert the test
      	for info->spe_gp_size.
      
      From-SVN: r228086
      Segher Boessenkool committed
    • re PR lto/67699 (ICE (segfault) compiling a const array with -flto) · 760e1bb7
      2015-09-24  Richard Biener  <rguenther@suse.de>
      
      	PR lto/67699
      	* lto-cgraph.c (compute_ltrans_boundary): Do not stream
      	abstract origins.
      
      	* g++.dg/pr67699.C: New testcase.
      
      From-SVN: r228084
      Richard Biener committed
    • ARM: fp16 Fix PR 67624 - Incorrect conversion of float Infinity to __fp16 · 4dfe21ac
      	PR libgcc/67624
      	libgcc:
      	* config/arm/fp16.c (__gnu_f2h_internal): Handle infinity correctly.
      	gcc/testsuite:
      	* gcc.target/arm/fp16-inf.c: New test.
      
      From-SVN: r228082
      Richard Earnshaw committed
    • Additional changes to switch from gimple to gimple * · 60dd79ca
      	gcc/
      	* tree-object-size.c (plus_stmt_object_size)
      	(cond_expr_object_size): Change the formal parameters from gimple
      	to gimple *.
      	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
      	* tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
      	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
      
      From-SVN: r228080
      Thomas Schwinge committed
    • avx512vbmi-check.h (main): Fix register name while checking for AVX-512VBMI presence. · bc6e483f
      gcc/testsuite/
      	* gcc.target/i386/avx512vbmi-check.h (main): Fix register
      	name while checking for AVX-512VBMI presence.
      
      From-SVN: r228079
      Kirill Yukhin committed
    • Support PIE on Solaris · df2a1cc4
      	gcc/testsuite:
      	* lib/target-supports.exp (check_effective_target_pie): Check for
      	PIE support on Solaris 11.x and 12.
      
      	libgcc:
      	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
      	Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts.
      	* config/sol2/gmon.c: (monstartup): Don't write trailing NUL of
      	messages.
      	(internal_mcount): Likewise.
      	* config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with
      	crt_compile, add CRTSTUFF_T_CFLAGS_S.
      
      	gcc:
      	* configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
      	Check for ld -type pie on Solaris 11.x and 12.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      	* gcc.c (LD_PIE_SPEC): Allow redefinition.
      
      	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
      	(STARTFILE_SPEC): Use it.
      	(ENDFILE_CRTEND_SPEC): Define.
      	(ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
      	(SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
      	ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
      	[HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
      	(!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
      	* config/i386/sol2.h (ENDFILE_SPEC): Remove.
      	(ENDFILE_ARCH_SPEC): Define.
      	* config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
      
      From-SVN: r228078
      Rainer Orth committed
    • Use CRTs provided by Solaris · 2d110442
      	gcc:
      	* configure.ac (gcc_cv_solaris_crts): New test.
      	* configure. Regenerate.
      	* config.in: Regenerate.
      	* config/sol2.h (STARTFILE_SPEC): Simplify, provide
      	HAVE_SOLARIS_CRTS variant.
      
      	libgcc:
      	* configure.ac (libgcc_cv_solaris_crts): New test.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/sol2/crtp.c, config/sol2/crtpg.c: New files.
      	* config/gmon-sol2.c: Rename to ...
      	* config/sol2/gmon.c: ... this.
      	Include auto-target.h.
      	(internal_mcount): Wrap setup handling in !HAVE_SOLARIS_CRTS.
      	* config/t-sol2: Rename to ...
      	* config/sol2/t-sol2: ... this.
      	(gmon.o): Reflect renaming.
      	(crtp.o, crtpg.o): New rules.
      	* config.host (*-*-solaris2*): Reflect renaming.
      	Use system CRTs if present.
      	Remove default CRT case.
      
      From-SVN: r228077
      Rainer Orth committed
    • [tree-inline][obvious] Delete redundant count_insns_seq · fcb901cd
      	* tree-inline.h (count_insns_seq): Delete prototype.
      	(estimate_num_insns_seq): Define prototype.
      	* tree-inline.c (count_insns_seq): Delete.
      	(estimate_num_insns_seq): Remove static qualifier.
      	* tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
      	with estimate_num_insns_seq.
      
      From-SVN: r228075
      Kyrylo Tkachov committed
    • tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base members. · 1fefbb66
      2015-09-24  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
      	members.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
      	and base for MEM_REF and TARGET_MEM_REF.  Handle BIT_FIELD_REF
      	offset.
      	(ao_ref_init_from_vn_reference): Record clique and base in the
      	built base.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
      
      	* g++.dg/tree-ssa/restrict3.C: New testcase.
      
      From-SVN: r228074
      Richard Biener committed
    • re PR c/48885 (missed optimization with restrict qualifier?) · 0a28fdca
      2015-09-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/48885
      	* tree-ssa-structalias.c (visit_loadstore): Handle default defs
      	as not including any restrict tags from other pointers.
      
      	* gcc.dg/tree-ssa/restrict-6.c: New testcase.
      
      From-SVN: r228073
      Richard Biener committed
    • ChangeLog: Fix whitespace. · 761d6f4e
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r228072
      Uros Bizjak committed
    • Fix a -Wmisleading-indentation false-negative · 6b95d7cc
      gcc/c-family/ChangeLog:
      
      	* c-indentation.c (should_warn_for_misleading_indentation):
      	Compare next_stmt_vis_column with guard_line_first_nws instead
      	of with guard_line_vis_column.
      
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/Wmisleading-indentation.c: Augment test.
      
      From-SVN: r228071
      Patrick Palka committed