Commit Graph

173832 Commits

Author SHA1 Message Date
John David Anglin
cf319b3f54 pa.md: Revert change to use ordered_comparison_operator instead of...
* config/pa/pa.md: Revert change to use ordered_comparison_operator
	instead of cmpib_comparison_operator in cmpib patterns.
	* config/pa/predicates.md (cmpib_comparison_operator): Revert removal
	of cmpib_comparison_operator.  Revise comment.

From-SVN: r279927
2020-01-06 23:48:42 +00:00
Richard Sandiford
a0643f028e Require equal shift amounts for IFN_DIV_POW2
IFN_DIV_POW2 currently requires all elements to be shifted by the
same amount, in a similar way as for WIDEN_LSHIFT_EXPR.  This patch
enforces that when building the SLP tree.

If in future targets want to support IFN_DIV_POW2 without this
restriction, we'll probably need the kind of vector-vector/
vector-scalar split that we already have for normal shifts.

2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
	in an IFN_DIV_POW2 node to be equal.

gcc/testsuite/
	* gcc.target/aarch64/sve/asrdiv_1.c: Remove trailing %s.
	* gcc.target/aarch64/sve/asrdiv_2.c: New test.
	* gcc.target/aarch64/sve/asrdiv_3.c: Likewise.

From-SVN: r279908
2020-01-06 18:00:15 +00:00
Richard Sandiford
8a0ae3c130 Check mask argument's type when vectorising conditional functions
We can't yet vectorise conditional internal functions whose boolean
condition is fed by a data access (or more generally, by a tree of logic
ops in which all the leaves are data accesses).  Although we should add
that eventually, we'd need further work to generate good-quality code.

Unlike vectorizable_load and vectorizalbe_store, vectorizable_call
wasn't checking whether the mask had a suitable type, leading to an
ICE on the testcases.

2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
	(vect_check_scalar_mask): ...this.
	(vectorizable_store, vectorizable_load): Update call accordingly.
	(vectorizable_call): Use vect_check_scalar_mask to check the mask
	argument in calls to conditional internal functions.

gcc/testsuite/
	* gcc.dg/vect/vect-cond-arith-8.c: New test.
	* gcc.target/aarch64/sve/cond_fmul_5.c: Likewise.

From-SVN: r279907
2020-01-06 17:58:57 +00:00
Andrew Stubbs
d54fc77076 Fix amdgcn issue with '0' constraints
2020-01-06  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
	'0' matching inputs.
	(subv64di3_exec): Likewise.

From-SVN: r279906
2020-01-06 17:10:40 +00:00
Bryan Stenson
2b4f0b8951 mips.c (vr4130_align_insns): Fix typo.
2020-01-06  Bryan Stenson  <bryan@siliconvortex.com>

	* config/mips/mips.c (vr4130_align_insns): Fix typo.
	* doc/md.texi (movstr): Likewise.

From-SVN: r279905
2020-01-06 09:15:04 -07:00
Andrew Stubbs
b4d74ed766 Fix early-clobber in amdgcn vec_extract
2020-01-06  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
	clobber.

From-SVN: r279904
2020-01-06 15:40:01 +00:00
Nathan Sidwell
1810a89c77 PR c++/79592 adjust testcase
https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00127.html
	* g++.dg/ubsan/vptr-4.C: Add expected error.

From-SVN: r279902
2020-01-06 15:22:02 +00:00
Richard Sandiford
0333811185 [AArch64] Use move-if-change for aarch64-tune.md
If aarch64-tune.md was older than gentune.sh or aarch64-cores.def,
we'd try to overwrite it even if the current contents were correct.
This could cause problems with read-only source directories and
could cause spurious copying for rsync --archive.

2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
	Depend on...
	(s-aarch64-tune-md): ...this new stamp file.  Pipe the new contents
	to a temporary file and use move-if-change to update the real
	file where necessary.

From-SVN: r279900
2020-01-06 13:01:48 +00:00
Richard Sandiford
3c2707f33a [AArch64] Fix constraints for CPY /M
The constraints for CPY /M allowed p0-p15 instead of the intended p0-p7.
This looks like a pasto from the preceding constant pattern, where p0-p15
is allowed.

2020-01-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
	rather than Upa for CPY /M.

gcc/testsuite/
	* gcc.target/aarch64/sve/acle/general/cpy_1.c: New test.

From-SVN: r279899
2020-01-06 13:00:04 +00:00
Andrew Stubbs
5960de787f Fix amdgcn inline immediate range
2020-01-06  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
	immediate.

From-SVN: r279898
2020-01-06 12:22:21 +00:00
Jonathan Wakely
a4a1f96551 libstdc++: Remove redundant inequality operators in <stop_token>
* include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
	(stop_source): Likewise (LWG 3362).
	* testsuite/30_threads/stop_token/stop_source.cc: Test equality
	comparisons.

From-SVN: r279897
2020-01-06 12:06:47 +00:00
Jonathan Wakely
f31a99f7c1 libstdc++: Define __cpp_lib_three_way_comparison conditionally
The contents of the <compare> header are not complete unless concepts
are supported, so the feature test macro should depend on the macro for
concepts.

As a result, the std::lexicographical_compare_three_way function will
not be defined unless concepts are supported, so there is no need to
check __cpp_lib_concepts before using concepts in those functions.

	* include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
	(lexicographical_compare_three_way): Do not depend on
	__cpp_lib_concepts.
	* include/std/version (__cpp_lib_three_way_comparison): Only define
	when __cpp_lib_concepts is defined.
	* libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.

From-SVN: r279896
2020-01-06 12:06:41 +00:00
Martin Liska
4ce43ba44d Mark param_max_combine_insns with Optimization keyword.
PR tree-optimization/92860
    * params.opt: Mark param_max_combine_insns with Optimization
    keyword.

From-SVN: r279895
2020-01-06 09:13:15 +00:00
Andrew Pinski
8f50e25f38 New bitfield testcases.
2020-01-05  Andrew Pinski  <apinski@marvell.com>

        * gcc.c-torture/compile/20200105-1.c: New testcase.
        * gcc.c-torture/compile/20200105-2.c: New testcase.
        * gcc.c-torture/compile/20200105-3.c: New testcase.

From-SVN: r279893
2020-01-05 17:08:21 -08:00
GCC Administrator
6ce195bdcb Daily bump.
From-SVN: r279892
2020-01-06 00:16:19 +00:00
Eric Botcazou
e9c6bb460b discr1.ads: Compile with -gnatc instead of -gnatct.
* gnat.dg/specs/discr1.ads: Compile with -gnatc instead of -gnatct.
	* gnat.dg/specs/limited_with4.ads: Likewise.
	* gnat.dg/specs/limited_with4_pkg.ads: Likewise.
	* gnat.dg/specs/private1-sub.ads: Likewise.
	* gnat.dg/specs/task1.ads: Likewise.

From-SVN: r279889
2020-01-05 16:02:53 +00:00
Iain Sandoe
53cfd9360d [testsuite, Darwin] Fix failing darwin-version-1.c.
Recent platform linkers will no longer accept linking for a target
OS version less than 10.4.  Recent SDKs no longer have the libgcc_s
shims used for 10.4 and 10.5.  So we need to adjust tests that expect
these.

gcc/testsuite/ChangeLog:

2020-01-05  Iain Sandoe  <iain@sandoe.co.uk>

	* gcc.dg/darwin-version-1.c: Adjust test to use different
	options for Darwin4-9 and Darwin10+.

From-SVN: r279888
2020-01-05 15:26:19 +00:00
Jakub Jelinek
c57b4c2208 re PR target/93141 (Missed optimization : Use of adc when checking overflow)
PR target/93141
	* config/i386/i386.md (SWIDWI): New mode iterator.
	(DWI, dwi): Add TImode variants.
	(addv<mode>4): Use SWIDWI iterator instead of SWI.  Use
	<general_hilo_operand> instead of <general_operand>.  Use
	CONST_SCALAR_INT_P instead of CONST_INT_P.
	(*addv<mode>4_1): Rename to ...
	(addv<mode>4_1): ... this.
	(QWI): New mode attribute.
	(*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
	define_insn_and_split patterns.
	(*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
	patterns.
	(uaddv<mode>4): Use SWIDWI iterator instead of SWI.  Use
	<general_hilo_operand> instead of <general_operand>.
	(*addcarry<mode>_1): New define_insn.
	(*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.

	* gcc.target/i386/pr93141-1.c: New test.
	* gcc.dg/pr67089-6.c: Expect 16 ADD_OVERFLOW calls even on ia32.

From-SVN: r279887
2020-01-05 13:52:24 +01:00
Jakub Jelinek
39bec8cd35 re PR c++/93138 (elaborated type specifier visibility check problem)
PR c++/93138
	* parser.c (cp_parser_check_class_key): Disable access checks for the
	simple name lookup.
	(cp_parser_maybe_warn_enum_key): Likewise.  Return early if
	!warn_redundant_tags.

	* g++.dg/warn/Wredundant-tags-2.C: New test.

From-SVN: r279886
2020-01-05 13:50:40 +01:00
Olivier Hainque
5205a4456b Guard inclusion of vxAtomicLib.h from gthr-vxworks.h
2020-01-05  Olivier Hainque  <hainque@adacore.com>

        * config/gthr-vxworks.h: Guard #include vxAtomicLib.h
	by IN_LIBGCC2.

From-SVN: r279885
2020-01-05 12:45:54 +00:00
Jakub Jelinek
72036b59a0 re PR c++/93046 (ICE in cp_gimplify_init_expr)
PR c++/93046
	* cp-gimplify.c (cp_gimplify_init_expr): Don't look through
	TARGET_EXPR if it has been gimplified already.

	* g++.dg/ext/cond4.C: New test.

From-SVN: r279884
2020-01-05 01:49:14 +01:00
GCC Administrator
48cb874a04 Daily bump.
From-SVN: r279883
2020-01-05 00:16:15 +00:00
Eric Botcazou
df892819bc * gnatvsn.ads: Bump copyright year.
From-SVN: r279880
2020-01-04 08:31:22 +00:00
Tobias Burnus
9b9623194b Fortran] PR91640 – Fix call to contiguous dummy
PR fortran/91640
        * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
        arguments to contiguous dummy args.  Avoid re-checking whether fsym is
        NULL.

        PR fortran/91640
        * gfortran.dg/contiguous_10.f90: New.

From-SVN: r279879
2020-01-04 09:19:51 +01:00
GCC Administrator
c0c4eaae49 Daily bump.
From-SVN: r279876
2020-01-04 00:16:22 +00:00
Jason Merrill
8b5d34fc06 PR c++/93033 - incorrect tree node sharing with array init.
The split_nonconstant_init piece is the only one necessary to fix the
testcase, but it occurred to me that we might as well not split when
-fno-exceptions.

	* typeck2.c (split_nonconstant_init): Unshare non-decl.
	* cp-gimplify.c (cp_gimplify_init_expr): Only split if -fexceptions.

From-SVN: r279871
2020-01-03 17:10:56 -05:00
Jason Merrill
657fea973b Reject class template placeholder as non-type template parm type in C++17.
* pt.c (invalid_nontype_parm_type_p): Reject class placeholder in
	C++17.

From-SVN: r279870
2020-01-03 17:10:25 -05:00
Iain Sandoe
cfe9c75311 [testsuite, X86] Require effective target masm_intel for two tests.
These tests currently fail on targets that do not support intel asm
syntax.

gcc/testsuite/ChangeLog:

2020-01-03  Iain Sandoe  <iain@sandoe.co.uk>

	* gcc.target/i386/avx512bw-pr92686-vpcmp-intelasm-1.c: Require
	effective target masm_intel.
	* gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Likewise.

From-SVN: r279869
2020-01-03 21:05:38 +00:00
Konstantin Kharlamov
582097cbc6 gdbinit.in: call a function with "call", not "set"
Calling a function foo in gdb as "set foo()" results in a warning.
Disregarding, it looks wrong to call a function with "set". Let's use
"call" instead.

2019-11-14  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	* gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
	Use "call" instead of "set".

From-SVN: r279866
2020-01-03 22:35:48 +03:00
Jonathan Wakely
b4e7013794 libstdc++: Only use std::compare_three_way when concepts are supported
Clang now supports three-way comparisons. That causes both overloads of
std::lexicographical_compare_three_way to be defined, but the second one
uses std::compare_three_way which depends on concepts. Clang does not
yet support concepts, so the second overload should also depend on
__cpp_lib_concepts.

	* include/bits/stl_algobase.h (lexicographical_compare_three_way):
	Only define four-argument overload when __cpp_lib_concepts is defined.

From-SVN: r279861
2020-01-03 14:44:39 +00:00
Martin Jambor
48182bd670 Avoid segfault when dumping IPA-CP lattices for unoptimized functions (PR 92917)
2020-01-03  Martin Jambor  <mjambor@suse.cz>

	PR ipa/92917
	* ipa-cp.c (print_all_lattices): Skip functions without info.

From-SVN: r279859
2020-01-03 14:52:38 +01:00
Tobias Burnus
f760c0c77f Fortran] OpenMP/OpenACC – fix more issues with OPTIONAL
gcc/fortran/
        * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
        Boolean expression; handle unallocated/disassociated actual arguments
        as absent if passed to nonallocatable/nonpointer dummy array arguments.
        (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
        (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
        array-data variable if the argument is absent. Simplify code as
        'present' is now a Boolean expression.

        libgomp/
        * testsuite/libgomp.fortran/optional-map.f90: Add test for
        unallocated/disassociated actual arguments to nonallocatable/nonpointer
        dummy arguments; those are/shall be regarded as absent arguments.
        * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
        * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.

From-SVN: r279858
2020-01-03 13:56:46 +01:00
Jakub Jelinek
1609beddb1 re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones)
PR target/93089
	* config/i386/i386-options.c (ix86_simd_clone_adjust): If
	TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
	simd clones.  If TARGET_PREFER_AVX256, use prefer-vector-width=512
	for 'e' simd clones.

	* gcc.target/i386/pr93089-2.c: New test.
	* gcc.target/i386/pr93089-3.c: New test.

From-SVN: r279857
2020-01-03 11:14:03 +01:00
Jakub Jelinek
46e6341fc8 re PR target/93089 (Force mprefer-vector-width=512 in 'e' simd clones)
PR target/93089
	* config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
	entry.
	(mprefer-vector-width=): Add Save.
	* config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
	-mprefer-vector-width= if non-zero.  Fix up -mfpmath= comment.
	(ix86_debug_options, ix86_function_specific_print): Adjust
	ix86_target_string callers.
	(ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
	(ix86_valid_target_attribute_tree): Likewise.
	* config/i386/i386-options.h (ix86_target_string): Add PVW argument.
	* config/i386/i386-expand.c (ix86_expand_builtin): Adjust
	ix86_target_string caller.

	* gcc.target/i386/pr93089-1.c: New test.

From-SVN: r279856
2020-01-03 11:12:31 +01:00
Jakub Jelinek
5499c8628a re PR target/93110 (grub-2.04/grub-core/lib/division.c:28:1: internal compiler error: in extract_insn, at recog.c:2294)
PR target/93110
	* config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
	emitting ASHIFTRT, XOR and MINUS by hand.  Use gen_int_mode with QImode
	instead of gen_int_shift_amount + convert_modes.

	* gcc.dg/torture/pr93110.c: New test.

From-SVN: r279855
2020-01-03 11:11:17 +01:00
Jakub Jelinek
5a6e28b5ba re PR rtl-optimization/93088 (Compile time hog on gcc/testsuite/gcc.target/i386/pr56348.c w/ -O3 -funroll-loops -fno-tree-dominator-opts -fno-tree-vrp)
PR rtl-optimization/93088
	* loop-iv.c (find_single_def_src): Punt after looking through
	128 reg copies for regs with single definitions.  Move definitions
	to first uses.

	* gcc.target/i386/pr93088.c: New test.

From-SVN: r279854
2020-01-03 10:10:13 +01:00
Tobias Burnus
4d12437884 Fortran] PR 92994 – add more ASSOCIATE checks
PR fortran/92994
        * primary.c (gfc_match_rvalue): Add some flavor checks
        gfc_matching_procptr_assignment.
        * resolve.c (resolve_assoc_var): Add more checks for invalid targets.

        PR fortran/92994
        * gfortran.dg/associate_50.f90: Update dg-error.
        * gfortran.dg/associate_51.f90: New.

From-SVN: r279853
2020-01-03 09:08:30 +01:00
GCC Administrator
208cb81f98 Daily bump.
From-SVN: r279852
2020-01-03 00:16:32 +00:00
Jakub Jelinek
46ddb10820 re PR fortran/68020 (Issue with implied-shape array parameter of rank > 2)
PR fortran/68020
	* gfortran.dg/impled_shape_5.f90: Use dg-do compile rather than dg-do
	run.

From-SVN: r279849
2020-01-03 00:58:35 +01:00
Ian Lance Taylor
10172a64ce compiler, runtime, reflect: generate hash functions only for map keys
Right now we generate hash functions for all types, just in case they
    are used as map keys. That's a lot of wasted effort and binary size
    for types which will never be used as a map key. Instead, generate
    hash functions only for types that we know are map keys.
    
    Just doing that is a bit too simple, since maps with an interface type
    as a key might have to hash any concrete key type that implements that
    interface. So for that case, implement hashing of such types at
    runtime (instead of with generated code). It will be slower, but only
    for maps with interface types as keys, and maybe only a bit slower as
    the aeshash time probably dominates the dispatch time.
    
    Reorg where we keep the equals and hash functions. Move the hash function
    from the key type to the map type, saving a field in every non-map type.
    That leaves only one function in the alg structure, so get rid of that and
    just keep the equal function in the type descriptor itself.
    
    While we're here, reorganize the rtype struct to more closely match
    the gc version.
    
    This is the gofrontend version of https://golang.org/cl/191198.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/212843

From-SVN: r279848
2020-01-02 21:55:32 +00:00
Ian Lance Taylor
9279b5ba45 compiler: split writing of equal and hash functions for types
Separate the generation of type equality and hash functions, rather
    than doing them in a single operation.
    
    This is almost entirely a pure refactoring in preparation for
    generating hash functions only for types that are map keys.  The only
    change in generated code is that for types that are the size of
    numeric types, but not aligned like numeric types, such as [8]byte,
    now use standard hash functions.  They previously used special-purpose
    hash functions because they required special-purpose equal functions.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/212842

From-SVN: r279847
2020-01-02 21:51:07 +00:00
Andrew Pinski
45b6395b20 Add 1bit bit-field testcases.
2020-01-02  Andrew Pinski  <apinski@marvell.com>

        * gcc.c-torture/execute/bitfld-8.c: New testcase.
        * gcc.c-torture/execute/bitfld-9.c: New testcase.

From-SVN: r279846
2020-01-02 12:27:25 -08:00
Jakub Jelinek
4a08009efa re PR c/90677 (gcc-9.1.0 fails to build __gcc_diag__ souce: error: 'cgraph_node' is not defined as a type)
PR c/90677
	* cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name
	has not been found, rather than error_mark_node.

	* c-c++-common/pr90677-2.c: New test.

From-SVN: r279840
2020-01-02 18:29:59 +01:00
Dennis Zhang
f782b66765 [Arm] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16.
2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>

	* config/arm/arm-c.c (arm_cpu_builtins): Define
	__ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
	__ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
	__ARM_BF16_FORMAT_ALTERNATIVE when enabled.
	* config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
	* config/arm/arm-tables.opt: Regenerated.
	* config/arm/arm.c (arm_option_reconfigure_globals): Initialize
	arm_arch_i8mm and arm_arch_bf16 when enabled.
	* config/arm/arm.h (TARGET_I8MM): New macro.
	(TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
	* config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
	* config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
	* config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
	(v8_6_a_simd_variants): New.
	(v8_*_a_simd_variants): Add i8mm and bf16.
	* doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.

2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>

	* gcc.target/arm/multilib.exp: Add combination tests for armv8.6-a.

From-SVN: r279839
2020-01-02 17:22:53 +00:00
Dennis Zhang
b1b7274130 Add myself to MAINTAINERS
From-SVN: r279837
2020-01-02 16:09:57 +00:00
Tobias Burnus
48e76d2f70 Fortran] PR68020 – Fix implied-shape handling for rank > 2
PR fortran/68020
        * array.c (gfc_match_array_spec): Fix implied-type matching
        for rank > 2.

        PR fortran/68020
        * gfortran.dg/implied_shape_4.f90: New.
        * gfortran.dg/implied_shape_5.f90: New.

From-SVN: r279835
2020-01-02 16:40:51 +01:00
Jakub Jelinek
4ea5d54b3c re PR ipa/93087 (Bogus -Wsuggest-attribute=cold on function already marked as __attribute__((cold)))
PR ipa/93087
	* predict.c (compute_function_frequency): Don't call
	warn_function_cold on functions that already have cold attribute.

	* c-c++-common/cold-1.c: New test.

From-SVN: r279829
2020-01-02 10:15:00 +01:00
Jerry DeLisle
2b70275ee1 PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors.
PR libfortran/90274
        * io/format.c (parse_format_list): Implement the E0 exponent
        width to provide smallest possible width for exponent fields.
        Refactor code for correct parsing and better readability of the
        code.
        * io/io.h (write_real_w0): Change interface to pass in pointer
        to fnode.
        * io/transfer.c: Update all calls to write_real_w0 to use the
        new interface.
        * io/write.c ((write_real_w0): Use the new interface with fnode
        to access both the decimal precision and exponent widths used in
        build_float_string.
        * io/write_float.def (build_float_string): Use the passed in
        exponent width to calculate the used width in the case of E0.

From-SVN: r279828
2020-01-02 00:57:31 +00:00
GCC Administrator
a7ff7c7250 Daily bump.
From-SVN: r279827
2020-01-02 00:16:38 +00:00
John David Anglin
5b15f31ae8 re PR target/67834 (Local references inside comdat groups)
PR target/67834
	* config/pa/pa.c (pa_elf_select_rtx_section): New.  Put references to
	COMDAT group function labels in .data.rel.ro.local section.
	* config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.

From-SVN: r279823
2020-01-01 22:57:54 +00:00