1. 05 Jan, 2017 1 commit
  2. 04 Jan, 2017 32 commits
    • re PR c++/64767 (Could GCC warn when a pointer is compared against '\0'?) · a9342885
      	PR c++/64767
      	* c.opt (Wpointer-compare): New option.
      
      	* c-parser.c (c_parser_postfix_expression): Mark zero character
      	constants by setting original_type in c_expr.
      	* c-typeck.c (parser_build_binary_op): Warn when a pointer is compared
      	with a zero character constant.
      	(char_type_p): New function.
      
      	* typeck.c (cp_build_binary_op): Warn when a pointer is compared with
      	a zero character literal.
      
      	* doc/invoke.texi: Document -Wpointer-compare.
      
      	* c-c++-common/Wpointer-compare-1.c: New test.
      
      From-SVN: r244076
      Marek Polacek committed
    • re PR c++/78949 (incorrect "unused variable" warning with SSE2) · abec4284
      	PR c++/78949
      	* typeck.c (cp_build_unary_op): Call mark_rvalue_use on arg if it has
      	vector type.
      
      	* c-c++-common/Wunused-var-16.c: New test.
      
      From-SVN: r244075
      Jakub Jelinek committed
    • re PR c++/78693 (Bogus 'inconsistent deduction for ‘auto’' error when having a… · 26c43e27
      re PR c++/78693 (Bogus 'inconsistent deduction for ‘auto’' error when having a dependent initializer and a nondependent one in the same declaration)
      
      	PR c++/78693
      	* parser.c (cp_parser_simple_declaration): Only complain about
      	inconsistent auto deduction if auto_result doesn't use auto.
      
      	* g++.dg/cpp0x/pr78693.C: New test.
      
      From-SVN: r244074
      Jakub Jelinek committed
    • optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without RejectNegative. · 742b1804
      	* optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
      	RejectNegative.
      
      From-SVN: r244073
      Jakub Jelinek committed
    • re PR driver/78957 (ICE: SIGSEGV with -fno-sso-struct=web) · fc73e60c
      	PR driver/78957
      	* c.opt (fsso-struct=): Add RejectNegative.
      
      	* gcc.dg/pr78957.c: New test.
      
      From-SVN: r244072
      Jakub Jelinek committed
    • parser.c (cp_parser_simple_declaration): Diagnose function declaration among… · c9cf3863
      parser.c (cp_parser_simple_declaration): Diagnose function declaration among more than one init-declarators with auto...
      
      	* parser.c (cp_parser_simple_declaration): Diagnose function
      	declaration among more than one init-declarators with auto
      	specifier.
      
      	* g++.dg/cpp1y/auto-fn34.C: New test.
      
      From-SVN: r244071
      Jakub Jelinek committed
    • re PR c++/71182 (parser.c cp_lexer_previous_token sanitizer detects member call on null pointer) · 066435fe
      	PR c++/71182
      	* parser.c (cp_lexer_previous_token): Use vec_safe_address in the
      	assertion, as lexer->buffer may be NULL.
      
      	* g++.dg/cpp0x/pr71182.C: New test.
      
      From-SVN: r244070
      Jakub Jelinek committed
    • dwarf2out.c (output_loc_list): Don't throw away 64K+ location descriptions for… · fb85f9d0
      dwarf2out.c (output_loc_list): Don't throw away 64K+ location descriptions for -gdwarf-5 and emit them as...
      
      	* dwarf2out.c (output_loc_list): Don't throw away 64K+ location
      	descriptions for -gdwarf-5 and emit them as uleb128 instead of
      	2-byte data.
      
      From-SVN: r244069
      Jakub Jelinek committed
    • re PR target/78056 (build failure on Power7) · 598bd687
      gcc/testsuite/ChangeLog:
      
      2017-01-04  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/78056
      	* gcc.target/powerpc/pr78056-1.c: New test.
      	* gcc.target/powerpc/pr78056-2.c: New test.
      	* gcc.target/powerpc/pr78056-3.c: New test.
      	* gcc.target/powerpc/pr78056-4.c: New test.
      	* gcc.target/powerpc/pr78056-5.c: New test.
      	* gcc.target/powerpc/pr78056-6.c: New test.
      	* gcc.target/powerpc/pr78056-7.c: New test.
      	* gcc.target/powerpc/pr78056-8.c: New test.
      	* lib/target-supports.exp
      	(check_effective_target_powerpc_popcntb_ok): New procedure to test
      	whether the effective target supports the popcntb instruction.
      
      gcc/ChangeLog:
      
      2017-01-04  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/78056
      	* doc/sourcebuild.texi (PowerPC-specific attributes): Add
      	documentation of the powerpc_popcntb_ok attribute.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
      	code to issue warning messages if a requested CPU configuration is
      	not supported by the binary (assembler and loader) toolchain.
      	(spe_init_builtins): Add two assertions to prevent ICE if attempt is
      	made to define a built-in function that has been disabled.
      	(paired_init_builtins): Add assertion to prevent ICE if attempt is
      	made to define a built-in function that has been disabled.
      	(altivec_init_builtins): Add comment explaining why definition
      	of the DST built-in functions is not preceded by an assertion
      	check.  Add assertions to prevent ICE if attempts are made to
      	define an altivec predicate or an abs* built-in function that has
      	been disabled.
      	(htm_init_builtins): Add comment explaining why definition of the
      	htm built-in functions is not preceded by an assertion check.
      
      From-SVN: r244068
      Kelvin Nilsen committed
    • re PR tree-optimization/67955 (tree-dse does not use pointer info) · 8194635a
      	PR tree-optimizatin/67955
      	* tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
      	Allow any SSA_VAR_P as the base objects.  Use integer_zerop.  Verify
      	the points-to solution does not include pt_null.  Use DECL_PT_UID
      	unconditionally.
      
      	PR tree-optimization/67955
      	* gcc.dg/tree-ssa/ssa-dse-28.c: New test.
      
      From-SVN: r244067
      Jeff Law committed
    • re PR c++/77545 (ICE on valid C++11 code: in potential_constant_expression_1, at… · baf9ebc8
      re PR c++/77545 (ICE on valid C++11 code: in potential_constant_expression_1, at cp/constexpr.c:5480)
      
      	PR c++/77545
      	PR c++/77284
      	* constexpr.c (potential_constant_expression_1): Handle CLEANUP_STMT.
      
      	* g++.dg/cpp0x/range-for32.C: New test.
      	* g++.dg/cpp0x/range-for33.C: New test.
      
      From-SVN: r244062
      Marek Polacek committed
    • C FE: implement fix-it hint for -Wmissing-braces · 5dd9a9d0
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_declaration_or_fndef): Create a
      	rich_location at init_loc and parse it to start_init.
      	(last_init_list_comma): New global.
      	(c_parser_braced_init): Update last_init_list_comma when parsing
      	commas.  Pass it to pop_init_level.  Pass location of closing
      	brace to pop_init_level.
      	(c_parser_postfix_expression_after_paren_type): Create a
      	rich_location at type_loc and parse it to start_init.
      	(c_parser_omp_declare_reduction): Likewise for loc.
      	* c-tree.h (start_init): Add rich_location * param.
      	(pop_init_level): Add location_t param.
      	* c-typeck.c (struct initializer_stack): Add field
      	"missing_brace_richloc".
      	(start_init): Add richloc param, use it to initialize
      	the stack node's missing_brace_richloc.
      	(last_init_list_comma): New decl.
      	(finish_implicit_inits): Pass last_init_list_comma to
      	pop_init_level.
      	(push_init_level): When finding missing open braces, add fix-it
      	hints to the richloc.
      	(pop_init_level): Add "insert_before" param and pass it
      	when calling pop_init_level.  Add fixits about missing
      	close braces to any richloc.  Use the richloc for the
      	-Wmissing-braces warning.
      	(set_designator): Pass last_init_list_comma to pop_init_level.
      	(process_init_element): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/Wmissing-braces-fixits.c: New test case.
      
      From-SVN: r244061
      David Malcolm committed
    • update-copyright.py (GCCCmdLine): Add include, libcc1, libiberty, libssp, libvtv… · d0a0bfd9
      update-copyright.py (GCCCmdLine): Add include, libcc1, libiberty, libssp, libvtv and lto-plugin to default_dirs.
      
      	* update-copyright.py (GCCCmdLine): Add include, libcc1, libiberty,
      	libssp, libvtv and lto-plugin to default_dirs.
      
      From-SVN: r244060
      Jakub Jelinek committed
    • Make MIPS soft-fp preserve NaN payloads for NAN2008. · fec5f4e0
      The MIPS sfp-machine.h has an _FP_CHOOSENAN implementation which
      emulates hardware semantics of not preserving signaling NaN payloads
      for an operation with two NaN arguments (although that doesn't suffice
      to avoid sNaN payload preservation in any case with just one NaN
      argument).
      
      However, those are only hardware semantics in the legacy NaN case; in
      the NAN2008 case, the architecture documentation says hardware
      preserves payloads in such cases.  Furthermore, this implementation
      assumes legacy NaN semantics, so in the NAN2008 case the
      implementation actually has the effect of preserving sNaN payloads but
      not preserving qNaN payloads, when both should be preserved.
      
      This patch fixes the code just to copy from the first argument (at the
      level of libgcc, it's not meaningful which argument is the first and
      which is the second).
      
      Tested for mips64-linux-gnu (soft float, NAN2008) with the glibc math/
      tests.
      
      	* config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN
      	payload if [__mips_nan2008].
      
      From-SVN: r244059
      Joseph Myers committed
    • i386.md (HI/SImode test with imm to QImode splitters): Use gen_int_mode instead… · 58adb11b
      i386.md (HI/SImode test with imm to QImode splitters): Use gen_int_mode instead of gen_lopwart for const_int operands.
      
      	* config/i386/i386.md (HI/SImode test with imm to QImode splitters):
      	Use gen_int_mode instead of gen_lopwart for const_int operands.
      
      From-SVN: r244058
      Uros Bizjak committed
    • PR78968 add configure check for __cxa_thread_atexit in libc · 2a792efe
      	PR libstdc++/78968
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* configure.ac: Check for __cxa_thread_atexit.
      	* libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
      	Don't define __cxa_thread_atexit if libc provides it.
      
      From-SVN: r244057
      Jonathan Wakely committed
    • re PR c++/66735 ([C++14] lambda init-capture fails for const references) · 4bf07f3f
      	cp/
      	PR c++/66735
      	* cp-tree.h (DECLTYPE_FOR_REF_CAPTURE): New.
      	(lambda_capture_field_type): Update prototype.
      	* lambda.c (lambda_capture_field_type): Add is_reference parm.
      	Add referenceness here.
      	(add_capture): Adjust lambda_capture_field_type call, refactor
      	error checking.
      	* pt.c (tsubst): Adjust lambda_capture_field_type call.
      
      	testsuite/
      	PR c++/66735
      	* g++.dg/cpp1y/pr66735.C: New.
      
      From-SVN: r244056
      Nathan Sidwell committed
    • [DWARF] New DWARF operation "DW_OP_AARCH64_operation" for AArch64 · 65793e42
      include/
      	* dwarf2.def (DW_OP_AARCH64_operation): Reserve the number 0xea.
      	(DW_CFA_GNU_window_save): Comments the multiplexing on AArch64.
      
      
      Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
      
      From-SVN: r244055
      Richard Earnshaw committed
    • Implement 2801, Default-constructibility of unique_ptr. · 13086769
      * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
      (unique_ptr::_DeleterConstraint): Likewise.
      (unique_ptr()): Constrain.
      (unique_ptr(pointer)): Likewise.
      (unique_ptr(nullptr_t)): Likewise.
      (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
      (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
      (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
      (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
      * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
      * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
      * testsuite/20_util/unique_ptr/cons/default.cc: New.
      * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
      
      From-SVN: r244054
      Ville Voutilainen committed
    • Update copyright years. · 2afd3180
      From-SVN: r244052
      Jakub Jelinek committed
    • Support exception propagation without lock-free atomic int · ed3cb497
      2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/64735
      	* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
      	* config.h.in: Regenerate.
      	* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
      	(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
      	exports for exception_ptr, nested_exception, and future conditional.
      	[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
      	exports for exception_ptr, nested_exception, and future conditional.
      	* configure: Regenerate.
      	* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
      	* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
      	* libsupc++/eh_atomics.h: New file for internal use only.
      	(__eh_atomic_inc, __eh_atomic_dec): New.
      	* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
      	(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
      	(rethrow_exception): Use eh_atomics.h reference counting helpers.
      	* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
      	* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
      	* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
      	* libsupc++/exception_ptr.h: Likewise.
      	* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
      	* libsupc++/nested_exception.cc: Remove check for
      	ATOMIC_INT_LOCK_FREE.
      	* libsupc++/nested_exception.h: Likewise.
      	* src/c++11/future.cc: Likewise.
      	* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
      	* testsuite/18_support/nested_exception/*: Likewise.
      	* testsuite/30_threads/async/*: Likewise.
      	* testsuite/30_threads/future/*: Likewise.
      	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/packaged_task/*: Likewise.
      	* testsuite/30_threads/promise/*: Likewise.
      	* testsuite/30_threads/shared_future/*: Likewise.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r244051
      Pauli Nieminen committed
    • re PR tree-optimization/71563 (Regression in GCC-7.0.0's optimizer.) · 165ba2e9
      	PR tree-optimization/71563
      	* match.pd: Simplify X << Y into X if Y is known to be 0 or
      	out of range value - has low bits known to be zero.
      
      	* gcc.dg/tree-ssa/pr71563.c: New test.
      
      From-SVN: r244050
      Jakub Jelinek committed
    • Update configure deps, remove stray \xA0 in picflag.m4, regenerate · 8f56cb51
      Also fix a stray changelog entry.  Some of the regen here is due to
      previous changes not being regenerated properly, in part due to the
      missing configure dependencies.
      
      	* configure: Regenerate.
      config/
      	* picflag.m4: Remove stray \xA0 in comment.
      gcc/
      	* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      libada/
      	* Makefile.in (configure_deps): Update and order as per
      	configure.ac sinclude.
      	* configure: Regenerate.
      libgcc/
      	* Makefile.in (configure_deps): Update.
      	* configure: Regenerate.
      libiberty/
      	* Makefile.in (configure_deps): Update.
      	* configure: Regenerate.
      libitm/
      	* Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r244049
      Alan Modra committed
    • PR 78796 Modify testcases due to gfc_trans_string_copy change · 4567f969
      As r244011 had to be reverted, this change adds back the testcase
      changes that are needed due to r244003.
      
      2017-01-04  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	PR fortran/78976
      	* gfortran.dg/dependency_49.f90: Change scan-tree-dump-times
      	due to gfc_trans_string_copy change to avoid -Wstringop-overflow.
      	* gfortran.dg/transfer_intrinsic_1.f90: Change
      	scan-tree-dump-times due to gfc_trans_string_copy change to
      	avoid -Wstringop-overflow.
      
      From-SVN: r244048
      Janne Blomqvist committed
    • re PR bootstrap/77569 (self tests fail when not using C locale) · a7085816
      	PR bootstrap/77569
      	* input.c (ebcdic_execution_charset::on_error): Don't use strstr for
      	a substring of the message, but strcmp with the whole message.  Ifdef
      	ENABLE_NLS, translate the message first using dgettext.
      
      From-SVN: r244047
      Jakub Jelinek committed
    • Fix ChangeLog date · 27e99c9b
      From-SVN: r244046
      Michael Meissner committed
    • re PR tree-optimization/78856 (wrong code at -O3 on x86_64-linux-gnu (in both… · 1c06f07f
      re PR tree-optimization/78856 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
      
      	PR tree-optimizatin/78856
      	* tree-ssa-threadupdate.c: Include tree-vectorizer.h.
      	(mark_threaded_blocks): Remove code to truncate thread paths that
      	cross multiple loop headers.  Instead invalidate the cached loop
      	iteration information and handle case of a thread path walking
      	into an irreducible region.
      
      	PR tree-optimization/78856
      	* gcc.c-torture/execute/pr78856.c: New test.
      
      From-SVN: r244045
      Jeff Law committed
    • re PR target/78900 (ICE in gcc.target/powerpc/signbit-3.c) · 60fb638f
      [gcc]
      2016-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78900
      	* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
      	assertions.  Add support for doing the signbit if the IEEE 128-bit
      	floating point value is in a GPR.
      	* config/rs6000/rs6000.md (Fsignbit): Delete.
      	(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
      	Update the length attribute if the value is in a GPR.
      	(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
      	the sign or zero extension instruction, since the value is always
      	0/1.
      	(signbit<mode>2_dm2): Delete using <Fsignbit>.
      
      2017-01-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78953
      	* config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
      	extracting SImode to a GPR register so that we can generate a
      	store, limit the vector to be in a traditional Altivec register
      	for the vextuwrx instruction.
      
      [gcc/testsuite]
      2017-01-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78953
      	* gcc.target/powerpc/pr78953.c: New test.
      
      From-SVN: r244044
      Michael Meissner committed
    • documentation_hacking.xml: sourceforge.net now defaults to https; adjust reference. · c671a0d6
              * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
              defaults to https; adjust reference.
      
      From-SVN: r244043
      Gerald Pfeifer committed
    • * fi.po: Update. · ecfdf05a
      From-SVN: r244042
      Joseph Myers committed
    • godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE. · e4d02f52
      gcc/:
      	* godump.c (go_format_type): Treat ENUMERAL_TYPE like
      	INTEGER_TYPE.
      gcc/testsuite/:
      	* gcc.misc-tests/godump-1.c: Update for accurate representation of
      	enums.
      
      From-SVN: r244041
      Ian Lance Taylor committed
    • Daily bump. · e7b0a53c
      From-SVN: r244040
      GCC Administrator committed
  3. 03 Jan, 2017 7 commits