1. 24 Sep, 2015 15 commits
  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 6 commits
    • 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
    • shrink-wrap: Handle multiple predecessors of prologue · 6c98d499
      The caller of try_shrink_wrapping wants to be returned a single edge to
      put the prologue on.  To make that work even if there are multiple edges
      (all pointing to the PRO block) that need the prologue, add a new block
      that becomes the destination of all such edges, and then jumps to PRO.
      
      In the general case, some edges to PRO will need to be redirected, and
      not all edges *can* be redirected.  This adds a can_get_prologue function
      that detects such cases.  This then happily can also handle the "prologue
      clobbers some reg that is live on the edge we want to insert it on" case.
      
      Not all EDGE_CROSSING edges can be redirected, so handle those the same
      as EDGE_COMPLEX edges.
      
      
      2015-09-22  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* function.c (thread_prologue_and_epilogue_insns): Delete
      	orig_entry_edge argument to try_shrink_wrapping.
      	* shrink-wrap.c (can_get_prologue): New function.
      	(can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
      	(try_shrink_wrapping): Delete orig_entry_edge argument.  Use
      	can_get_prologue where needed.  Remove code that finds a single
      	edge for the prologue.  Remove code that tests if any reg clobbered
      	by the prologue is live on the prologue edge.  Remove code that finds
      	the new prologue edge after duplicating blocks.  Make a new prologue
      	block and edge.
      	* shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
      
      From-SVN: r228022
      Segher Boessenkool committed
    • [PATCH] Remove undefined behaviour from hppa backend · 50fa47d9
      	* config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT: Avoid undefined
      	behavior.
      
      From-SVN: r228021
      Jeff Law committed
    • c.opt (Wmultiple-inheritance, [...]): New C++ warnings. · 6b333269
      	c-family/
      	* c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
      	Wnamespaces): New C++ warnings.
      
      	cp/
      	* decl.c (xref_basetypes): Check virtual and/or multiple
      	inheritance warning.
      	* parser.c (cp_parser_namespace_definition): Check namespaces
      	warning.
      	* pt.c (push_template_decl_real): Check templates warning.
      
      	* doc/invoke.texi  (-Wmultiple-inheritance, -Wvirtual-inheritance,
      	-Wtemplates, -Wnamespaces): Document.
      
      	testsuite/
      	* g++.dg/diagostic/disable.C: New.
      
      From-SVN: r228019
      Nathan Sidwell committed
    • Disconnect -Wabi=<n> from -fabi-compat-version=<n>. · a75f1574
      gcc/c-family/
      	* c-common.h (abi_compat_version_crosses): New.
      	(warn_abi_version): Declare.
      	* c-common.c: Define it.
      	* c-opts.c (c_common_post_options): Handle it.
      	flag_abi_compat_version defaults to 8.
      gcc/cp/
      	* mangle.c (abi_warn_or_compat_version_crosses): New.
      	Use it instead of abi_version_crosses.
      	(mangle_decl): Deal with -fabi-compat-version and -Wabi separately.
      
      From-SVN: r228017
      Jason Merrill committed
    • Handle restrict pointer references as restrict in AA · 8013b816
      2015-09-22  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/67671
      	* tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
      	pointer references as restrict.
      
      	* g++.dg/pr67671.C: New test.
      
      From-SVN: r228015
      Tom de Vries committed