1. 05 Dec, 2013 15 commits
    • c-common.c (c_sizeof_or_alignof_type): Move a declaration into [ADJUST_FIELD_ALIGN]. · 9e36c9ed
      2013-12-05  Marek Polacek  <polacek@redhat.com>
      
      c-family/
      	* c-common.c (c_sizeof_or_alignof_type): Move a declaration into
      	[ADJUST_FIELD_ALIGN].
      
      From-SVN: r205705
      Marek Polacek committed
    • atomic_stack.c: New test. · 85826504
      2013-12-05  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* c-c++-common/tsan/atomic_stack.c: New test.
      	* c-c++-common/tsan/fd_pipe_race.c: New test.
      	* c-c++-common/tsan/free_race.c: New test.
      	* c-c++-common/tsan/mutexset1.c: New test.
      	* c-c++-common/tsan/race_on_barrier.c: New test.
      	* c-c++-common/tsan/sleep_sync.c: New test.
      	* c-c++-common/tsan/thread_leak.c: New test.
      	* c-c++-common/tsan/thread_leak1.c: New test.
      	* c-c++-common/tsan/thread_leak2.c: New test.
      	* c-c++-common/tsan/tiny_race.c: New test.
      	* c-c++-common/tsan/tls_race.c: New test.
      	* c-c++-common/tsan/write_in_reader_lock.c: New test.	
      	* lib/tsan-dg.exp: New file.
      	* gcc.dg/tsan/tsan.exp: New file.
      	* g++.dg/tsan/tsan.exp: New file.
      	* g++.dg/dg.exp: Prune tsan subdirectory.
      
      From-SVN: r205704
      Max Ostapenko committed
    • i386.c (IX86_BUILTIN_READ_FLAGS): New. · 9bbd48d1
      ChangeLog/
              * config/i386/i386.c(IX86_BUILTIN_READ_FLAGS): New.
      	(IX86_BUILTIN_WRITE_FLAGS): Ditto.
      	(ix86_init_mmx_sse_builtins): Define
      	__builtin_ia32_writeeflags_u32, __builtin_ia32_writeeflags_u64,
      	__builtin_ia32_readeflags_u32, __builtin_ia32_readeflags_u64.
      	(ix86_expand_builtin): Expand them.
      	* config/i386/ia32intrin.h (__readeflags): New.
      	(__writeeflags): Ditto.
      	* gcc/config/i386/i386.md (*pushfl<mode>): Ditto.
      	(*popfl<mode>1): Ditto.
      
      testsuite/ChangeLog/
              * gcc.target/i386/readeflags-1.c: New.
              * gcc.target/i386/writeeflags-1.c: Ditto.
      
      From-SVN: r205703
      Kirill Yukhin committed
    • Add forgotten file. · 46db94aa
      From-SVN: r205701
      Jakub Jelinek committed
    • libsanitizer merge from upstream r196489 · c4c16f74
      From-SVN: r205700
      Kostya Serebryany committed
    • re PR sanitizer/59369 (c-c++-common/asan/pr59063-[1,2].c fails on darwin) · 022351a2
      2013-12-05  Yury Gribov  <y.gribov@samsung.com>
      
      	PR sanitizer/59369
      	* c-c++-common/asan/pr59063-1.c: Disable on non-Linux platforms.
      	* c-c++-common/asan/pr59063-2.c: Likewise.
      
      From-SVN: r205699
      Yury Gribov committed
    • re PR sanitizer/59368 (libsanitizer spec file installed in the wrong place) · 666ee4d6
      2013-12-05  Yury Gribov  <y.gribov@samsung.com>
      
      	PR sanitizer/59368
      	* Makefile.am (gcc_version): Added gcc_version.
      	* Makefile.in: Regenerate.
      
      From-SVN: r205698
      Yury Gribov committed
    • decl.c (duplicate_decls): Replace pairs of errors and permerrors with error +… · 23644e8c
      decl.c (duplicate_decls): Replace pairs of errors and permerrors with error + inform (permerror + inform...
      
      /cp
      2013-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (duplicate_decls): Replace pairs of errors and permerrors
      	with error + inform (permerror + inform, respectively).
      
      /testsuite
      2013-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/constexpr-46336.C: Adjust expected messages.
      	* g++.dg/cpp0x/defaulted2.C: Likewise.
      	* g++.dg/cpp1y/auto-fn8.C: Likewise.
      	* g++.dg/gomp/udr-3.C: Likewise.
      	* g++.dg/lookup/extern-c-redecl5.C: Likewise.
      	* g++.dg/lookup/linkage1.C: Likewise.
      	* g++.dg/overload/new1.C: Likewise.
      	* g++.dg/parse/friend5.C: Likewise.
      	* g++.dg/parse/namespace-alias-1.C: Likewise.
      	* g++.dg/parse/namespace10.C: Likewise.
      	* g++.dg/parse/redef2.C: Likewise.
      	* g++.dg/template/friend44.C: Likewise.
      	* g++.old-deja/g++.brendan/crash42.C: Likewise.
      	* g++.old-deja/g++.brendan/crash52.C: Likewise.
      	* g++.old-deja/g++.brendan/crash55.C: Likewise.
      	* g++.old-deja/g++.jason/overload21.C: Likewise.
      	* g++.old-deja/g++.jason/overload5.C: Likewise.
      	* g++.old-deja/g++.jason/redecl1.C: Likewise.
      	* g++.old-deja/g++.law/arm8.C: Likewise.
      	* g++.old-deja/g++.other/main1.C: Likewise.
      
      From-SVN: r205697
      Paolo Carlini committed
    • re PR tree-optimization/56787 (Vectorization fails because of CLOBBER statements) · fd9cf409
      2013-12-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/56787
      	* gcc.dg/vect/pr56787.c: Adjust to not require vector float
      	division.
      
      From-SVN: r205696
      Richard Biener committed
    • libsanitizer merge from upstream r196090 · df77f0e4
      From-SVN: r205695
      Kostya Serebryany committed
    • re PR tree-optimization/59374 (-ftree-slp-vectorize breaks unique_ptr's move constructor) · 649d196d
      2013-12-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/59374
      	* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
      	Commonize known and unknown dependence case fixing the allowed
      	read-write dependence case and dropping code that should not
      	matter.
      
      	* gcc.dg/torture/pr59374-1.c: New testcase.
      	* gcc.dg/torture/pr59374-2.c: Likewise.
      
      From-SVN: r205694
      Richard Biener committed
    • ia64.md (prologue_allocate_stack): Block auto- generation of predicated version. · 9eb8c09f
      ChangeLog/
      
              * config/ia64/ia64.md (prologue_allocate_stack): Block auto-
              generation of predicated version.
              (epilogue_deallocate_stack): Ditto.
              (prologue_allocate_stack_pr): Add explicit predicated version.
              (epilogue_deallocate_stack_pr): Ditto.
              * config/ia64/ia64.c (ia64_single_set): Use explicit versions.
      
      testsuite/ChangeLog/
      
              * gcc.target/ia64/pr52731.c: New.
      
      From-SVN: r205692
      Kirill Yukhin committed
    • * configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for · c012dc48
      	build != host.
      	<recursive call for build != host>: Clear GMPINC.  Don't bother
      	saving CFLAGS.
      
      From-SVN: r205690
      Alan Modra committed
    • common.opt: Split up -fisolate-erroneous-paths into -fisolate-erroneous-paths-dereference... · ae93744d
      	* common.opt: Split up -fisolate-erroneous-paths into
      	-fisolate-erroneous-paths-dereference and
      	-fisolate-erroneous-paths-attribute.
      	* invoke.texi: Corresponding changes.
      	* gimple.c (infer_nonnull_range):  Add and use new arguments
      	to control what kind of statements can be used to infer a
      	non-null range.
      	* gimple.h (infer_nonnull_range): Update prototype.
      	* tree-vrp.c (infer_value_range): Corresponding changes.
      	* opts.c (default_options_table): Update due to option split.
      	* gimple-ssa-isolate-paths.c: Fix trailing whitespace.
      	(find_implicit_erroneous_behaviour): Pass additional arguments
      	to infer_nonnull_range.
      	(find_explicit_erroneous_behaviour): Similarly.
      	(gate_isolate_erroneous_paths): Check both of the new
      	options.
      
      testsuite/
      
      	* gcc.dg/pr38984.c: Use -fno-isolate-erroneous-paths-dereference.
      	* gcc.dg/tree-ssa/isolate-2.c: Explicitly turn on
      	-fisolate-erroneous-paths-attribute.
      	* gcc.dg/tree-ssa/isolate-4.c: Likewise.
      
      From-SVN: r205689
      Jeff Law committed
    • Daily bump. · 97d7fffa
      From-SVN: r205688
      GCC Administrator committed
  2. 04 Dec, 2013 21 commits
    • re PR c/52023 ([C11] _Alignof (double) yields wrong value on x86) · 296674db
      	PR c/52023
      c-family:
      	* c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
      	and check field alignment if set.
      	* c-common.h (c_sizeof_or_alignof_type): Update prototype.
      	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
      
      c:
      	* c-parser.c (c_parser_alignas_specifier): Use
      	c_sizeof_or_alignof_type instead of c_alignof.
      	(c_parser_alignof_expression): Likewise, with min_alignof
      	parameter depending on alignof spelling used.
      
      cp:
      	* typeck.c (cxx_sizeof_or_alignof_type): Update call to
      	c_sizeof_or_alignof_type.
      
      objc:
      	* objc-act.c (objc_synthesize_getter): Update calls to
      	c_sizeof_or_alignof_type.
      
      testsuite:
      	* gcc.dg/c11-align-6.c: New test.
      
      From-SVN: r205685
      Joseph Myers committed
    • Implement -fsanitize=signed-integer-overflow. · 31e071ae
      From-SVN: r205684
      Marek Polacek committed
    • * expr.c (expand_assignment): Update comments. · 59b6687c
      From-SVN: r205683
      Jeff Law committed
    • re PR ada/59382 (gnatmake is not able to compile libraries) · ff6c0ead
      	PR ada/59382
      gnattools/
      	* configure.ac (target parameterization): Rewrite.
      	* configure: Regenerate.
      gcc/ada/
      	* indepsw-darwin.adb: New file.
      
      From-SVN: r205681
      Eric Botcazou committed
    • re PR c/54113 (-Wmissing-prototypes produces false alarms for C99 inline functions) · edd28054
      	PR c/54113
      c/
      	* c-decl.c (start_function): Don't warn for missing prototype for
      	inline functions.
      testsuite/
      	* gcc.dg/pr54113.c: New test.
      
      From-SVN: r205680
      Marek Polacek committed
    • re PR debug/37132 (Debug: No DW_TAG_namelist emitted for NAMELISTS) · 5f673c6a
      gcc/
      2013-12-04  Tobias Burnus  <burnus@net-b.de>
      
              PR debug/37132
              * lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref.
              * tree.def (NAMELIST_DECL): Add.
              * tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro.
              * tree.c (initialize_tree_contains_struct): Add asserts for it.
              * dwarf2out.c (gen_namelist_decl): New function.
              (gen_decl_die, dwarf2out_decl): Call it.
              (dwarf2out_imported_module_or_decl_1): Handle NAMELIST_DECL.
              * lto-streamer-in.c (lto_input_tree_ref): Handle NAMELIST_DECL.
              (lto_input_tree_ref, lto_input_tree_1): Update lto_tag_check_range
              call.
              * lto-streamer-out.c (lto_output_tree_ref): Handle
              * NAMELIST_DECL.
      
      gcc/fortran
      2013-12-04  Tobias Burnus  <burnus@net-b.de>
      
              PR debug/37132
              * trans-decl.c (generate_namelist_decl, create_module_nml_decl):
              New static functions.
              (gfc_generate_module_vars, generate_local_vars): Call them.
              (gfc_trans_use_stmts): Handle namelists for debug genertion.
      
      From-SVN: r205679
      Tobias Burnus committed
    • Update changed bit when constraint set changes · 4f6843aa
      From-SVN: r205677
      Xinliang David Li committed
    • * ChangeLog: Fix whitespace. · d80608d0
      From-SVN: r205676
      Uros Bizjak committed
    • re PR c++/59268 ([c++11] ICE with constexpr in a virtual function) · 565839ae
      	PR c++/59268
      	* pt.c (tsubst_copy_and_build): Handle POINTER_PLUS_EXPR.
      
      	* g++.dg/cpp0x/constexpr-template6.C: New test.
      
      From-SVN: r205674
      Jakub Jelinek committed
    • Put a breakpoint on __asan_report_error for ASAN · 3bd7b086
      	* configure.ac: Append gdbasan.in to .gdbinit if CFLAGS contains
      	-fsanitize=address.
      	* configure: Regenerated.
      
      	* gdbasan.in: New file.
      
      From-SVN: r205669
      H.J. Lu committed
    • bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for architectures that do not have… · ecd78fc9
      bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for architectures that do not have hardware divide instruction.
      
      2013-12-04  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* config/arm/bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for
      	architectures that do not have hardware divide instruction.
      	i.e. architectures that do not define __ARM_ARCH_EXT_IDIV__.
      
      From-SVN: r205666
      Kugan Vivekanandarajah committed
    • decl.c (components_to_record): Add specific handling for fields with zero size… · 6bc8df24
      decl.c (components_to_record): Add specific handling for fields with zero size and no representation clause.
      
      	* gcc-interface/decl.c (components_to_record): Add specific handling
      	for fields with zero size and no representation clause.
      
      From-SVN: r205665
      Eric Botcazou committed
    • re PR rtl-optimization/58726 (wrong code at -Os on x86_64-linux-gnu (affecting… · 5bf51f2f
      re PR rtl-optimization/58726 (wrong code at -Os on x86_64-linux-gnu (affecting trunk/4.7/4.6, but not 4.8))
      
      	PR rtl-optimization/58726
      	* combine.c (force_to_mode): Fix comment typo.  Don't destructively
      	modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
      
      	* gcc.c-torture/execute/pr58726.c: New test.
      
      From-SVN: r205664
      Jakub Jelinek committed
    • re PR target/59163 (program compiled with g++ -O3 segfaults) · 77381ee7
      	PR target/59163
      	* config/i386/i386.c (ix86_legitimate_combined_insn): If for
      	!TARGET_AVX there is misaligned MEM operand with vector mode
      	and get_attr_ssememalign is 0, return false.
      	(ix86_expand_special_args_builtin): Add get_pointer_alignment
      	computed alignment and for non-temporal loads/stores also
      	at least GET_MODE_ALIGNMENT as MEM_ALIGN.
      	* config/i386/sse.md
      	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
      	<sse>_storeu<ssemodesuffix><avxsizesuffix>,
      	<sse2_avx_avx512f>_loaddqu<mode><mask_name>,
      	<sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
      	sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
      	sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
      	*vec_interleave_highv2df, *vec_interleave_lowv2df,
      	*vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
      	sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
      	sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
      	sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
      	sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
      	sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
      	sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
      	* config/i386/i386.md (ssememalign): New define_attr.
      
      	* g++.dg/torture/pr59163.C: New test.
      
      From-SVN: r205663
      Jakub Jelinek committed
    • trans.c (Case_Statement_to_gnu): Do not push a binding level for each branch if... · a1d7a124
      	* gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding
      	level for each branch if this is a case expression in Ada 2012.
      	(gnat_to_gnu) <case N_Expression_With_Actions>: Adjust comment.
      
      From-SVN: r205662
      Eric Botcazou committed
    • re PR target/59163 (program compiled with g++ -O3 segfaults) · f220a4f4
      	PR target/59163
      	* config/i386/i386.c (ix86_legitimate_combined_insn): If for
      	!TARGET_AVX there is misaligned MEM operand with vector mode
      	and get_attr_ssememalign is 0, return false.
      	(ix86_expand_special_args_builtin): Add get_pointer_alignment
      	computed alignment and for non-temporal loads/stores also
      	at least GET_MODE_ALIGNMENT as MEM_ALIGN.
      	* config/i386/sse.md
      	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
      	<sse>_storeu<ssemodesuffix><avxsizesuffix>,
      	<sse2_avx_avx512f>_loaddqu<mode><mask_name>,
      	<sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
      	sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
      	sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
      	*vec_interleave_highv2df, *vec_interleave_lowv2df,
      	*vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
      	sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
      	sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
      	sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
      	sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
      	sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
      	sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
      	* config/i386/i386.md (ssememalign): New define_attr.
      
      	* g++.dg/torture/pr59163.C: New test.
      
      Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
      
      From-SVN: r205661
      Jakub Jelinek committed
    • longlong.h: New file. · b21fbbd2
      include/
      	* longlong.h: New file.
      
      libgcc/
      	* longlong.h: Delete (moved to include/).
      
      libquadmath/
      	* Makefile.am (AM_CPPFLAGS): Define.
      	* Makefile.in: Regenerate.
      	* printf/gmp-impl.h: Remove path from longlong.h include.
      
      From-SVN: r205659
      Richard Sandiford committed
    • re PR tree-optimization/59355 (ICE: SIGSEGV in hash_table::find_slot_with_hash()… · a88bf705
      re PR tree-optimization/59355 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fno-devirtualize)
      
      	PR tree-optimization/59355
      	* ipa-devirt.c (gate_ipa_devirt): Return false if
      	!flag_devirtualize.
      	* opts.c (common_handle_option): Fix comment spelling.
      
      	* g++.dg/ipa/pr59355.C: New test.
      
      From-SVN: r205656
      Jakub Jelinek committed
    • gimple-ssa-strength-reduction.c: Include tree-affine.h. · 96d75a2c
      gcc/
      
      	* gimple-ssa-strength-reduction.c: Include tree-affine.h.
      	(name_expansions): New static variable.
      	(alt_base_map): Ditto.
      	(get_alternative_base): New function.
      	(find_basis_for_candidate): For CAND_REF, optionally call
      	find_basis_for_base_expr with the returned value from
      	get_alternative_base.
      	(record_potential_basis): Add new parameter 'base' of type 'tree';
      	add an assertion of non-NULL base; use base to set node->base_expr.
      	(alloc_cand_and_find_basis): Update; call record_potential_basis
      	for CAND_REF with the returned value from get_alternative_base.
      	(replace_refs): Dump details on the replacing.
      	(execute_strength_reduction): Call pointer_map_create for
      	alt_base_map; call free_affine_expand_cache with &name_expansions.
      
      gcc/testsuite/
      
      	* gcc.dg/tree-ssa/slsr-39.c: Update.
      	* gcc.dg/tree-ssa/slsr-41.c: New test.
      
      From-SVN: r205655
      Yufeng Zhang committed
    • runtime: Use pthread_sigmask instead of sigprocmask. · 50312b2f
      From-SVN: r205652
      Ian Lance Taylor committed
    • Daily bump. · 49248404
      From-SVN: r205651
      GCC Administrator committed
  3. 03 Dec, 2013 4 commits