1. 07 Oct, 2016 2 commits
  2. 06 Oct, 2016 19 commits
  3. 05 Oct, 2016 19 commits
    • Implement P0135R1, Guaranteed copy elision. · bf9b09fb
      	* cvt.c (ocp_convert): Don't re-copy a TARGET_EXPR in C++17.
      
      From-SVN: r240820
      Jason Merrill committed
    • PR c++/54293 - binding reference to member of temporary · 5794b9f6
      	* call.c (reference_binding): Fix binding to member of temporary.
      
      From-SVN: r240819
      Jason Merrill committed
    • * call.c (extend_ref_init_temps): Fix TARGET_EXPR handling. · 27afd940
      From-SVN: r240818
      Jason Merrill committed
    • Delete x86 deprecated pcommit instruction support · eee8f0b0
      Delete x86 pcommit instruction support, which has been deprecated:
      
      https://software.intel.com/en-us/blogs/2016/09/12/deprecate-pcommit-instruction
      
      gcc/
      
      	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
      	OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
      	(ix86_handle_option): Deleted handle of OPT_mpcommit.
      	* config.gcc: Deleted pcommitintrin.h
      	* config/i386/pcommitintrin.h: Deleted file.
      	* config/i386/cpuid.h (bit_PCOMMIT): Deleted.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
      	detection.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
      	__PCOMMIT__.
      	* config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
      	(PTA_PCOMMIT): Deleted define.
      	(ix86_option_override_internal): Deleted handle of option.
      	(ix86_valid_target_attribute_inner_p): Deleted pcommit.
      	* config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT,
      	__builtin_ia32_pcommit): Deleted.
      	* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
      	* config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
      	(pcommit): Deleted instruction.
      	* config/i386/i386.opt: Mention -mpcommit deprecation.
      	* config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
      
      gcc/testsuite/
      
      	* gcc.target/i386/pcommit-1.c: Deleted.
      	* gcc.target/i386/sse-12.c: Deleted -pcommit option.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-14.c: Ditto.
      	* gcc.target/i386/sse-22.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* g++.dg/other/i386-2.C: Ditto.
      
      From-SVN: r240816
      Andrew Senkevich committed
    • pr77833.c: Require int128 effective target. · b48042bb
      	* gcc.target/i386/pr77833.c: Require int128 effective target.
      
      From-SVN: r240815
      Uros Bizjak committed
    • re PR target/77874 (two problems with gcc.target/i386/avx-1.c) · c6173393
      	PR target/77874
      	* config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
      	Remove wrong assert.
      	(<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
      	Use <round_constraint> as operand 1 constraint.
      
      From-SVN: r240814
      Uros Bizjak committed
    • re PR fortran/58991 (ICE with associate and character string constant) · 50b01e1d
      2016-10-05  Steven G. Kargl  <kargls@gcc.gnu.org>
      
      	PR fortran/58991
      	PR fortran/58992
      	* resolve.c (resolve_assoc_var):  Fix CHARACTER type-spec for a
      	selector in ASSOCIATE.
      	(resolve_fl_variable): Skip checks for an ASSOCIATE variable.
      
      
      2016-10-05  Steven G. Kargl  <kargls@gcc.gnu.org>
      
      	PR fortran/58991
      	PR fortran/58992
      	* gfortran.dg/associate_22.f90: New test.
      
      From-SVN: r240812
      Steven G. Kargl committed
    • Fix ICE due to comparison between UNION components. · 908b8296
      2016-10-05  Fritz Reese  <fritzoreese@gmail.com>
      
      Fix ICE due to comparison between UNION components.
      
      	gcc/fortran/
      	* interface.c (gfc_compare_types): Don't compare BT_UNION components
      	until we know they're both UNIONs.
      	* interface.c (gfc_compare_union_types): Guard against empty
      	components.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_union_9.f90: New testcase.
      	* dec_union_10.f90: New testcase.
      
      From-SVN: r240810
      Fritz Reese committed
    • Fix last commit. · f8b6a488
      From-SVN: r240806
      Marek Polacek committed
    • re PR sanitizer/66343 ("Error: .Lubsan_type3 already defined" with UBSan and precompiled headers) · 2e69f143
      	PR sanitizer/66343
      	* ubsan.c (ubsan_create_data): Call initialize_sanitizer_builtins here.
      	(ubsan_instrument_float_cast): And not here.
      
      	* c-ubsan.c (ubsan_instrument_return): Don't call
      	initialize_sanitizer_builtins here.
      
      	* gcc.dg/pch/pr66343-3.c: New test.
      	* gcc.dg/pch/pr66343-3.hs: New file.
      
      From-SVN: r240804
      Jakub Jelinek committed
    • re PR sanitizer/66343 ("Error: .Lubsan_type3 already defined" with UBSan and precompiled headers) · 87582521
      	PR sanitizer/66343
      	* ubsan.c (ubsan_ids): New GTY(()) array.
      	(ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
      	instead of static local counters.
      
      	* gcc.dg/pch/pr66343-1.c: New test.
      	* gcc.dg/pch/pr66343-1.hs: New file.
      	* gcc.dg/pch/pr66343-2.c: New test.
      	* gcc.dg/pch/pr66343-2.hs: New file.
      
      From-SVN: r240803
      Jakub Jelinek committed
    • MAINTAINERS: Update email address after it got reverted. · 2e21fd4d
      2016-10-05  Steve Ellcey  <sellcey@caviumnetworks.com>
      
      	* MAINTAINERS: Update email address after it got reverted.
      
      From-SVN: r240801
      Steve Ellcey committed
    • c-common.c (c_common_truthvalue_conversion): Warn also for suspicious… · 700fff34
      c-common.c (c_common_truthvalue_conversion): Warn also for suspicious conditional expression in boolean context when...
      
      2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
              conditional expression in boolean context when only one arm is
              non-boolean.
      
      testsuite:
      2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/Wint-in-bool-context.c: Update test.
      
      From-SVN: r240799
      Bernd Edlinger committed
    • Implement P0305R1, Selection statements with initializer. · 17a9e380
      	* cp-array-notation.c (create_an_loop): Call finish_init_stmt
      	instead of finish_for_init_stmt.
      	* cp-tree.h (finish_for_init_stmt): Rename to finish_init_stmt.
      	* decl.c (poplevel): Adjust a comment.
      	* init.c (build_vec_init): Call finish_init_stmt instead of
      	finish_for_init_stmt.
      	* name-lookup.c (pushdecl_maybe_friend_1): Adjust a comment.
      	* name-lookup.h (enum scope_kind): Likewise.
      	* parser.c (cp_parser_statement): Update commentary.
      	(cp_parser_init_statement_p): New function.
      	(cp_parser_selection_statement): Parse the optional init-statement.
      	(cp_parser_for): Call finish_init_stmt instead of finish_for_init_stmt.
      	(cp_parser_c_for): Likewise.
      	(cp_convert_range_for): Call finish_init_stmt instead of finish_for_init_stmt.
      	(cp_parser_range_for_member_function): Update commentary.
      	(cp_parser_iteration_statement):
      	(cp_parser_for_init_statement): Rename to cp_parser_init_statement.
      	* pt.c (tsubst_omp_for_iterator): Update commentary.
      	(tsubst_expr): Call finish_init_stmt instead of finish_for_init_stmt.
      	* semantics.c (finish_for_init_stmt): Rename to finish_init_stmt.
      	Update commentary.
      
      	* g++.dg/cpp1z/init-statement1.C: New test.
      	* g++.dg/cpp1z/init-statement2.C: New test.
      	* g++.dg/cpp1z/init-statement3.C: New test.
      	* g++.dg/cpp1z/init-statement4.C: New test.
      	* g++.dg/cpp1z/init-statement5.C: New test.
      	* g++.dg/cpp1z/init-statement6.C: New test.
      	* g++.dg/cpp1z/init-statement7.C: New test.
      	* g++.dg/cpp1z/init-statement8.C: New test.
      
      From-SVN: r240798
      Marek Polacek committed
    • re PR fortran/67524 (ICE on using implicit character instead of implicit none etc.) · 6e48e779
      2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/67524
      	* gfortran.dg/pr67524.f90: New test.
      
      2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/67524
      	* resolve.c (resolve_symbol): Don't apply default type rules to
      	mixed-entry master created for function entry points.
      
      From-SVN: r240797
      Louis Krupp committed
    • re PR sanitizer/77823 (ICE: in ubsan_encode_value, at ubsan.c:137 with… · 04a32443
      re PR sanitizer/77823 (ICE: in ubsan_encode_value, at ubsan.c:137 with -fsanitize=undefined and vector types)
      
      	PR sanitizer/77823
      	* c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
      	is not integral.
      
      	* c-c++-common/ubsan/shift-9.c: New test.
      
      From-SVN: r240796
      Jakub Jelinek committed
    • Fix pr69941.c test failure for avr · 743a9cf7
      The test assumes ints are atleast 32 bits wide. For the avr
      target, ints are 16 bits wide. This leads VRP to conclude
      that a right shift by 9 followed by an equality comparison 
      to 0x74 can never be true. VRP eliminates the conditional, and
      the code ends up unconditionally calling __builtin_abort.
      
      Fixed the testcase to use __INT32_TYPE__ for targets with less
      than 32 bit wide integers, wherever the size happens to be
      significant.
      
      gcc/testsuite/ChangeLog
      
      2016-10-05  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
              * gcc.dg/torture/pr69941.c: Use __INT32_TYPE__ instead
              of int if __SIZEOF_INT__ is less than 4 bytes.
      
      From-SVN: r240795
      Senthil Kumar Selvaraj committed