Commit Graph

173907 Commits

Author SHA1 Message Date
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
Andrew Pinski
b31f1b64ab Fix windows libobjc build (PR libobjc/93099)
2020-01-01  Andrew Pinski  <pinskia@gmail.com>

        PR libobjc/93099
        * objc/objc-decls.h (objc_EXPORT): Define it to
        extern for DLL_EXPORT define case.

From-SVN: r279822
2020-01-01 14:16:35 -08:00
Thomas Koenig
ba4c5da7db Handle REF_INQUIRY for dependency checking.
2020-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93113
	* dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
	for ref types.

2020-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93113
	* gfortran.dg/dependency_58.f90: New test.

From-SVN: r279821
2020-01-01 21:40:35 +00:00
John David Anglin
cb15d1d34c re PR target/93111 (FAIL: gfortran.fortran-torture/compile/pr32663.f, -O3 -g (internal compiler error))
PR target/93111
	* config/pa/pa.md (scc): Use ordered_comparison_operator instead of
	comparison_operator in B and S integer comparisons.  Likewise, use
	ordered_comparison_operator instead of cmpib_comparison_operator in
	cmpib patterns.
	* config/pa/predicates.md (cmpib_comparison_operator): Remove.

From-SVN: r279818
2020-01-01 20:54:58 +00:00
John David Anglin
a8497ec610 baseline_symbols.txt: Update.
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r279816
2020-01-01 19:19:51 +00:00
Jakub Jelinek
8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jakub Jelinek
e528bf8d67 update-copyright.py: Add Mentor Graphics Corporation and Yoshinori Sato as external authors.
* update-copyright.py: Add Mentor Graphics Corporation and Yoshinori
	Sato as external authors.  Skip LICENSE.txt files.

From-SVN: r279812
2020-01-01 12:26:53 +01:00
Jakub Jelinek
7e7065b976 gcc.c (process_command): Update copyright notice dates.
* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c (print_version): Ditto.
	* gcov.c (print_version): Ditto.
	* gcov-tool.c (print_version): Ditto.
	* gengtype.c (create_file): Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.
gcc/fortran/ 
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.
gcc/d/
	* gdc.texi: Bump @copyrights-d year.
gcc/go/
	* gccgo.texi: Bump @copyrights-go year.
gcc/ada/
  	* gnat_ugn.texi: Bump @copying's copyright year.
  	* gnat_rm.texi: Likewise.
libitm/
	* libitm.texi: Bump @copying's copyright year.
libgomp/
	* libgomp.texi: Bump @copying's copyright year.
libquadmath/
	* libquadmath.texi: Bump @copying's copyright year.

From-SVN: r279811
2020-01-01 12:14:37 +01:00
Jan Hubicka
65c2b6d290 ipa.c (walk_polymorphic_call_targets): Fix updating of overall summary.
* ipa.c (walk_polymorphic_call_targets): Fix updating of overall
	summary.

From-SVN: r279810
2020-01-01 10:47:21 +00:00
Jakub Jelinek
2efa10d528 re PR tree-optimization/93098 (ICE with negative shifter)
PR tree-optimization/93098
	* match.pd (popcount): For shift amounts, use integer_onep
	or wi::to_widest () == cst instead of tree_to_uhwi () == cst
	tests.  Make sure that precision is power of two larger than or equal
	to 16.  Ensure shift is never negative.  Use HOST_WIDE_INT_UC macro
	instead of ULL suffixed constants.  Formatting fixes.

	* gcc.c-torture/compile/pr93098.c: New test.

From-SVN: r279809
2020-01-01 01:20:39 +01:00
GCC Administrator
b3b13bf186 Daily bump.
From-SVN: r279808
2020-01-01 00:16:17 +00:00
Richard Sandiford
dc176c3ccd Fix EXTRACT_LAST_REDUCTION segfault
This code:

      /* Make sure we don't accidentally use the old condition.  */
      cond_expr = NULL_TREE;

was misplaced, since it triggered even when we needed to force the
original unmodified cond_expr into a mask temporary and then invert it.

2019-12-31  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vect-stmts.c (vectorizable_condition): Only nullify cond_expr
	if we've created a new condition.  Don't nullify it if we've decided
	to keep it and then invert the result.

gcc/testsuite/
	* gcc.dg/vect/vect-cond-reduc-6.c: New test.

From-SVN: r279804
2019-12-31 15:32:06 +00:00
Ayush Mittal
2c8297996a re PR libgomp/93065 (libgomp: destructor missing to delete goacc_cleanup_key)
PR libgomp/93065
	* oacc-init.c (goacc_runtime_deinitialize): New function.

From-SVN: r279803
2019-12-31 11:34:34 +01:00
Richard Sandiford
e3969868d6 Fix SSA update when vectorisation adds a vdef to a read-only loop
This patch fixes an awkward corner case in which:

(a) we apply if-conversion to a loop;

(b) the original scalar loop doesn't have a vdef, and thus doesn't
    need a virtual phi;

(c) the vectorised main loop does need a vdef and a virtual phi (see below);

(d) we also vectorise the epilogue; and

(e) the vectorised epilogue still needs a scalar epilogue

The specific case in which (c) applies is if a read-only loop is
vectorised using IFN_LOAD_LANES, which uses clobber statements to
mark the lifetime of the temporary array.

The vectoriser relies on the SSA renamer to update virtual operands.
All would probably be well if it postponed this update until after
it had vectorised both the main loop and the epilogue loop.  However,
when vectorising the epilogue, vect_do_peeling does:

  create_lcssa_for_virtual_phi (loop);
  update_ssa (TODO_update_ssa_only_virtuals);

(with "loop" in this case being the to-be-vectorised epilogue loop).
So the vectoriser puts the virtual operand into SSA form for the
vectorised main loop as a separate step, during the early stages
of vectorising the epilogue.

I wasn't sure at first why that update_ssa was there.  It looked
initially like it was related to create_lcssa_for_virtual_phi,
which seemed strange when create_lcssa_for_virtual_phi keeps the
SSA form up-to-date.  But before r241099 it had the following comment,
which AFAICT is still the reason:

  /* We might have a queued need to update virtual SSA form.  As we
     delete the update SSA machinery below after doing a regular
     incremental SSA update during loop copying make sure we don't
     lose that fact.
     ???  Needing to update virtual SSA form by renaming is unfortunate
     but not all of the vectorizer code inserting new loads / stores
     properly assigns virtual operands to those statements.  */

The patch restores that comment since IMO it's helpful.

(a), (d) and (e) mean that we copy the original un-if-converted scalar
loop to act as the scalar epilogue.  The update_ssa above means that this
copying needs to cope with any new virtual SSA names in the main loop.
The code to do that (reasonably) assumed that one of two things was true:

(1) the scalar loop and the vector loops don't have vdefs, and so no
    virtual operand update is needed.  The definition that applies
    on entry to the loops is the same in all cases.

(2) the scalar loop and the vector loops have virtual phis, and so --
    after applying create_lcssa_for_virtual_phi on the to-be-vectorised
    epilogue loop -- the virtual operand update can be handled in the
    same way as for normal SSA names.

But (b) and (c) together mean that the scalar loop and the
still-to-be-vectorised epilogue loop have no virtual phi that (2)
can use.  We'd therefore keep the original vuses when duplicating,
rather than updating them to the definition that applies on exit
from the epilogue loop.  (Since the epilogue is still unvectorised
and has no vdefs, the definition that applies on exit is the same
as the one that applies on entry.)

This patch therefore adds a third case: the scalar loop and
to-be-vectorised epilogue have no virtual defs, but the main loop does.

2019-12-31  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Return
	the incoming virtual operand definition.
	(vect_do_peeling): When vectorizing an epilogue loop, handle the
	case in which the main loop has a virtual phi and the epilogue
	and scalar loops don't.  Restore an earlier comment about the
	update_ssa call.

gcc/testsuite/
	* gcc.dg/vect/vect-epilogues-2.c: New test.

From-SVN: r279802
2019-12-31 08:28:24 +00:00
GCC Administrator
657ccd4d5b Daily bump.
From-SVN: r279801
2019-12-31 00:16:37 +00:00
Olivier Hainque
8c3dbddbe6 Add ChangeLog entry for rev 279797
From-SVN: r279798
2019-12-30 22:46:25 +00:00
Olivier Hainque
5d8ccdc9a4 undefine OFFSET in testsuite/gcc.dg/vect/tree-vect.h
2019-12-20  Olivier Hainque  <hainque@adacore.com>

	* gcc.dg/vect/tree-vect.h: #undef OFFSET.

From-SVN: r279797
2019-12-30 22:42:02 +00:00
Corentin Gay
784daa979b VxWorks has_nanosleep for libstdc++ enable-libstdcxx-time auto
2019-12-30  Corentin Gay  <gay@adacore.com>

	* acinclude.m4 (vxworks*): New entry. Set ac_has_nanosleep=yes.
	* configure: Regenerate.

From-SVN: r279796
2019-12-30 22:36:14 +00:00
Olivier Hainque
1cf49e515c Prevent redefinition of WCHAR_MAX from testsuite/gcc.dg/cpp/ucs.c
gcc/testsuite/gcc.dg/cpp/ucs.c #include <limits.h>
and then crafts a definition of WCHAR_MAX depending
on __WCHAR_TYPE__.

The test fails in VxWorks configurations because WCHAR_MAX
is already exposed by the system limits.h.

The patch simply guards the tentative definition
by a check verifying if the macro is defined already, so
we're using the value exposed by limits.h in this case.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* testsuite/gcc.dg/cpp/ucs.c: Prevent redefinition
	of WCHAR_MAX if already exposed by limits.h.

From-SVN: r279795
2019-12-30 22:31:37 +00:00
Olivier Hainque
8ee81b4d27 allow $ in scan-tree-dump expressions matching symbol names
This change adjusts a few scan-tree-dump expressions
to allow '$' as well as '.' when matching symbol names,

This improves results on VxWorks targets configured with:

 #undef NO_DOLLAR_IN_LABEL
 #define NO_DOT_IN_LABEL

2019-12-20  Olivier Hainque  <hainque@adacore.com>
           Jerome Lambourg  <lambourg@adacore.com>

	* c-c++-common/pr56493.c: Allow '$' in addition to '.'
	scan-tree-dump expressions matching symbol names.
	* gcc.dg/tree-ssa/sra-17.c: Likewise.
	* gcc.dg/tree-ssa/sra-18.c: Likewise.

Co-Authored-By: Jerome Lambourg <lambourg@adacore.com>

From-SVN: r279794
2019-12-30 22:28:18 +00:00
Joel Brobecker
2f7f96b166 Guard aarch64/aapcs64 tests using abitest.S by check_weak_available
2019-12-16  Joel Brobecker  <brobecker@adacore.com>
           Olivier Hainque  <hainque@adacore.com>

	* gcc.target/aarch64/aapcs64/aapcs64.exp: Guard tests using
	abitest.S by check_weak_available.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>

From-SVN: r279793
2019-12-30 22:26:29 +00:00
Jerome Lambourg
c75e82cd60 Adapt libstdc++ os_defines for VxWorks to more recent versions
This change reworks the VxWorks specific os_defines.h internal
lisbstdc++ header to help fix build and runtime failures of various
kinds in environments from 6.4/6.9 to 7 SR640, based on experiments
and observations conducted against real installs of these OSes for
different CPU architectures.

2019-12-30  Jerome Lambourg  <lambourg@adacore.com>
           Olivier Hainque  <hainque@adacore.com>

	libstdc++
	* config/os/vxworks/os_defines.h
	(NOMINMAX): Always redefine to 1.
	(_NO_CPP_INLINES): Likewise.
	(_GLIBCXX_USE_WEAK_REF): Define to 1 for RTP on
	VxWorks >= 7, to 0 otherwise.
	(_GLIBCXX_HAVE_TLS): Define to 1.
	For VxWorks >= 7:
	(_GLIBCXX_USE_C99_MATH): Define to 1.
	(_GLIBCXX_USE_C99_MATH_FP_MACROS_DYNAMIC): Define to 0.
	(_HAS_TR1_DECLARATIONS): Redefine to 0.
	For VxWorks < 7, RTP:
	(_GLIBCXX_INCLUDE_NEXT_C_HEADERS): Define to 1.
	(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC): Redefine to 1.
	(__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): Define.
	For VxWorks < 7, kernel: #include <vxWorks.h>

Co-Authored-By: Olivier Hainque <hainque@adacore.com>

From-SVN: r279792
2019-12-30 22:22:34 +00:00
Olivier Hainque
bbbc05957e Arrange to preinclude yvals.h ahead of stdint on VxWorks 7
On Vxworks 7, includers of stdint.h (which we currently "provide")
need yvals.h to have been included ahead.

Instead of altering the common stdint-gcc.h with unpleasant
vxworks specific bits to do that, we arrange to provide stdint-gcc.h
on its own along with a stdint.h wrapper which preincludes yvals.h
on vx7 then includes stdint-gcc.h.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks/stdint.h: New file.  Include _yvals.h
	then stdint-gcc.h.
	* config/t-vxworks: Arrange to install the stdint.h wrapper.
	* config.gcc (*-*-vxworks*): Add stdint-gcc.h to $extra_headers
	so it gets copied.  Set use_gcc_stdint to request _not_ crafting
	stdint.h through the common Makefile rules.

From-SVN: r279791
2019-12-30 22:16:37 +00:00
Olivier Hainque
9905fec4d9 Add missing file expected with rev 279781
* config/vxworks-c.c: New file.

From-SVN: r279790
2019-12-30 22:09:26 +00:00
Joseph Myers
c1a75e9b74 * fi.po: Update.
From-SVN: r279788
2019-12-30 22:08:39 +00:00
Olivier Hainque
1d28a854b0 Add missing files expected with rev 279784
* config/vxworks/_yvals.h: New file.
	* config/vxworks/_yvals-wrapper.h: New file.
	* config/vxworks/math.h: Use it to wrap the VxWorks
	math.h header.
	* config/vxworks/complex.h: Likewise.
	* config/vxworks/setjmp.h: Likewise.
	* config/vxworks/inttypes.h: Likewise.

From-SVN: r279787
2019-12-30 21:55:47 +00:00