1. 25 Feb, 2019 5 commits
  2. 24 Feb, 2019 7 commits
  3. 23 Feb, 2019 15 commits
    • Improve error message for bad arguments to script · 47466513
      	* generate_libstdcxx_web_docs: Improve error output.
      
      From-SVN: r269169
      Jonathan Wakely committed
    • P0340R2 Making std::underlying_type SFINAE-friendly · 3c26b759
      	* include/std/type_traits (__underlying_type_impl): New helper to
      	make underlying_type SFINAE-friendly.
      	(underlying_type): Derive from __underlying_type_impl.
      	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New
      	test.
      
      From-SVN: r269168
      Jonathan Wakely committed
    • builtin-sprintf-10.c: Cast remaining wchar_t to wint_t to avoid a bogus -Wformat… · 46d496b9
      builtin-sprintf-10.c: Cast remaining wchar_t to wint_t to avoid a bogus -Wformat warning in ILP32...
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/tree-ssa/builtin-sprintf-10.c: Cast remaining
      	wchar_t to wint_t to avoid a bogus -Wformat warning in
      	ILP32 (bug 77970).
      
      From-SVN: r269167
      Martin Sebor committed
    • gimple-ssa-sprintf.c (target_strtol): Rename... · 837865bd
      gcc/ChangeLog:
      	* gimple-ssa-sprintf.c (target_strtol): Rename...
      	(target_strtohwi): ...to this.  Handle values up to HOST_WIDE_INT_MAX.
      	(parse_directive): Adjust to name change.  Use HOST_WIDE_INT_MAX to
      	check for range error.
      
      From-SVN: r269166
      Martin Sebor committed
    • Include "../../../libgfortran/ISO_Fortran_binding.h" · 34ab23c9
      	PR testsuite/89476
      	* gfortran.dg/ISO_Fortran_binding_5.c: Include
      	"../../../libgfortran/ISO_Fortran_binding.h".
      	* gfortran.dg/ISO_Fortran_binding_6.c: Likewise.
      
      From-SVN: r269165
      H.J. Lu committed
    • driver: Also prune joined switches with negation · aebe10d4
      When -march=native is passed to host_detect_local_cpu to the backend,
      it overrides all command lines after it.  That means
      
      $ gcc -march=native -march=skylake-avx512
      
      is the treated as
      
      $ gcc -march=skylake-avx512 -march=native
      
      Prune joined switches with Negative and RejectNegative to allow
      -march=skylake-avx512 to override previous -march=native on command-line.
      
      gcc/
      
      	PR driver/69471
      	* opts-common.c (prune_options): Also prune joined switches
      	with Negative and RejectNegative.
      	* config/i386/i386.opt (march=): Add Negative(march=).
      	(mtune=): Add Negative(mtune=).
      	* doc/options.texi: Document Negative used together with Joined
      	and RejectNegative.
      
      gcc/testsuite/
      
      	PR driver/69471
      	* gcc.dg/pr69471-1.c: New test.
      	* gcc.dg/pr69471-2.c: Likewise.
      	* gcc.target/i386/pr69471-3.c: Likewise.
      
      From-SVN: r269164
      H.J. Lu committed
    • re PR fortran/84387 (Defined output does not work for a derived type that has no components) · 85627e2a
      2019-02-23  Jerry DeLisle <jvdelisle@gcc.gnu.org>
      
      	PR fortran/84387
      	* trans-io.c (transfer_expr): Do not return if there are no
      	components to the derived type or class.
      
      	* gfortran.dg/dtio_34.f90: New test.
      
      From-SVN: r269161
      Jerry DeLisle committed
    • re PR c++/89419 (ICE in is_normal_capture_proxy starting with r253601) · 3aab3d37
      	PR c++/89419
      	* g++.dg/cpp1y/lambda-generic-89419.C: New test.
      
      From-SVN: r269159
      Marek Polacek committed
    • PR c++/88294 - ICE with non-constant noexcept-specifier. · 28a19c5b
      	* pt.c (maybe_instantiate_noexcept): Set up the list of local
      	specializations.  Set current_class_{ptr,ref}.
      
      	* g++.dg/cpp0x/noexcept34.C: New test.
      	* g++.dg/cpp0x/noexcept35.C: New test.
      
      From-SVN: r269158
      Marek Polacek committed
    • re PR fortran/88117 (ICE in gimplify_var_or_parm_decl, at gimplify.c:2697) · 524cee40
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88117
      	* resolve.c (deferred_op_assign): Return if the lhs expression
      	has the pointer attribute.
      	* trans-expr.c (gfc_trans_assignment_1): Do not fix the string
      	length if the lhs expression has the pointer attribute.
      
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88117
      	* gfortran.dg/deferred_character_32.f90 : New test
      
      From-SVN: r269157
      Paul Thomas committed
    • re PR fortran/89385 (Incorrect members of C descriptor for an allocatable object) · c2808389
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	PR fortran/89366
      	* decl.c (gfc_verify_c_interop_param): Restriction on string
      	length being one is lifted for F2018.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): For scalar
      	characters with intent in, make a temporary and copy the result
      	of the expression evaluation into it.
      	(gfc_conv_procedure_call): Set a flag for character formal args
      	having a character length that is not unity. If the procedure
      	is bind C, call gfc_conv_gfc_desc_to_cfi_desc in this case.
      	Also, extend bind C calls to unconditionally convert both
      	pointers and allocatable expressions.
      
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	* gfortran.dg/ISO_Fortran_binding_1.f90 : Correct test for
      	previously incorrect lbound for allocatable expressions. Also
      	correct stop values to avoid repetition.
      	* gfortran.dg/ISO_Fortran_binding_5.f90 : New test
      	* gfortran.dg/ISO_Fortran_binding_5.c : Support previous test.
      
      	PR fortran/89366
      	* gfortran.dg/ISO_Fortran_binding_6.f90 : New test
      	* gfortran.dg/ISO_Fortran_binding_6.c : Support previous test.
      	* gfortran.dg/pr32599.f03 : Set standard to F2008.
      
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	PR fortran/89366
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
      	interchange between character and derived, the character type
      	was being set incorrectly.
      	(gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
      	this function. Do not add the kind and length information to
      	the type field of structures. Lbounds were incorrectly being
      	set to zero for allocatable and pointer descriptors. Should
      	have been non-pointer, non-allocatables that received this
      	treatment.
      
      From-SVN: r269156
      Paul Thomas committed
    • PR libstdc++/89446 fix null pointer dereference in char_traits · ace857f9
      	PR libstdc++/89446
      	* include/bits/char_traits.h (__constant_char_array): Check index is
      	in range before dereferencing.
      	(char_traits<char>::compare, char_traits<char>::find)
      	(char_traits<char8_t>::compare, char_traits<char8_t>::find): Return
      	immediately if n is zero.
      	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find): Likewise.
      	Remove workarounds for PR 67026.
      	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
      	New test.
      	* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
      	New test.
      
      From-SVN: r269148
      Jonathan Wakely committed
    • Capture source location of dtors (PR c++/89390) · c1753302
      gcc/cp/ChangeLog:
      	PR c++/89390
      	* parser.c (cp_parser_unqualified_id): Capture and use locations
      	for destructors.
      
      gcc/testsuite/ChangeLog:
      	PR c++/89390
      	* g++.dg/diagnostic/pr89390.C: Update expected location of error,
      	renaming to a multicharacter name, so that start != finish.  Add
      	tests for dtor locations.
      
      From-SVN: r269145
      David Malcolm committed
    • Daily bump. · 986e0e33
      From-SVN: r269142
      GCC Administrator committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · 0d527f0d
      	PR middle-end/88074
      	* simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use
      	mpfr_number_p && !mpfr_zero_p instead of mpfr_regular_p.
      	(norm2_add_squared): Likewise.  Use mp_exp_t rather than mpfr_exp_t.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r269139
      David Malcolm committed
  4. 22 Feb, 2019 13 commits
    • re PR c++/84676 (internal compiler error: Segmentation fault (build_new_op_1)) · 01d3d581
      2019-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84676
      	* g++.dg/cpp0x/pr84676.C: New.
      
      From-SVN: r269138
      Paolo Carlini committed
    • builtin-sprintf-10.c: Cast wchar_t to wint_t to avoid a bogus -Wformat warning… · 0a7fe8bc
      builtin-sprintf-10.c: Cast wchar_t to wint_t to avoid a bogus -Wformat warning in ILP32 (bug 77970).
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/builtin-sprintf-10.c: Cast wchar_t to wint_t
      	to avoid a bogus -Wformat warning in ILP32 (bug 77970).
      
      From-SVN: r269137
      Martin Sebor committed
    • baseline_symbols.txt: Adjust. · 047b3e34
      	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Adjust.
      	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
      
      From-SVN: r269136
      Eric Botcazou committed
    • re PR fortran/83057 (OPEN without a filename and without STATUS='SCRATCH' could produce a warning) · 56bf85c1
      2019-02-22  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/83057
      	* io.c (gfc_match_open): Fix logic in checks of OPEN statement
      	when NEWUNIT= is specified.
      
      	PR fortran/83057
      	* gfortran.dg/newunit_6.f90: New test.
      
      From-SVN: r269134
      Harald Anlauf committed
    • re PR fortran/89431 (CPP integer macros not defined) · f3e1797a
      2019-02-22  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/89431
      	* gfortran.texi: Fix documentation to match the implementation.
      
      From-SVN: r269132
      Steven G. Kargl committed
    • PR c++/89420 - ICE with CAST_EXPR in explicit-specifier. · 4770beb3
      	* decl.c (build_explicit_specifier): Don't check
      	processing_template_decl.  Call instantiation_dependent_expression_p
      	instead of value_dependent_expression_p.  Call
      	instantiate_non_dependent_expr_sfinae before
      	build_converted_constant_expr instead of calling
      	instantiate_non_dependent_expr after it.  Add
      	processing_template_decl_sentinel.
      
      	* g++.dg/cpp2a/explicit14.C: New test.
      
      From-SVN: r269131
      Marek Polacek committed
    • re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less… · fcb141ac
      re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target)
      
      	PR libstdc++/89402
      	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Change return
      	type to std::size_t and argument to type to long double.
      
      From-SVN: r269130
      Jakub Jelinek committed
    • extend.texi (Other Builtins): Add __builtin_is_constant_evaluated. · 16a919a7
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (Other Builtins): Add
      	__builtin_is_constant_evaluated.
      
      From-SVN: r269129
      Martin Sebor committed
    • re PR tree-optimization/87609 (miscompilation with restrict and loop) · c87cc0c0
      2019-02-22  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87609
      	* tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
      
      From-SVN: r269127
      Richard Biener committed
    • PR tree-optimization/88993 - GCC 9 -Wformat-overflow=2 should reflect real libc limits · eb319c50
      PR tree-optimization/88993 - GCC 9 -Wformat-overflow=2 should reflect real libc limits
      PR tree-optimization/88835 - overly aggressive -Werror=format-overflow for printf
      
      gcc/ChangeLog:
      
      	PR tree-optimization/88993
      	PR tree-optimization/88853
      	* gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
      	New helper.
      	(sprintf_dom_walker::call_info::is_string_func): New helper.
      	(format_directive): Only issue "may exceed" 4095/INT_MAX warnings
      	for formatted string functions.
      	(sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/88993
      	PR tree-optimization/88853
      	* gcc.dg/tree-ssa/builtin-fprintf-warn-2.c: New test.
      	* gcc.dg/tree-ssa/builtin-printf-warn-2.c: New test.
      	* gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same.
      
      From-SVN: r269125
      Martin Sebor committed
    • re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c … · cfed471a
      re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c   -O1 start with r265398)
      
      	PR rtl-optimization/87761
      	* config/mips/mips.md: Add new combiner pattern to recognize
      	a bitfield extraction using (ashiftrt (truncate (ashift (...)))).
      
      From-SVN: r269123
      Jeff Law committed
    • Handle stack pointer with SUBS/ADDS instructions. · 341fca1b
      In general the stack pointer was not handled for many SUBS/ADDS patterns in
      aarch64.md.
      Both the "extended register" and "immediate" forms allow the stack pointer to be
      used as the source register, while no form allows the stack pointer for the
      destination register.
      
      The define_insn patterns generating ADDS/SUBS did not allow the stack pointer
      for any operand, while the define_peephole2 patterns that generated RTX to be
      matched by these patterns allowed the stack pointer for any operand.
      
      The patterns are fixed by adding the 'k' constraint for the first source operand
      to all define_insns that generate the ADDS/SUBS "extended register" and
      "immediate" forms (but not the "shifted register" form).
      
      In peephole optimizations, constraint strings are ignored (see "(gccint) C
      Constraint Interface" info node in the documentation), so the decision to act or
      not is based solely on the predicate and condition.
      This patch introduces a new predicate "aarch64_general_reg" to be used in
      define_peephole2 patterns where only GENERAL_REGS registers are acceptable and
      uses that predicate in the peepholes that generate patterns for ADDS/SUBS.
      
      Full bootstrap and regtest done on aarch64-none-linux-gnu.
      Regression tests done on aarch64-none-linux-gnu and aarch64-none-elf cross
      compiler.
      
      OK for trunk?
      
      
      gcc/ChangeLog:
      
      2019-02-22  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/89324
      	* config/aarch64/aarch64.md: Use aarch64_general_reg predicate on
      	destination register in peepholes generating patterns for ADDS/SUBS.
      	(add<mode>3_compare0,
      	*addsi3_compare0_uxtw, add<mode>3_compareC,
      	add<mode>3_compareV_imm, add<mode>3_compareV,
      	*adds_<optab><ALLX:mode>_<GPI:mode>,
      	*subs_<optab><ALLX:mode>_<GPI:mode>,
      	*adds_<optab><ALLX:mode>_shift_<GPI:mode>,
      	*subs_<optab><ALLX:mode>_shift_<GPI:mode>,
      	*adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2,
      	*sub<mode>3_compare0, *subsi3_compare0_uxtw,
      	sub<mode>3_compare1): Allow stack pointer for source register.
      	* config/aarch64/predicates.md (aarch64_general_reg): New predicate.
      
      
      gcc/testsuite/ChangeLog:
      
      2019-02-22  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/89324
      	* gcc.dg/rtl/aarch64/subs_adds_sp.c: New test.
      	* gfortran.fortran-torture/compile/pr89324.f90: New test.
      
      From-SVN: r269122
      Matthew Malcomson committed
    • PR c/89425 - -Wabsolute-value warns in dead subexpressions · 3c2a70cb
      gcc/c/ChangeLog:
      
      	PR c/89425
      	* c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in
      	unreachable subexpressions.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/89425
      	* gcc.dg/Wabsolute-value.c: New test.
      
      From-SVN: r269121
      Martin Sebor committed