1. 24 Sep, 2015 20 commits
    • 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
    • Daily bump. · 3d5cda12
      From-SVN: r228070
      GCC Administrator committed
  2. 23 Sep, 2015 19 commits
    • linux-atomic.c (__kernel_cmpxchg2): Reorder error checks. · d572e439
      	* config/pa/linux-atomic.c (__kernel_cmpxchg2): Reorder error checks.
      	(__sync_fetch_and_##OP##_##WIDTH): Change result to match type of
      	__kernel_cmpxchg2.
      	(__sync_##OP##_and_fetch_##WIDTH): Likewise.
      	(__sync_val_compare_and_swap_##WIDTH): Likewise.
      	(__sync_bool_compare_and_swap_##WIDTH): Likewise.
      	(__sync_lock_test_and_set_##WIDTH): Likewise.
      	(__sync_lock_release_##WIDTH): Likewise.
      	(__sync_fetch_and_##OP##_4): Change result to match type of
      	__kernel_cmpxchg.
      	(__sync_##OP##_and_fetch_4): Likewise.
      	(__sync_val_compare_and_swap_4): Likewise.
      	(__sync_bool_compare_and_swap_4): likewise.
      	(__sync_lock_test_and_set_4): Likewise.
      	(__sync_lock_release_4): Likewise.
      	(FETCH_AND_OP_2): Add long long variants.
      	(OP_AND_FETCH_2): Likewise.
      	(COMPARE_AND_SWAP_2 ): Likewise.
      	(SYNC_LOCK_TEST_AND_SET_2): Likewise.
      	(SYNC_LOCK_RELEASE_2): Likewise.
      	(__sync_bool_compare_and_swap_##WIDTH): Correct return.
      
      From-SVN: r228065
      John David Anglin committed
    • re PR go/67695 (Please improve POSIX shell compatibility of libgo/mksysinfo.sh) · 9f59bddf
      	PR go/67695
          mksysinfo.sh: Use = with test rather than ==.
          
          Fixes GCC PR 67695.
      
          Reviewed-on: https://go-review.googlesource.com/14858
      
      From-SVN: r228064
      Ian Lance Taylor committed
    • Fix small typos in the coding rule enforcement warnings. · 99474f81
      /cp
      2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Fix small typos in the coding rule enforcement warnings.
      	* parser.c (cp_parser_namespace_definition): Replace 'namepace'
      	with 'namespace'.
      
      /testsuite
      2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Fix small typos in the coding rule enforcement warnings.
      	* g++.dg/diagnostic/disable.C: Replace 'namepace'
      	with 'namespace'.
      
      From-SVN: r228061
      Ville Voutilainen committed
    • Fix --enable-offload-targets/-foffload handling, pt. 2 · a9c23810
      	gcc/
      	* gcc.c (handle_foffload_option): Don't lose the trailing NUL
      	character when appending to offload_targets.
      
      From-SVN: r228054
      Thomas Schwinge committed
    • Fix --enable-offload-targets/-foffload handling, pt. 1 · 64186aad
      	gcc/
      	* configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
      	offload targets by commas, not colons.
      	* config.in: Regenerate.
      	* configure: Likewise.
      	* gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
      	instead of setting up the default offload targets here...
      	(process_command): ..., do it here.
      	libgomp/
      	* plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
      	targets are separated by commas.
      	* config.h.in: Regenerate.
      
      From-SVN: r228053
      Thomas Schwinge committed
    • Refactor omp_reduction_init: omp_reduction_init_op · f2c9f71d
      	gcc/
      	* omp-low.h (omp_reduction_init_op): Declare.
      	* omp-low.c (omp_reduction_init_op): New, broken out of ...
      	(omp_reduction_init): ... here.  Call it.
      	* tree-parloops.c (initialize_reductions): Use
      	omp_reduction_init_op.
      
      Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
      
      From-SVN: r228052
      Thomas Schwinge committed
    • re PR middle-end/67662 (-fsanitize=undefined cries wolf for X - 1 + X when X is 2**30) · ef537cc8
      2015-09-23   Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/67662
      	* fold-const.c (fold_binary_loc): Do not reassociate two vars with
      	undefined overflow unless they will cancel out.
      
      	* gcc.dg/ubsan/pr67662.c: New testcase.
      
      From-SVN: r228051
      Richard Biener committed
    • AVX-512. Fix emit in '*<mshift><mode>3' pattern. · 9e07d08d
      gcc/
      	 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
      	 insn emit.
      
      From-SVN: r228050
      Kirill Yukhin committed
    • [c-family/49654/49655] reject invalid options in pragma diagnostic · c1822f9c
      Use find_opt instead of linear search through options in
      handle_pragma_diagnostic (PR 49654) and reject non-warning options and
      options not valid for the current language (PR 49655).
      
      gcc/testsuite/ChangeLog:
      
      2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/49655
      	* gcc.dg/pragma-diag-6.c: New test.
      
      gcc/ChangeLog:
      
      2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/49655
      	* opts.h (write_langs): Declare.
      	* opts-global.c (write_langs): Make it extern.
      
      gcc/c-family/ChangeLog:
      
      2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/49654
      	PR c/49655
      	* c-pragma.c (handle_pragma_diagnostic): Detect non-warning
      	options and options not valid for the current language.
      
      From-SVN: r228049
      Manuel López-Ibáñez committed
    • re PR target/67391 ([SH] Convert clrt addc to normal add insn) · 9ea4e88f
      gcc/
      	PR target/67391
      	* config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping
      	regs when matching the pattern.
      
      From-SVN: r228046
      Oleg Endo committed
    • [AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics. · d5d27976
      gcc/
      
      	* config/aarch64/aarch64-simd.md
      	(aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
      	(aarch64_float_truncate_hi_v4sf_le): New.
      	(aarch64_float_truncate_hi_v4sf_be): Likewise.
      
      gcc/testsuite/
      
      	* gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New.
      
      From-SVN: r228044
      James Greenhalgh committed
    • Limit number of symlinks that canonical() will resolve · 07dc170b
      	* src/filesystem/ops.cc (canonical): Simplify error handling and
      	limit number of symlinks that can be resolved.
      
      From-SVN: r228043
      Jonathan Wakely committed
    • Fix semantics of Filesystem TS directory iterators · 429ee11a
      [class.directory_iterator] p4 and [directory_iterator.members] p4
      require that only the default constructor and ignored permission denied
      errors can create the end iterator.
      
      	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
      	prefix from HAVE_STRUCT_DIRENT_D_TYPE.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      	* include/experimental/fs_dir.h (operator==, operator==):
      	Use owner_before instead of pointer equality.
      	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
      	* src/filesystem/dir.cc (ErrorCode): Remove.
      	(_Dir::advance): Change ErrorCode parameter to error_code*, add
      	directory_options parameter and check it on error.
      	(opendir): Rename to open_dir to avoid clashing with macro. Change
      	ErrorCode parameter to error_code*.
      	(make_shared_dir): Remove.
      	(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
      	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
      	(directory_iterator(const path&, directory_options, error_code*)):
      	Pass options to _Dir::advance and create non-end iterator on error.
      	(recursive_directory_iterator(const path&, directory_options,
      	error_code*)): Clear error_code on ignored error, create non-end
      	iterator otherwise.
      	(recursive_directory_iterator::increment): Pass _M_options to
      	_Dir::advance.
      	(recursive_directory_iterator::pop): Likewise.
      	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
      	New.
      	* testsuite/experimental/filesystem/iterators/
      	recursive_directory_iterator.cc: New.
      
      From-SVN: r228042
      Jonathan Wakely committed
    • Fix filesystem::create_directories() function · 36670311
      	* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
      	(create_directories): Fix error handling.
      	* testsuite/experimental/filesystem/operations/create_directories.cc:
      	New.
      
      From-SVN: r228041
      Jonathan Wakely committed
    • tree-ssa-structalias.c (intra_create_variable_infos): Build representatives for… · be6e26f9
      tree-ssa-structalias.c (intra_create_variable_infos): Build representatives for all restrict qualified pointer destinations.
      
      2015-09-23  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (intra_create_variable_infos): Build
      	representatives for all restrict qualified pointer destinations.
      
      	* g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.
      
      From-SVN: r228040
      Richard Biener committed
    • AVX-512. Add kshift[lr][bwdq]. Fix iterator. · 40f1d2ab
      gcc/
      	* config/i386/i386.md (define_code_attr mshift): New.
      	(define_mode_iterator SWI1248_AVX512BW): Rename ...
      	(SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
      	only.
      	(define_insn "*k<logic><mode>"): Use new iterator name.
      	(define_insn "*<mshift><mode>3"): New.
      
      From-SVN: r228034
      Kirill Yukhin committed
    • Fix use of valgrind API · 0c6126b4
      gcc/
      	PR middle-end/67649
      	* memory-block.h (memory_block_pool::allocate): Use valgrind API to
      	mark the block as accessible.
      
      From-SVN: r228033
      Mikhail Maltsev committed
    • Daily bump. · dbfc22a4
      From-SVN: r228031
      GCC Administrator committed
  3. 22 Sep, 2015 1 commit
    • Fix -Wmisleading-indentation false-positive · d5398058
      gcc/c-family/ChangeLog:
      
      	* c-indentation.c (should_warn_for_misleading_indentation):
      	Float out and consolidate the calls to get_visual_column that
      	are passed guard_exploc as an argument.  Compare
      	next_stmt_vis_column with guard_line_first_nws instead of with
      	body_line_first_nws.
      
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/Wmisleading-indentation.c: Augment test.
      
      From-SVN: r228027
      Patrick Palka committed