1. 04 Oct, 2019 13 commits
  2. 03 Oct, 2019 22 commits
    • fptr.c: Disable -Warray-bounds warning. · c49af82c
      	* config/pa/fptr.c: Disable -Warray-bounds warning.
      
      From-SVN: r276556
      John David Anglin committed
    • pa.h (MAX_PCREL17F_OFFSET): Adjust. · 320be74c
      	* config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust.
      
      From-SVN: r276555
      John David Anglin committed
    • pa.c (pa_output_call): Remove 64-bit sibcall sequence. · 4a6cb9c0
      	* config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence.
      	(pa_attr_length_call): Adjust length for 64-bit plabel sequence.
      
      From-SVN: r276543
      John David Anglin committed
    • expr.c (emit_block_move_hints): Slightly cleaner fix to can_move_by_pieces issue. · 5d8bb389
      2019-10-03  Aaron Sawdey <acsawdey@linux.ibm.com>
      
      	* expr.c (emit_block_move_hints): Slightly cleaner fix to
      	can_move_by_pieces issue.
      
      From-SVN: r276542
      Aaron Sawdey committed
    • rust-demangle.c (looks_like_rust): Remove. · e1cb00db
      	* rust-demangle.c (looks_like_rust): Remove.
      	(rust_is_mangled): Don't check escapes.
      	(is_prefixed_hash): Allow 0-9a-f permutations.
      	(rust_demangle_sym): Don't bail on unknown escapes.
      	* testsuite/rust-demangle-expected: Update 'main::$99$' test.
      
      From-SVN: r276539
      Eduard-Mihai Burtescu committed
    • re PR fortran/91497 (-Wconversion warns when doing explicit type conversion) · e23390d2
      2019-10-03  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91497
      	* simplify.c (gfc_simplify_dble, simplify_intconv, gfc_simplify_real,
      	gfc_simplify_sngl): Disable -Wconversion and -Wconversion-extra
      	warnings for explicit conversion of literal constants.
      
      2019-10-03  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91497
      	* gfortran.dg/pr91497.f90: New test.
      
      From-SVN: r276532
      Steven G. Kargl committed
    • [Darwin] Pick up SDKROOT as the sysroot fallback. · 24ec3cc9
      For compatibility with xcrun and the behaviour of the clang driver, make use
      of the setting of the SDKROOT environment variable when it is available.
      This applies to both finding headers and libraries (i.e. it is also passed to
      ld64).
      
      Priority:
       1. User's command-line specified --sysroot= or -isysroot.
       2. The SDKROOT variable when set, and validated.
       3. Any sysroot provided by --with-sysroot= configuration parameter.
       
      SDKROOT is checked thus:
        1. Presence.
        2. That it starts with "/" (i.e. 'absolute').
        3. That it is not "/" only (since that's the default).
        4. That it is readable by the process executing the driver.
      
      This is pretty much the same rule set as used by the clang driver.
      
      NOTE: (3) might turn out to be overly restrictive in the case that we
      have configured with --with-sysroot= and then we want to run on a system
      with an installation of the headers/libraries in /.  We can revisit this
      if that turns out to be an important use-case.
      
      So one can do:
      
      xcrun --sdk macosx /path/to/gcc ....
      
      and that provides the SDK path as the sysroot to GCC as expected.
      
      CAVEAT: An unfortunate effect of the fact that "gcc" (and "g++") are
      executables in the Xcode installation, which are found ahead of any such
      named in the $PATH:
      
      PATH=/path/to/gcc/install:$PATH
      xcrun --sdk macosx gcc .... 
      
      does *not* work, instead that executes the clang from the xcode/commmand
      line tools installation.
      
      PATH=/path/to/gcc/install:$PATH
      xcrun --sdk macosx x64_64-apple-darwinXX-gcc ... 
      
      does work as expected, however.
      
      gcc/ChangeLog:
      
      2019-10-03  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/87243
      	* config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
      	(darwin_driver_init): Use the sysroot provided by SDKROOT when that
      	is available and the user has not set one on the command line.
      
      From-SVN: r276530
      Iain Sandoe committed
    • re PR target/91769 (wrong code with -O2 on MIPS) · 206c926a
      Fix PR target/91769
      
      This fixes the issue by checking that addr's base reg is not part of dest
      multiword reg instead just checking the first reg of dest.
      
      gcc/ChangeLog:
      
      2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	PR target/91769
      	* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
      	instead of REGNO equality check on addr.reg.
      
      gcc/testsuite/ChangeLog:
      
      2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	PR target/91769
      	* gcc.target/mips/pr91769.c: New test.
      
      From-SVN: r276525
      Dragan Mladjenovic committed
    • Libgomp magic offset value self-documentation · 6c7e076b
      2019-10-02  Julian Brown  <julian@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      
      	libgomp/
      	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
      	* target.c (FIELD_TGT_EMPTY): Define.
      	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
      	as switch instead of list of ifs.
      	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r276519
      Julian Brown committed
    • primary.c (match_real_constant): Remove shadowing local vars. · 5dbe01a1
      2019-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * primary.c (match_real_constant): Remove shadowing local vars.
              Rename local vars.  Fix undefined behavior in loop termination.
              (gfc_convert_to_structure_constructor): Rename local var.
      
      From-SVN: r276518
      Bernd Edlinger committed
    • params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT, [...]): New. · 2925cad2
      
      	* params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT,
      	PARAM_INLINE_HEURISTICS_HINT_PERCENT_O2): New.
      	* doc/invoke.texi (inline-heuristics-hint-percent,
      	inline-heuristics-hint-percent-O2): Document.
      	* tree-inline.c (inline_insns_single, inline_insns_auto): Add new
      	hint attribute.
      	(can_inline_edge_by_limits_p): Use it.
      
      From-SVN: r276516
      Jan Hubicka committed
    • Avoid reserved identifier in include/parallel/multiway_merge.h · ebf8247e
      	* include/parallel/multiway_merge.h (_RAIter3): Replace _C by _Cp.
      
      From-SVN: r276515
      Rainer Orth committed
    • Check init_priority in g++.dg/cpp0x/gen-attrs-67.C · a164d19a
      	gcc/testsuite:
      	* g++.dg/cpp0x/gen-attrs-67.C: Expect constructor priorities error
      	on any !init_priority target.
      
      From-SVN: r276510
      Rainer Orth committed
    • [arm] Fix rtl-checking failure in arm_print_value · eec30638
      Noticed while debugging the arm bootstrap failure.
      
      2019-10-03  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/arm/arm.c (arm_print_value): Use real_to_decimal
      	to print CONST_DOUBLEs.
      
      From-SVN: r276508
      Richard Sandiford committed
    • re PR jit/91928 (libgccjit fails on subsequent compilations in ipa-cp) · 12e088ba
      PR jit/91928
      
      	* ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum.
      	* ipa-prop.c (ipcp_free_transformation_sum): New function.
      	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.
      
      From-SVN: r276507
      Andrea Corallo committed
    • re PR fortran/84487 (Large rodate section increase in 465.tonto with r254427) · 3aad513c
      2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>
      
      	PR fortran/84487
      	* trans-decl.c (gfc_get_symbol_decl): For __def_init, set
      	DECL_ARTIFICAL and do not set TREE_READONLY.
      
      2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>
      
      	PR fortran/84487
      	* gfortran.dg/typebound_call_22.f03: xfail.
      
      From-SVN: r276506
      Thomas Koenig committed
    • Character typenames in errors and warnings · f61e54e5
          
      Character type names now incorporate length, kind is only shown if
      the default character is not being used.
          
      Examples:
         
        character(7) is reported as CHARACTER(7)
        character(len=20,kind=4) is reported as CHARACTER(20,4)
         
      dummy character variables with assumed length:
          
        character(*) is reported as CHARACTER(*)
        character(*,kind=4) is reported as CHARACTER(*,4)
      
      From-SVN: r276505
      Mark Eggleston committed
    • Makefile.in (OBJS): Add range.o and range-op.o. · 38a73435
      	* Makefile.in (OBJS): Add range.o and range-op.o.
      	Remove wide-int-range.o.
      	* function-tests.c (test_ranges): New.
      	(function_tests_c_tests): Call test_ranges.
      	* ipa-cp.c (ipa_vr_operation_and_type_effects): Call
      	range_fold_unary_expr instead of extract_range_from_unary_expr.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Same.
      	* range-op.cc: New file.
      	* range-op.h: New file.
      	* range.cc: New file.
      	* range.h: New file.
      	* selftest.h (range_tests): New prototype.
      	* ssa.h: Include range.h.
      	* tree-vrp.c (value_range_base::value_range_base): New
      	constructors.
      	(value_range_base::singleton_p): Do not call
      	ranges_from_anti_range until sure we will need to.
      	(value_range_base::type): Rename gcc_assert to
      	gcc_checking_assert.
      	(vrp_val_is_max): New argument.
      	(vrp_val_is_min): Same.
      	(wide_int_range_set_zero_nonzero_bits): Move from
      	wide-int-range.cc.
      	(extract_range_into_wide_ints): Remove.
      	(extract_range_from_multiplicative_op): Remove.
      	(extract_range_from_pointer_plus_expr): Abstract POINTER_PLUS code
      	from extract_range_from_binary_expr.
      	(extract_range_from_plus_minus_expr): Abstract PLUS/MINUS code
      	from extract_range_from_binary_expr.
      	(extract_range_from_binary_expr): Remove.
      	(normalize_for_range_ops): New.
      	(range_fold_binary_expr): New.
      	(range_fold_unary_expr): New.
      	(value_range_base::num_pairs): New.
      	(value_range_base::lower_bound): New.
      	(value_range_base::upper_bound): New.
      	(value_range_base::upper_bound): New.
      	(value_range_base::contains_p): New.
      	(value_range_base::invert): New.
      	(value_range_base::union_): New.
      	(value_range_base::intersect): New.
      	(range_compatible_p): New.
      	(value_range_base::operator==): New.
      	(determine_value_range_1): Call range_fold_*expr instead of
      	extract_range_from_*expr.
      	* tree-vrp.h (class value_range_base): Add new constructors.
      	Add methods for union_, intersect, operator==, contains_p,
      	num_pairs, lower_bound, upper_bound, invert.
      	(vrp_val_is_min): Add handle_pointers argument.
      	(vrp_val_is_max): Same.
      	(extract_range_from_unary_expr): Remove.
      	(extract_range_from_binary_expr): Remove.
      	(range_fold_unary_expr): New.
      	(range_fold_binary_expr): New.
      	* vr-values.c (vr_values::extract_range_from_binary_expr): Call
      	range_fold_binary_expr instead of extract_range_from_binary_expr.
      	(vr_values::extract_range_basic): Same.
      	(vr_values::extract_range_from_unary_expr): Call
      	range_fold_unary_expr instead of extract_range_from_unary_expr.
      	* wide-int-range.cc: Remove.
      	* wide-int-range.h: Remove.
      
      From-SVN: r276504
      Aldy Hernandez committed
    • Daily bump. · e6f53878
      From-SVN: r276502
      GCC Administrator committed
    • Use the SIGNED_16BIT_OFFSET_EXTRA_P macro for 16-bit signed tests. · e5ec901c
      2019-10-02   Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (mem_operand_gpr): Use
      	SIGNED_16BIT_OFFSET_EXTRA_P.
      	(mem_operand_ds_form): Use SIGNED_16BIT_OFFSET_EXTRA_P.
      	(rs6000_mode_dependent_address): Use SIGNED_16BIT_OFFSET_EXTRA_P.
      
      From-SVN: r276498
      Michael Meissner committed
  3. 02 Oct, 2019 5 commits
    • Define WIDTH macros for C2x. · 202be586
      As part of the integration of TS 18661-1 into C2x, many features
      became unconditional features not depending on any feature test macro
      being defined.  This patch updates the conditionals on the *_WIDTH
      macros in limits.h and stdint.h accordingly so that they are defined
      for C2x.  The macro CR_DECIMAL_DIG in float.h does still require
      __STDC_WANT_IEC_60559_BFP_EXT__ to be defined, and a test for this is
      added.
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc:
      	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Change
      	condition on WIDTH macros to [__STDC_WANT_IEC_60559_BFP_EXT__ ||
      	(__STDC_VERSION__ && __STDC_VERSION__ > 201710L)].
      	* glimits.h: Likewise.
      
      gcc/testsuite:
      	* gcc.dg/cr-decimal-dig-2.c: New test.
      	* gcc.dg/limits-width-2.c: New test.  Based on limits-width-1.c.
      	* gcc.dg/stdint-width-2.c: New test.  Based on stdint-width-1.c.
      
      From-SVN: r276497
      Joseph Myers committed
    • init.c (build_new): Use cp_expr_loc_or_input_loc in two places. · f5fc32e4
      /cp
      2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* init.c (build_new): Use cp_expr_loc_or_input_loc in two places.
      	* name-lookup.c (do_pushdecl): Use DECL_SOURCE_LOCATION.
      	(push_class_level_binding_1): Likewise.
      	(set_decl_namespace): Likewise.
      
      /testsuite
      2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/integral-array-size-1.C: New.
      	* g++.dg/cpp0x/alias-decl-1.C: Test location(s) too.
      	* g++.dg/init/new43.C: Likewise.
      	* g++.dg/lookup/friend12.C: Likewise.
      	* g++.dg/lookup/pr79766.C: Likewise.
      	* g++.dg/lookup/pr84375.C: Likewise.
      	* g++.dg/other/new-size-type.C: Likewise.
      
      From-SVN: r276496
      Paolo Carlini committed
    • re PR rtl-optimization/91976 (RTL check: expected code 'const_int', have 'reg'… · 775eaa4d
      re PR rtl-optimization/91976 (RTL check: expected code 'const_int', have 'reg' in emit_block_move_hints, at expr.c:1627)
      
      	PR rtl-optimization/91976
      	* expr.c (emit_block_move_hints): Don't call can_move_by_pieces if
      	size is not CONST_INT_P, set pieces_ok to false in that case.  Simplify
      	CONST_INT_P (size) && pieces_ok to pieces_ok.  Formatting fix.
      
      From-SVN: r276495
      Jakub Jelinek committed
    • constexpr.c (cxx_eval_constant_expression): If not skipping upon entry to body... · 1006c9d4
      	* constexpr.c (cxx_eval_constant_expression) <case CLEANUP_STMT>: If
      	not skipping upon entry to body, run cleanup with the same *jump_target
      	as it started to run the cleanup even if the body returns, breaks or
      	continues.
      	(potential_constant_expression_1): Allow CLEANUP_STMT.
      
      	* g++.dg/ext/constexpr-attr-cleanup1.C: New test.
      
      From-SVN: r276494
      Jakub Jelinek committed
    • constexpr.c (cxx_eval_store_expression): Formatting fix. · 276a52d5
      	* constexpr.c (cxx_eval_store_expression): Formatting fix.  Handle
      	const_object_being_modified with array type.
      
      From-SVN: r276493
      Jakub Jelinek committed