]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years ago[Fortran] PR 92072 – fix %C corner case
burnus [Mon, 14 Oct 2019 08:14:23 +0000 (08:14 +0000)] 
[Fortran] PR 92072 – fix %C corner case

        PR fortran/92072
        * error.c (error_print, gfc_format_decoder): Fix %C column-
        offset handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276953 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAdd expr_callee_abi
rsandifo [Mon, 14 Oct 2019 08:06:06 +0000 (08:06 +0000)] 
Add expr_callee_abi

This turned out to be useful for the SVE PCS support, and is a natural
tree-level analogue of insn_callee_abi.

2019-10-14  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* function-abi.h (expr_callee_abi): Declare.
* function-abi.cc (expr_callee_abi): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276952 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[C] Avoid exposing internal details in aka types
rsandifo [Mon, 14 Oct 2019 08:05:52 +0000 (08:05 +0000)] 
[C] Avoid exposing internal details in aka types

The current aka diagnostics can sometimes leak internal details that
seem more likely to be distracting than useful.  E.g. on aarch64:

  void f (va_list *va) { *va = 1; }

gives:

  incompatible types when assigning to type ‘va_list’ {aka ‘__va_list’} from type ‘int’

where __va_list isn't something the user is expected to know about.
A similar thing happens for C++ on the arm_neon.h-based:

  float x;
  int8x8_t y = x;

which gives:

  cannot convert ‘float’ to ‘int8x8_t’ {aka ‘__Int8x8_t’} in initialization

This is accurate -- and __Int8x8_t is defined by the AArch64 PCS --
but it's not going to be meaningful to most users.

This patch stops the aka code looking through typedefs if all of
the following are true:

(1) the typedef is built into the compiler or comes from a system header

(2) the target of the typedef is anonymous or has a name in the
    implementation namespace

(3) the target type is a tag type or vector type, which have in common that:
    (a) we print their type names if they have one
    (b) what we print for anonymous types isn't all that useful
        ("struct <anonymous>" etc. for tag types, pseudo-C "__vector(N) T"
        for vector types)

The patch does this by recursively looking for the aka type, like the
C++ frontend already does.  This in turn makes "aka" work for distinct type
copies like __Int8x8_t on aarch64, fixing the ??? in aarch64/diag_aka_1.c.

2019-10-14  Richard Sandiford  <richard.sandiford@arm.com>

gcc/c-family/
* c-common.h (user_facing_original_type_p): Declare.
* c-common.c: Include c-spellcheck.h.
(user_facing_original_type_p): New function.

gcc/c/
* c-objc-common.c (useful_aka_type_p): Replace with...
(get_aka_type): ...this new function.  Given the original type,
decide which aka type to print (if any).  Only look through typedefs
if user_facing_original_type_p.
(print_type): Update accordingly.

gcc/testsuite/
* gcc.dg/diag-aka-5.h: New test.
* gcc.dg/diag-aka-5a.c: Likewise.
* gcc.dg/diag-aka-5b.c: Likewise.
* gcc.target/aarch64/diag_aka_1.c (f): Expect an aka to be printed
for myvec.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276951 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoc/
jakub [Mon, 14 Oct 2019 06:52:46 +0000 (06:52 +0000)] 
c/
* c-parser.c (c_parser_omp_all_clauses): Change bool NESTED_P argument
into int NESTED, if it is 2, diagnose missing commas in between
clauses.
(c_parser_omp_context_selector): Pass 2 as last argument to
c_parser_omp_all_clauses.
cp/
* parser.c (cp_parser_omp_all_clauses): Change bool NESTED_P argument
into int NESTED, if it is 2, diagnose missing commas in between
clauses.
(cp_parser_omp_context_selector): Pass 2 as last argument to
cp_parser_omp_all_clauses.
testsuite/
* c-c++-common/gomp/declare-variant-7.c: Add tests for clauses not
separated by commas in simd selector trait properties.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276950 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoNormalize unsigned ~[0,0] into [1,MAX].
aldyh [Mon, 14 Oct 2019 06:43:03 +0000 (06:43 +0000)] 
Normalize unsigned ~[0,0] into [1,MAX].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276949 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix dump message issue
luoxhu [Mon, 14 Oct 2019 02:04:04 +0000 (02:04 +0000)] 
Fix dump message issue

'}' is missed at the end.

gcc/ChangeLog:

2019-10-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>

* tree-sra.c (dump_access): Add missing braces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276948 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Mon, 14 Oct 2019 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276947 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin, machopic 8/n] Back out part of PR71767 fix.
iains [Sun, 13 Oct 2019 18:58:50 +0000 (18:58 +0000)] 
[Darwin, machopic 8/n] Back out part of PR71767 fix.

We applied a conservative, but fairly large, hammer to fix PR71767.
However, ideally, we want minimise the number of symbols visible to
ld64 and to match the cases emitted by clang (since that's what ld64
is expecting).  Now we've improved the handling of indirections, we
can make the indirection symbols local when they are in the regular
non-lazy symbol pointers section.  We will continue to make any
indirections in the data section visible (since right now we have no
way to track if a given symbol follows a weak global).
This change makes no difference to handling of labels for constants
(to be revised in a future patch).

There's a mechanical change to a number of tests (allowing 'l' or 'L'
as the indirection symbol prefix).

gcc/ChangeLog:

2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c (machopic_indirection_name): Rework the
function to emit linker-visible symbols only for indirections
in the data section.  Clean up the code and update comments.

gcc/testsuite/ChangeLog:

2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>

* gcc.target/i386/indirect-thunk-1.c: Allow 'l' or 'L' in
indirection label prefix, for Darwin.
* gcc.target/i386/indirect-thunk-2.c: Likewise.
* gcc.target/i386/indirect-thunk-3.c: Likewise.
* gcc.target/i386/indirect-thunk-4.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
* gcc.target/i386/pr32219-2.c: Likewise.
* gcc.target/i386/pr32219-3.c: Likewise.
* gcc.target/i386/pr32219-4.c: Likewise.
* gcc.target/i386/pr32219-7.c: Likewise.
* gcc.target/i386/pr32219-8.c: Likewise.
* gcc.target/i386/ret-thunk-14.c: Likewise.
* gcc.target/i386/ret-thunk-15.c: Likewise.
* gcc.target/i386/ret-thunk-9.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276943 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin, machopic 7/n] Remove code that should be dead.
iains [Sun, 13 Oct 2019 18:30:25 +0000 (18:30 +0000)] 
[Darwin, machopic 7/n] Remove code that should be dead.

This code fragment was imported from the Apple branch (it was never
applied to mainline).  It is stated to fix up a problem sometimes
created by reload (before that had been extended to have greater
flexibility in assigning the pic registers).  In any event, reload
is no longer in use for the port.

gcc/ChangeLog:

2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c (machopic_indirect_data_reference): Remove
redundant code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276942 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-13 Damian Rouson <damain@sourceryinstitue.org>
kargl [Sun, 13 Oct 2019 17:16:40 +0000 (17:16 +0000)] 
2019-10-13  Damian Rouson  <damain@sourceryinstitue.org>

PR fortran/91513
* resolve.c (resolve_ordinary_assign): Improved error message.

2019-10-13  Damian Rouson  <damain@sourceryinstitue.org>

PR fortran/91513
* gfortran.dg/impure_assignment_2.f90: Update dg-error regex.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276941 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-13 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 13 Oct 2019 16:51:33 +0000 (16:51 +0000)] 
2019-10-13  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/90297
* resolve.c (resolve_typebound_function): Remove code with no
functional effect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276940 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[PATCH] teach gengtype about 'mutable'
nathan [Sun, 13 Oct 2019 14:46:45 +0000 (14:46 +0000)] 
[PATCH] teach gengtype about 'mutable'

https://gcc.gnu.org/ml/gcc-patches/2019-10/msg00942.html

In constifying some more of line-map I discovered gengtype didn't know mutable. Added thusly.
* gengtype-lex.l (CXX_KEYWORD): Add 'mutable'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276939 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-13 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 13 Oct 2019 13:42:30 +0000 (13:42 +0000)] 
2019-10-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/92017
* expr.c (simplify_parameter_variable): Set the character length
of the result expression from the original expression if
necessary.

2019-10-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/92017
* gfortran.dg/minmaxloc_14.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276938 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoRemove dg-add-options c99_runtime
ro [Sun, 13 Oct 2019 11:42:15 +0000 (11:42 +0000)] 
Remove dg-add-options c99_runtime

gcc:
* doc/sourcebuild.texi (Test Directives, Add Options): Remove
c99_runtime.

gcc/testsuite:
* lib/target-supports.exp (add_options_for_c99_runtime): Remove.
(check_effective_target_c99_runtime): Remove call to
add_options_for_c99_runtime.

* gcc.dg/builtins-18.c: Remove dg-add-options c99_runtime.
* gcc.dg/builtins-20.c: Likewise.
* gcc.dg/builtins-53.c: Likewise.
* gcc.dg/builtins-55.c: Likewise.
* gcc.dg/builtins-67.c: Likewise.
* gcc.dg/c99-tgmath-1.c: Likewise.
* gcc.dg/c99-tgmath-2.c: Likewise.
* gcc.dg/c99-tgmath-3.c: Likewise.
* gcc.dg/c99-tgmath-4.c: Likewise.
* gcc.dg/ipa/inline-8.c: Likewise.
* gcc.dg/ipa/ipa-icf-5.c: Likewise.
* gcc.dg/ipa/ipa-icf-7.c: Likewise.
* gcc.dg/nextafter-2.c: Likewise.
* gcc.dg/pr42427.c: Likewise.
* gcc.dg/pr78965.c: Likewise.
* gcc.dg/single-precision-constant.c: Likewise.
* gcc.dg/torture/builtin-convert-1.c: Likewise.
* gcc.dg/torture/builtin-convert-2.c: Likewise.
* gcc.dg/torture/builtin-convert-3.c: Likewise.
* gcc.dg/torture/builtin-convert-4.c: Likewise.
* gcc.dg/torture/builtin-fp-int-inexact.c: Likewise.
* gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Likewise.
* gcc.dg/torture/builtin-integral-1.c: Likewise.
* gcc.dg/torture/builtin-power-1.c: Likewise.
* gcc.dg/tree-ssa/copy-sign-1.c: Likewise.
* gcc.dg/tree-ssa/minmax-2.c: Likewise.
* gcc.dg/tree-ssa/mult-abs-2.c: Likewise.
* gcc.target/i386/387-builtin-fp-int-inexact.c: Likewise.
* gcc.target/i386/387-rint-inline-1.c: Likewise.
* gcc.target/i386/387-rint-inline-2.c: Likewise.
* gcc.target/i386/conversion.c: Likewise.
* gcc.target/i386/pr47312.c: Likewise.
* gcc.target/i386/sse2-builtin-fp-int-inexact.c: Likewise.
* gcc.target/i386/sse2-rint-inline-1.c: Likewise.
* gcc.target/i386/sse2-rint-inline-2.c: Likewise.
* gcc.target/i386/sse4_1-builtin-fp-int-inexact.c: Likewise.
* gcc.target/i386/sse4_1-rint-inline.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276937 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
hubicka [Sun, 13 Oct 2019 11:25:57 +0000 (11:25 +0000)] 
* lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
summary streaming.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276936 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * lto.c (lto_wpa_write_files): Do not update bodies of clones.
hubicka [Sun, 13 Oct 2019 08:34:10 +0000 (08:34 +0000)] 
* lto.c (lto_wpa_write_files): Do not update bodies of clones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276935 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
hubicka [Sun, 13 Oct 2019 07:34:31 +0000 (07:34 +0000)] 
* lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
so non-virutal are before virutals.
(output_function): Avoid body modifications.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276934 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sun, 13 Oct 2019 00:16:44 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276933 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * config/pa/pa.c (pa_output_call): Load descriptor address to register
danglin [Sat, 12 Oct 2019 20:37:37 +0000 (20:37 +0000)] 
* config/pa/pa.c (pa_output_call): Load descriptor address to register
%r22.  Load function address before global pointer.
(pa_attr_length_indirect_call): Adjust length of inline versions of
$$dyncall.
(pa_output_indirect_call): Remove fast inline version of $$dyncall
before normal cases.  Update inline $$dyncall sequences to preserve
function descriptor address in register %r22.
(TRAMPOLINE_CODE_SIZE): Adjust.
(pa_asm_trampoline_template): Revise 32-bit trampoline.  Don't assume
register %r22 contains trampoline address.
(pa_trampoline_init): Adjust offsets.
(pa_trampoline_adjust_address): Likewise.
* config/pa/pa.h (TRAMPOLINE_SIZE): Adjust 32-bit size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276928 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin, machopic 6/n] Fix for 67183
iains [Sat, 12 Oct 2019 19:41:50 +0000 (19:41 +0000)] 
[Darwin, machopic 6/n] Fix for 67183

When we're using the LLVM-based assembler (the default on modern Darwin)
the ordering of stubs and non-lazy symbol pointers is important.

Interleaving the output (current GCC behaviour) leads to crashes which
prevents us from building code with symbol stubs.

To resolve this, we order the output of stubs and symbol indirections:

 1. Any indirections in the data section
 2. Symbol stubs.
 3. Non-lazy symbol pointers.

At present, we still emit LTO sections after these.

gcc/ChangeLog:

2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>

PR target/67183
* config/darwin.c (machopic_indirection): New field to flag
non-lazy-symbol-pointers in the data section.
(machopic_indirection_name): Compute if an indirection should
appear in the data section.
(machopic_output_data_section_indirection): New callback split
from machopic_output_indirection.
(machopic_output_stub_indirection): Likewise.
(machopic_output_indirection): Retain the code for non-lazy
symbol pointers in their regular section.
(machopic_finish): Use the new callbacks to order the indirection
output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276926 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21.
danglin [Sat, 12 Oct 2019 19:40:42 +0000 (19:40 +0000)] 
* config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21.
Load PIC register after branch target.  Fix white space.
* config/pa/milli64.S ($$dyncall): Separate LINUX and non LINUX
implementations.  Load PIC register after branch target.  Don't
clobber function pointer when it points to function descriptor.
Use nullification instead of branch in LINUX implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276925 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin, machopic 5/n] Make machopic_finish() static.
iains [Sat, 12 Oct 2019 19:24:48 +0000 (19:24 +0000)] 
[Darwin, machopic 5/n] Make machopic_finish() static.

It's only called from darwin.c.

gcc/ChangeLog:

2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin-protos.h (machopic_finish): Delete.
* config/darwin.c (machopic_finish): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276924 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin] Suppress emitting empty ctor/dtor sections.
iains [Sat, 12 Oct 2019 19:20:43 +0000 (19:20 +0000)] 
[Darwin] Suppress emitting empty ctor/dtor sections.

Older versions of GCC emit empty .constructor/.destructor sections
whenever building for C++. In fact, these sections are only used for
kernel mode code - so don't emit them unless that's what we're
building.

gcc/ChangeLog:

2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c (darwin_file_end): Only emit empty CTOR/DTOR
sections when building kernel extension code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276923 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix the ChangeLog for my previous commit
palmer [Sat, 12 Oct 2019 19:07:16 +0000 (19:07 +0000)] 
Fix the ChangeLog for my previous commit

Fixes: 66ce32bb2a8 ("Fix the ChangeLog for my previous commit")
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276922 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoThe inline keyword is supported in all new C standards
palmer [Sat, 12 Oct 2019 19:05:38 +0000 (19:05 +0000)] 
The inline keyword is supported in all new C standards

The documentation used to indicate that the inline keyword was only
supported by c99 and c11, whereas in fact it is supported by c99 and all
newer standards.

gcc/ChangeLog

2019-10-12  Palmer Dabbelt  <palmer@sifive.com>

        * doc/extend.texi (Alternate Keywords): Change "-std=c11" to "a
        later standard."

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276921 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc/config/pa/pa.c (pa_option_override): Remove trailing comma
danglin [Sat, 12 Oct 2019 18:31:42 +0000 (18:31 +0000)] 
* gcc/config/pa/pa.c (pa_option_override): Remove trailing comma
from warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276920 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR ada/91995
ebotcazou [Sat, 12 Oct 2019 14:47:34 +0000 (14:47 +0000)] 
PR ada/91995
* sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls
to Defining_Entity.
* sem_elab.adb (Find_Unit_Entity): Likewise.  Deal with N_Subunit
here in lieu of in Defining_Entity.
* sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters.
* sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters,
and adjust accordingly.  Deal with N_Compilation_Unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276916 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR middle-end/92063
jakub [Sat, 12 Oct 2019 12:21:45 +0000 (12:21 +0000)] 
PR middle-end/92063
* tree-eh.c (operation_could_trap_helper_p) <case COND_EXPR>
<case VEC_COND_EXPR>: Return false with *handled = false.
(tree_could_trap_p): For {,VEC_}COND_EXPR return false instead of
recursing on the first operand.
* fold-const.c (simple_operand_p_2): Use generic_expr_could_trap_p
instead of tree_could_trap_p.
* tree-ssa-sccvn.c (vn_nary_may_trap): Formatting fixes.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276915 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoc-family/
jakub [Sat, 12 Oct 2019 08:27:36 +0000 (08:27 +0000)] 
c-family/
* c-common.h (c_omp_mark_declare_variant,
c_omp_context_selector_matches): Declare.
* c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
and hsa-common.h.
(c_omp_get_context_selector): Support second argument NULL.
(c_omp_mark_declare_variant, c_omp_context_selector_matches): New
functions.
* c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
attribute, add "omp declare variant base" and
"omp declare variant variant" attributes.
c/
* c-parser.c (c_parser_omp_context_selector): Improve error recovery.
For simd properties, put them directly into TREE_VALUE.
(c_finish_omp_declare_variant): Call c_omp_mark_declare_variant.
If c_omp_context_selector_matches is 0, don't add attribute, otherwise
add "omp declare variant base" attribute rather than
"omp declare variant".
cp/
* parser.c (cp_parser_omp_context_selector): Improve error recovery.
For simd properties, put them directly into TREE_VALUE.
(cp_finish_omp_declare_variant): Add "omp declare variant base"
attribute rather than "omp declare variant".
testsuite/
* c-c++-common/gomp/declare-variant-2.c: Adjust for error recovery
improvements.  Add new tests.
* c-c++-common/gomp/declare-variant-4.c: New test.
* c-c++-common/gomp/declare-variant-5.c: New test.
* c-c++-common/gomp/declare-variant-6.c: New test.
* c-c++-common/gomp/declare-variant-7.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276914 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago compiler: mangle dots in pkgpath
ian [Sat, 12 Oct 2019 01:06:43 +0000 (01:06 +0000)] 
compiler: mangle dots in pkgpath

    We need to mangle dots to avoid problems with -fgo-pkgpath=a.0.
    That will confuse the name mangling, which assumes that names
    entering the mangling cannot contain arbitrary dot characters.
    We don't need to mangle other characters; go_encode_id will handle them.

    Fixes golang/go#33871

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/200838

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276913 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sat, 12 Oct 2019 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276912 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoSupport decimal floating-point constants in C2x.
jsm28 [Fri, 11 Oct 2019 22:22:52 +0000 (22:22 +0000)] 
Support decimal floating-point constants in C2x.

ISO C2x adds decimal floating point as an optional standard feature.
This patch accordingly makes GCC accept DFP constants (DF, DD, DL, df,
dd, dl suffixes) in strict C2X mode, with a pedwarn-if-pedantic for
older standards and a warning with -Wc11-c2x-compat even in C2x mode
(which in turn requires -Wc11-c2x-compat to be newly passed through to
libcpp).

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc/c-family:
* c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
CppReason(CPP_W_C11_C2X_COMPAT).

gcc/testsuite:
* gcc.dg/dfp/c11-constants-1.c, gcc.dg/dfp/c11-constants-2.c,
gcc.dg/dfp/c2x-constants-1.c, gcc.dg/dfp/c2x-constants-2.c: New
tests.
* gcc.dg/dfp/constants-pedantic.c: Use -std=gnu17 explicitly.
Update expected diagnostics.

libcpp:
* include/cpplib.h (struct cpp_options): Add dfp_constants and
cpp_warn_c11_c2x_compat.
(enum cpp_warning_reason): Add CPP_W_C11_C2X_COMPAT.
* init.c (struct lang_flags): Add dfp_constants.
(lang_defaults): Set dfp_constants to 1 for GNUC2X and STDC2X and
0 for other languages.
(cpp_set_lang): Set dfp_constants from language.
(cpp_create_reader): Set cpp_warn_c11_c2x_compat to -1.
* expr.c (interpret_float_suffix): Mention DFP constants as C2X in
comment.
(cpp_classify_number): Do not diagnose DFP constants for languages
setting dfp_constants, unless cpp_warn_c11_c2x_compat.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276908 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR c++/92070 - bogus error with -fchecking=2.
mpolacek [Fri, 11 Oct 2019 20:53:26 +0000 (20:53 +0000)] 
PR c++/92070 - bogus error with -fchecking=2.

* g++.dg/expr/cond17.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276907 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR c++/92049 - extra error with -fchecking=2.
mpolacek [Fri, 11 Oct 2019 20:44:02 +0000 (20:44 +0000)] 
PR c++/92049 - extra error with -fchecking=2.

The concepts merge brought this bit

@@ -26326,9 +26559,9 @@ build_non_dependent_expr (tree expr)
     unexpected recursive instantiations.  */
       && !parsing_nsdmi ()
       /* Don't do this during concept expansion either and for
-         the same reason.  */
-      && !expanding_concept ())
-    fold_non_dependent_expr (expr, tf_none);
+    the same reason.  */
+      && !parsing_constraint_expression_p ())
+    fold_non_dependent_expr (expr);

   STRIP_ANY_LOCATION_WRAPPER (expr);

(which I'm not finding in the ChangeLog).  Dropping tf_none means that
fold_non_dependent_expr will use tf_warning_or_error by default, and in
this test that causes an error:

  template<bool> struct cond;

  template<int> struct S {
    void f(int i) {
      cond<__builtin_constant_p(i)>();
    }
  };

  S<1> s;

where it complains that cond<false> is incomplete.  Which it is, but we're
not actually instantiating the function f, so issuing an error seems
overzealous (though not wrong), and it breaks a bunch of tests.  This patch
brings that tf_none back.  We will still complain if we do instantiate f.

* pt.c (build_non_dependent_expr): Call fold_non_dependent_expr
with tf_none.

* g++.dg/template/builtin2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276906 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-10 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 11 Oct 2019 19:18:13 +0000 (19:18 +0000)] 
2019-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (cp_build_binary_op): Do not handle RROTATE_EXPR and
LROTATE_EXPR.
* constexpr.c (cxx_eval_constant_expression): Likewise.
(potential_constant_expression_1): Likewise.
* cp-gimplify.c (cp_fold): Likewise.
* pt.c (tsubst_copy): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276903 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPreserve the location of explicitly defaulted functions.
jason [Fri, 11 Oct 2019 18:55:14 +0000 (18:55 +0000)] 
Preserve the location of explicitly defaulted functions.

* decl2.c (mark_used): Don't clobber DECL_SOURCE_LOCATION on
explicitly defaulted functions.
* method.c (synthesize_method): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276902 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoExtend subst to simplify CONST_INT inside SIGN_EXTEND.
wilson [Fri, 11 Oct 2019 18:41:35 +0000 (18:41 +0000)] 
Extend subst to simplify CONST_INT inside SIGN_EXTEND.

This addresses PR 91860 which has four testcases triggering internal errors.
The problem here is that in combine when handling debug insns, we are trying
to substitute
(sign_extend:DI (const_int 8160 [0x1fe0]))
as the value for
(reg:DI 78 [ _9 ])
in the debug insn
(debug_insn 29 28 30 2 (var_location:QI d (subreg:QI (reg:DI 78 [ _9 ]) 0)) "tmp4.c":11:5 -1
     (nil))
This eventually triggers an abort because 8160 is not a sign-extended
QImode value.

In subst there is already code check for a CONST_INT inside a ZERO_EXTEND and
simplify it.  This needs to be extended to also handle a SIGN_EXTEND the same
way.

gcc/
PR rtl-optimization/91860
* combine.c (subst): If new_rtx is a constant, also check for
SIGN_EXTEND when deciding whether to call simplify_unary_operation.

gcc/testsuite/
PR rtl-optimization/91860
* gcc.dg/pr91860-1.c: New testcase.
* gcc.dg/pr91860-2.c: New testcase.
* gcc.dg/pr91860-3.c: New testcase.
* gcc.dg/pr91860-4.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276901 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 11 Oct 2019 18:05:35 +0000 (18:05 +0000)] 
2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/91649
check.c (gfc_check_findloc): Additional checking for valid arguments

2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/91649
* gfortran.dg/pr91649.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276900 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 11 Oct 2019 17:59:09 +0000 (17:59 +0000)] 
2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/91715
* decl.c (gfc_match_prefix): If matching a type-spec returns an error,
it's an error so re-act correctly.

2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/91715
* gfortran.dg/function_kinds_5.f90: Prune run-on error.
* gfortran.dg/pr85543.f90: Ditto.
* gfortran.dg/pr91715.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276899 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 11 Oct 2019 17:52:27 +0000 (17:52 +0000)] 
2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/92018
* check.c (reset_boz): New function.
(illegal_boz_arg, boz_args_check, gfc_check_complex, gfc_check_float,
gfc_check_transfer): Use it.
(gfc_check_dshift): Use reset_boz, and re-arrange the checking to
help suppress possible run-on errors.
(gfc_check_and): Restore checks for valid argument types.  Use
reset_boz, and re-arrange the checking to help suppress possible
  un-on errors.
* resolve.c (resolve_function): Actual arguments cannot be BOZ in
a function reference.

2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/92018
* gfortran.dg/gnu_logical_2.f90: Update dg-error regex.
* gfortran.dg/pr81509_2.f90: Ditto.
* gfortran.dg/pr92018.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276898 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 11 Oct 2019 17:41:29 +0000 (17:41 +0000)] 
2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/92019
* array.c (match_subscript): BOZ cannot be an array subscript.

2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/92019
* gfortran.dg/pr92019.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276897 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoSupport _Decimal* keywords for C2x.
jsm28 [Fri, 11 Oct 2019 17:32:48 +0000 (17:32 +0000)] 
Support _Decimal* keywords for C2x.

ISO C2x adds decimal floating point as an optional standard feature.
This patch accordingly makes GCC accept the _Decimal* keywords in
strict C2x mode, using pedwarn_c11 to get a warning for
-Wc11-c2x-compat.  (Constants, where the pedwarn is in libcpp, will be
dealt with separately.)

The _Decimal* keywords are marked with D_EXT, meaning they are not
considered keywords at all in strict conformance modes.  This is
contrary to the normal practice for most implementation-namespace
keywords, which are accepted in all standards modes but with
appropriate pedwarns for older standards.  This patch removes D_EXT
from those keywords so they are accepted as keywords for all
standards, consequently removing the gcc.dg/dfp/keywords-ignored-c99.c
test that is no longer valid.

(A new D_C2X for keywords will still be needed if any new keywords get
added that aren't in the implementation namespace for older standards;
there are proposals for such keywords, albeit as predefined macros
that might not actually need new keywords in the compiler in all
cases.  If the DFP keywords end up as decimal32 etc., of course
appropriate compiler and testcase changes will be needed, and a
version of keywords-ignored-c99.c would make sense again with such
spellings.)

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc/c:
* c-decl.c (declspecs_add_type): Use pedwarn_c11 for DFP types.

gcc/c-family:
* c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
_Decimal64 and _Decimal128.

gcc/testsuite:
* gcc.dg/dfp/c11-keywords-1.c, gcc.dg/dfp/c11-keywords-2.c,
gcc.dg/dfp/c2x-keywords-1.c, gcc.dg/dfp/c2x-keywords-2.c: New
tests.
* gcc.dg/dfp/keywords-ignored-c99.c: Remove test.
* gcc.dg/dfp/constants-c99.c, gcc.dg/dfp/keywords-c89.c,
gcc.dg/dfp/keywords-c99.c: Use -pedantic-errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276896 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * fi.po: Update.
jsm28 [Fri, 11 Oct 2019 17:23:50 +0000 (17:23 +0000)] 
* fi.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276894 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoImplement <concepts> header for C++20
redi [Fri, 11 Oct 2019 15:53:52 +0000 (15:53 +0000)] 
Implement <concepts> header for C++20

There are currently no tests for [concepts.compare], but they will be
added ASAP.

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/precompiled/stdc++.h: Include <concepts>.
* include/std/concepts: New header for C++20.
* include/std/version (__cpp_lib_concepts): Define.
* scripts/create_testsuite_files: Look for test files in new std
directory.
* testsuite/libstdc++-dg/conformance.exp: Likewise.
* testsuite/std/concepts/concepts.callable/invocable.cc: New test.
* testsuite/std/concepts/concepts.callable/regular_invocable.cc: New
test.
* testsuite/std/concepts/concepts.callable/relation.cc: New test.
* testsuite/std/concepts/concepts.callable/strictweakorder.cc: New
test.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/
floating_point.cc: New test.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/
signed_integral.cc: New test.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/
unsigned_integral.cc: New test.
* testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: New
test.
* testsuite/std/concepts/concepts.lang/concept.common/1.cc: New test.
* testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: New
test.
* testsuite/std/concepts/concepts.lang/concept.constructible/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
1.cc: New test.
* testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.same/1.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc:
New test.
* testsuite/std/concepts/concepts.lang/concept.swappable/
swappable_with.cc: New test.
* testsuite/std/concepts/concepts.object/copyable.cc: New test.
* testsuite/std/concepts/concepts.object/movable.cc: New test.
* testsuite/std/concepts/concepts.object/regular.cc: New test.
* testsuite/std/concepts/concepts.object/semiregular.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276892 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUse __is_same_as for std::is_same and std::is_same_v
redi [Fri, 11 Oct 2019 15:53:44 +0000 (15:53 +0000)] 
Use __is_same_as for std::is_same and std::is_same_v

By using the built-in we don't need to match a partial specialization
for std::is_same and don't need to instantiate std::is_same at all for
uses of std::is_same_v.

* include/std/type_traits (is_same): Replace partial specialization
by using __is_same_as built-in in primary template.
(is_same_v): Use __is_same_as built-in instead of instantiating the
is_same trait.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276891 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/92059 fix several bugs in tr2::dynamic_bitset
redi [Fri, 11 Oct 2019 15:29:55 +0000 (15:29 +0000)] 
PR libstdc++/92059 fix several bugs in tr2::dynamic_bitset

PR libstdc++/92059
* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
special member functions as defaulted. Add noexcept to most members.
(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
Mask off unwanted bits in the __val parameter. Avoid undefined left
shifts.
(__dynamic_bitset_base::_M_assign): Remove.
(__dynamic_bitset_base::_M_do_reset): Use std::fill.
(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
block_type has lower rank than int.
(dynamic_bitset): Add noexcept to most members. Use injected-class-name
in return types and parameter types.
(dynamic_bitset::_M_Nb): Add default member initializer.
(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
defaulted.
(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
defaulted.
(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
Define without using swap, to propagate allocator correctly.
(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
casts to avoid unwanted integer promotions.
(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
add default template arguments and default argument to simplify usage.
(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
(operator==(const dynamic_bitset&, const dynamic_bitset&))
(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
Adjust template parameters to match declaration.
* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
* testsuite/tr2/dynamic_bitset/cons.cc: New test.
* testsuite/tr2/dynamic_bitset/copy.cc: New test.
* testsuite/tr2/dynamic_bitset/move.cc: New test.
* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276890 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAvoid warnings in <charconv>
redi [Fri, 11 Oct 2019 15:29:50 +0000 (15:29 +0000)] 
Avoid warnings in <charconv>

* include/bits/charconv.h (__to_chars_len): Avoid -Wsign-compare
warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276889 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoRelax store_bit_field call in store_expr
rsandifo [Fri, 11 Oct 2019 14:44:13 +0000 (14:44 +0000)] 
Relax store_bit_field call in store_expr

store_bit_field already takes a poly_uint64 size, so we can relax the
INTVAL to rtx_to_poly_int64.  This is tested by the SVE ACLE patches.

2019-10-11  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* expr.c (store_expr): Use rtx_to_poly_int64 rather than
INTVAL when calling store_bit_field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276888 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[ARM] Tweak HONOR_REG_ALLOC_ORDER
wilco [Fri, 11 Oct 2019 14:23:28 +0000 (14:23 +0000)] 
[ARM] Tweak HONOR_REG_ALLOC_ORDER

Setting HONOR_REG_ALLOC_ORDER improves codesize with -Os, however it generates
slower and larger code with -O2 and higher.  So only set it when optimizing for
size.  On Cortex-A57 this improves SPECINT2006 by 0.15% and SPECFP2006 by 0.25%
while reducing codesize.

    gcc/
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for
size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276887 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 11 Oct 2019 14:17:32 +0000 (14:17 +0000)] 
2019-10-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to
        vectorizable_live_operation.
        (vectorizable_live_operation): Adjust parameters.
        * tree-vect-stmts.c (vect_init_vector,
        vect_gen_widened_results_half): Fix typo in function comment.
        (can_vectorize_live_stmts): Adjust function comment.
        Adjust parameters.  Adjust call to vectorizable_live_operation.
        (vect_analyze_stmt): Adjust call to can_vectorize_live_stmts.
        (vect_transform_stmt): Adjust function comment.  Adjust call to
        can_vectorize_live_stmts.
        * tree-vectorizer.h (vectorizable_live_operation): Adjust parameters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276886 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFortran] PR 92050 - fix ICE with -fcheck=all
burnus [Fri, 11 Oct 2019 13:41:13 +0000 (13:41 +0000)] 
Fortran] PR 92050 - fix ICE with -fcheck=all

        gcc/fortran/
        PR fortran/92050
        * trans-expr.c (gfc_conv_procedure_call): Handle code generated
        by -fcheck=all.

        gcc/testsuite/
        PR fortran/92050
        * gfortran.dg/pr92050.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276885 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Richard Biener <rguenther@suse.de>
rguenth [Fri, 11 Oct 2019 13:10:15 +0000 (13:10 +0000)] 
2019-10-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/90883
PR tree-optimization/91091
* tree-ssa-sccvn.c (vn_reference_lookup_3): Use correct
alias-sets both for recording VN table entries and continuing
walking after translating through copies.  Handle same-sized
reads from SSA names by returning the plain SSA name.
(eliminate_dom_walker::eliminate_stmt): Properly handle
non-size precision stores in redundant store elimination.

* gcc.dg/torture/20191011-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-82.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-83.c: Likewise.
* gcc.dg/tree-ssa/redundant-assign-zero-1.c: Disable FRE.
* gcc.dg/tree-ssa/redundant-assign-zero-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276882 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * ggc-page.c (release_pages): Output statistics when !quiet_flag.
hubicka [Fri, 11 Oct 2019 11:53:40 +0000 (11:53 +0000)] 
* ggc-page.c (release_pages): Output statistics when !quiet_flag.
(ggc_collect): Dump later to not interfere with release_page dump.
(ggc_trim): New function.
* ggc-none.c (ggc_trim): New.
* ggc.h (ggc_trim): Declare.

* lto.c (lto_wpa_write_files): Call ggc_trim.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276878 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Richard Biener <rguenther@suse.de>
rguenth [Fri, 11 Oct 2019 10:45:48 +0000 (10:45 +0000)] 
2019-10-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/92066
PR tree-optimization/92046
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Fix bogus cost model check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276876 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[OpenMP,Fortran] Fix several OpenMP use_device_addr/map/update errors
burnus [Fri, 11 Oct 2019 09:17:49 +0000 (09:17 +0000)] 
[OpenMP,Fortran] Fix several OpenMP use_device_addr/map/update errors

gcc/fortran/
* f95-lang.c (LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR): Re-define to
gfc_omp_is_allocatable_or_ptr.
* trans-decl.c (create_function_arglist): Set GFC_DECL_OPTIONAL_ARGUMENT
only if not passed by value.
* trans-openmp.c (gfc_omp_is_allocatable_or_ptr): New.
(gfc_trans_omp_clauses): For MAP, handle (present) optional arguments;
for target update, handle allocatable/pointer scalars.
* trans.h (gfc_omp_is_allocatable_or_ptr): Declare.

gcc/
* langhooks-def.h (LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR): Define.
(LANG_HOOKS_DECLS): Add it.
* langhooks.h (lang_hooks_for_decls): Add omp_is_allocatable_or_ptr;
update comment for omp_is_optional_argument.
* omp-general.c (omp_is_allocatable_or_ptr): New.
* omp-general.h (omp_is_allocatable_or_ptr): Declare.
* omp-low.c (scan_sharing_clauses, lower_omp_target): Handle
Fortran's optional arguments and allocatable/pointer scalars
with use_device_addr.

libgomp/
* testsuite/libgomp.fortran/use_device_addr-1.f90: New.
* testsuite/libgomp.fortran/use_device_addr-2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276875 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc-interface/decl.c (elaborate_reference_1): Specifically deal with
ebotcazou [Fri, 11 Oct 2019 09:17:23 +0000 (09:17 +0000)] 
* gcc-interface/decl.c (elaborate_reference_1): Specifically deal with
pointer displacement.

* gcc-interface/decl.c (components_to_record): Use proper name.

* gcc-interface/trans.c (Sloc_to_locus): Use standard types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276874 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc-interface/decl.c (gnat_to_gnu_field): Adjust again the packing
ebotcazou [Fri, 11 Oct 2019 09:09:40 +0000 (09:09 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_field): Adjust again the packing
for a field without strict alignment and with an oversized clause.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276873 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoS/390: Test signaling FP comparison instructions
iii [Fri, 11 Oct 2019 09:03:00 +0000 (09:03 +0000)] 
S/390: Test signaling FP comparison instructions

gcc/testsuite/ChangeLog:

2019-10-11  Ilya Leoshkevich  <iii@linux.ibm.com>

PR target/77918
* gcc.target/s390/s390.exp: Enable Fortran tests.
* gcc.target/s390/zvector/autovec-double-quiet-eq.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-ge.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-gt.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-le.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-lt.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-ordered.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-uneq.c: New test.
* gcc.target/s390/zvector/autovec-double-quiet-unordered.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-eq-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-eq-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-eq.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ge-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ge-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ge.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-gt-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-gt-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-gt.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-le-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-le-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-le.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-lt-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-lt-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-lt.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ltgt-z13-finite.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ltgt-z13.c: New test.
* gcc.target/s390/zvector/autovec-double-signaling-ltgt.c: New test.
* gcc.target/s390/zvector/autovec-double-smax-z13.F90: New test.
* gcc.target/s390/zvector/autovec-double-smax.F90: New test.
* gcc.target/s390/zvector/autovec-double-smin-z13.F90: New test.
* gcc.target/s390/zvector/autovec-double-smin.F90: New test.
* gcc.target/s390/zvector/autovec-float-quiet-eq.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-ge.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-gt.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-le.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-lt.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-ordered.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-uneq.c: New test.
* gcc.target/s390/zvector/autovec-float-quiet-unordered.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-eq.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-ge.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-gt.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-le.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-lt.c: New test.
* gcc.target/s390/zvector/autovec-float-signaling-ltgt.c: New test.
* gcc.target/s390/zvector/autovec-fortran.h: New test.
* gcc.target/s390/zvector/autovec-long-double-signaling-ge.c: New test.
* gcc.target/s390/zvector/autovec-long-double-signaling-gt.c: New test.
* gcc.target/s390/zvector/autovec-long-double-signaling-le.c: New test.
* gcc.target/s390/zvector/autovec-long-double-signaling-lt.c: New test.
* gcc.target/s390/zvector/autovec.h: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276872 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoS/390: Use signaling FP comparison instructions
iii [Fri, 11 Oct 2019 09:00:26 +0000 (09:00 +0000)] 
S/390: Use signaling FP comparison instructions

dg-torture.exp=inf-compare-1.c is failing, because (qNaN > +Inf)
comparison is compiled to CDB instruction, which does not signal an
invalid operation exception. KDB should have been used instead.

This patch introduces a new CCmode and a new pattern in order to
generate signaling instructions in this and similar cases.

gcc/ChangeLog:

2019-10-11  Ilya Leoshkevich  <iii@linux.ibm.com>

PR target/77918
* config/s390/2827.md: Add new opcodes.
* config/s390/2964.md: Likewise.
* config/s390/3906.md: Likewise.
* config/s390/8561.md: Likewise.
* config/s390/s390-builtins.def (s390_vfchesb): Use
the new vec_cmpgev4sf_quiet_nocc.
(s390_vfchedb): Use the new vec_cmpgev2df_quiet_nocc.
(s390_vfchsb): Use the new vec_cmpgtv4sf_quiet_nocc.
(s390_vfchdb): Use the new vec_cmpgtv2df_quiet_nocc.
(vec_cmplev4sf): Use the new vec_cmplev4sf_quiet_nocc.
(vec_cmplev2df): Use the new vec_cmplev2df_quiet_nocc.
(vec_cmpltv4sf): Use the new vec_cmpltv4sf_quiet_nocc.
(vec_cmpltv2df): Use the new vec_cmpltv2df_quiet_nocc.
* config/s390/s390-modes.def (CCSFPS): New mode.
* config/s390/s390.c (s390_match_ccmode_set): Support CCSFPS.
(s390_select_ccmode): Return CCSFPS for LT, LE, GT, GE and LTGT.
(s390_branch_condition_mask): Reuse CCS for CCSFPS.
(s390_expand_vec_compare): Use non-signaling patterns where
necessary.
(s390_reverse_condition): Support CCSFPS.
* config/s390/s390.md (*cmp<mode>_ccsfps): New pattern.
* config/s390/vector.md: (VFCMP_HW_OP): Remove.
(asm_fcmp_op): Likewise.
(*smaxv2df3_vx): Use pattern for quiet comparison.
(*sminv2df3_vx): Likewise.
(*vec_cmp<VFCMP_HW_OP:code><mode>_nocc): Remove.
(*vec_cmpeq<mode>_quiet_nocc): New pattern.
(vec_cmpgt<mode>_quiet_nocc): Likewise.
(vec_cmplt<mode>_quiet_nocc): New expander.
(vec_cmpge<mode>_quiet_nocc): New pattern.
(vec_cmple<mode>_quiet_nocc): New expander.
(*vec_cmpeq<mode>_signaling_nocc): New pattern.
(*vec_cmpgt<mode>_signaling_nocc): Likewise.
(*vec_cmpgt<mode>_signaling_finite_nocc): Likewise.
(*vec_cmpge<mode>_signaling_nocc): Likewise.
(*vec_cmpge<mode>_signaling_finite_nocc): Likewise.
(vec_cmpungt<mode>): New expander.
(vec_cmpunge<mode>): Likewise.
(vec_cmpuneq<mode>): Use quiet patterns.
(vec_cmpltgt<mode>): Allow only on z14+.
(vec_cmpordered<mode>): Use quiet patterns.
(vec_cmpunordered<mode>): Likewise.
(VEC_CMP_EXPAND): Add ungt and unge.

gcc/testsuite/ChangeLog:

2019-10-11  Ilya Leoshkevich  <iii@linux.ibm.com>

* gcc.target/s390/vector/vec-scalar-cmp-1.c: Adjust
expectations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276871 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDo not allocate ggc during streaming.
hubicka [Fri, 11 Oct 2019 08:59:16 +0000 (08:59 +0000)] 
Do not allocate ggc during streaming.

* gimple-streamer-out.c (output_gimple_stmt): Add explicit function
parameter.
* lto-streamer-out.c: Include tree-dfa.h.
(output_cfg): Do not use cfun.
(lto_prepare_function_for_streaming): New.
(output_function): Do not push cfun; do not initialize loop optimizer.
* lto-streamer.h (lto_prepare_function_for_streaming): Declare.
* passes.c (ipa_write_summaries): Use it.
(ipa_write_optimization_summaries): Do not modify bodies.
* tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter.
* tree.dfa.h (renumber_gimple_stmt_uids): Update prototype.
* tree-ssa-dse.c (pass_dse::execute): Update use of
renumber_gimple_stmt_uids.
* tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise.

* lto.c (lto_wpa_write_files): Prepare all bodies for streaming.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276870 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Really test the
ebotcazou [Fri, 11 Oct 2019 08:57:18 +0000 (08:57 +0000)] 
* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Really test the
sign of the value when deciding to build a NEGATE_EXPR.
<PLUS_EXPR>: Remove redundant line.
<BIT_AND_EXPR>: Do the negation here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276866 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Array_Subtype>: New
ebotcazou [Fri, 11 Oct 2019 08:33:03 +0000 (08:33 +0000)] 
* gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Array_Subtype>: New
case.  Return the base type if the subtype is not constrained.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276865 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_{Integer|Real}>:
ebotcazou [Fri, 11 Oct 2019 08:19:03 +0000 (08:19 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_{Integer|Real}>:
New case to deal with the definition of named numbers.
<E_Variable>: Minor tweaks.  Set DECL_IGNORED_P on the CONST_DECL
if a corresponding variable is built.
* gcc-interface/trans.c (gnat_to_gnu) <N_Integer_Literal>: Return
error_mark_node instead of aborting on overflow for named numbers.
<N_Number_Declaration>: Reuse the <N_Object_Declaration> case and
deal with error_mark_node specifically.
* gcc-interface/utils.c (create_var_decl): Do not set DECL_IGNORED_P
on CONST_DECLs.
(gnat_write_global_declarations): Output global constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276864 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Repair ChangeLog entries
pmderodat [Fri, 11 Oct 2019 07:56:41 +0000 (07:56 +0000)] 
[Ada] Repair ChangeLog entries

My scripts and I unexpectedly erased gcc/ada/ChangeLog yesterday. This
commit restores the ChangeLog file to its previous state and adds the
entries for my commits yesterday.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276861 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/91987
jakub [Fri, 11 Oct 2019 07:36:07 +0000 (07:36 +0000)] 
PR c++/91987
cp/
* decl2.c (grok_array_decl): For -fstrong-eval-order, when array ref
operands have been swapped and at least one operand has side-effects,
revert the swapping before calling build_array_ref.
* typeck.c (cp_build_array_ref): For non-ARRAY_TYPE array ref with
side-effects on the index operand, if -fstrong-eval-order use
save_expr around the array operand.
(cp_build_binary_op): For shifts with side-effects in the second
operand, wrap first operand into SAVE_EXPR and evaluate it before
the shift.
* semantics.c (handle_omp_array_sections_1): Temporarily disable
flag_strong_eval_order during OMP_CLAUSE_REDUCTION array section
processing.
* cp-gimplify.c (gimplify_to_rvalue): New function.
(cp_gimplify_expr): Use it.
testsuite/
* g++.dg/cpp1z/eval-order6.C: New test.
* g++.dg/cpp1z/eval-order7.C: New test.
* g++.dg/cpp1z/eval-order8.C: New test.
* c-c++-common/gomp/pr91987.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276860 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-11 Kewen Lin <linkw@gcc.gnu.org>
linkw [Fri, 11 Oct 2019 06:01:30 +0000 (06:01 +0000)] 
2019-10-11  Kewen Lin  <linkw@gcc.gnu.org>

    * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Lower
    vec_promote_demote cost to 1 for non-Power7 VSX architectures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276859 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Fri, 11 Oct 2019 00:16:43 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276858 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUpdate DFP macros in float.h for C2x and TS 18661-2.
jsm28 [Thu, 10 Oct 2019 22:54:33 +0000 (22:54 +0000)] 
Update DFP macros in float.h for C2x and TS 18661-2.

GCC's <float.h> includes various macros for decimal floating-point
types, defined if __STDC_WANT_DEC_FP__, as defined in TS 24732.

TS 18661-2 and C2X make some changes to those macros.  In TS 18661-2,
they are to be defined if __STDC_WANT_IEC_60559_DFP_EXT__, and the
*_SUBNORMAL_MIN macros are renamed to *_TRUE_MIN.  In C2X, the macros
are to be defined whenever DFP is supported, without needing any
feature test macro to be defined.

This patch updates the header accordingly.  There is no existing
predefined macro for whether the target supports DFP; rather than
adding a new macro for that purpose, this patch changes the predefined
macros used in <float.h> so that they are only defined when DFP is
supported and thus can be used as conditionals; this is the same way
predefined macros for _FloatN and _FloatNx types work.  Although
formally TR 24732 and TS 18661-2 say nothing about implementations
lacking DFP support, it seems appropriate to avoid defining the macros
in <float.h>, in the absence of DFP support, even if the respective
feature test macros are defined.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.  Also tested
the c2x-float-no-dfp-* tests for aarch64-linux-gnu to make sure they
do pass in a no-DFP configuration.

gcc:
* ginclude/float.h [!__DEC32_MANT_DIG__]: Do not define DFP
macros.
[__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L]:
Also define DFP macros for these conditions.
[!__STDC_WANT_DEC_FP__] (DEC32_SUBNORMAL_MIN, DEC64_SUBNORMAL_MIN,
DEC128_SUBNORMAL_MIN): Do not define.
[__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L]
(DEC32_TRUE_MIN, DEC64_TRUE_MIN, DEC128_TRUE_MIN): New macros.

gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
types if DFP not supported.

gcc/testsuite:
* gcc.dg/c11-float-dfp-1.c, gcc.dg/c2x-float-no-dfp-1.c,
gcc.dg/c2x-float-no-dfp-2.c, gcc.dg/dfp/c2x-float-dfp-1.c,
gcc.dg/dfp/c2x-float-dfp-2.c, gcc.dg/dfp/c2x-float-dfp-3.c,
gcc.dg/dfp/tr24732-float-dfp-1.c,
gcc.dg/dfp/ts18661-2-float-dfp-1.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276854 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-10-10 Xiong Hu Luo <luoxhu@linux.ibm.com>
sandra [Thu, 10 Oct 2019 19:44:26 +0000 (19:44 +0000)] 
2019-10-10  Xiong Hu Luo  <luoxhu@linux.ibm.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/

PR middle-end/26241
* doc/lto.texi (IPA): Reference to the IPA passes.
* doc/passes.texi (Pass manager): Add node IPA passes and
  description for each IPA pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276851 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * ipa-reference.c: Do not include splay-tree.h
hubicka [Thu, 10 Oct 2019 19:31:58 +0000 (19:31 +0000)] 
* ipa-reference.c: Do not include splay-tree.h
(reference_vars_to_consider): Turn to hash map.
(get_static_name, ipa_init, analyze_function, propagate,
stream_out_bitmap, ipa_reference_write_optimization_summary,
ipa_reference_write_optimization_summary): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276850 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * ipa-reference.c (propagate): Fix releasing of IPA summaries.
hubicka [Thu, 10 Oct 2019 19:20:01 +0000 (19:20 +0000)] 
* ipa-reference.c (propagate): Fix releasing of IPA summaries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276849 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Darwin, machopic 4/n] Arrange to indirect IVARs when needed.
iains [Thu, 10 Oct 2019 19:14:07 +0000 (19:14 +0000)] 
[Darwin, machopic 4/n] Arrange to indirect IVARs when needed.

Objective C V2 (m64) IVAR offset refs from Apple GCC-4.x have an indirection
for m64 code on PPC (which is the only 64b user for Mach-O PIC).  Apple GCC
4.x places the indirections in the .data section, however this seems to have
been unintentional - and we are placing the indirections in the non-lazy
symbol pointers section.

gcc/ChangeLog:

2019-10-10  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c: Lookup Objective C metadata and force indirection
for IVAR refs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276848 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Objective-C, NeXT ABI] Identify V2 IVAR refs by metadata.
iains [Thu, 10 Oct 2019 19:04:33 +0000 (19:04 +0000)] 
[Objective-C, NeXT ABI]  Identify V2 IVAR refs by metadata.

For the NeXT 64b ABI, IVAR refs are supposed to be indirected for
Mach-O PIC.  Identify them so that we can act as needed.

gcc/objc/ChangeLog:

2019-10-10  Iain Sandoe  <iain@sandoe.co.uk>

* objc-next-metadata-tags.h (OCTI_RT_META_IVAR_REF): New.
(meta_ivar_ref): New.
* objc-next-runtime-abi-02.c
(next_runtime_abi_02_init_metadata_attributes): Create the
IVAR ref metadata identifier.
(ivar_offset_ref): Tag IVAR refs with specific metadata.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276847 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAdd check for prefixed addresses.
meissner [Thu, 10 Oct 2019 18:54:50 +0000 (18:54 +0000)] 
Add check for prefixed addresses.

2019-10-10  Michael Meissner  <meissner@linux.ibm.com>

* config/rs6000/rs6000.c (quad_address_p): Add check for prefixed
addresses.
(mem_operand_gpr): Add check for prefixed addresses.
(mem_operand_ds_form): Add check for prefixed addresses.
(rs6000_legitimate_offset_address_p): If we support prefixed
addresses, check for a 34-bit offset instead of 16-bit.
(rs6000_legitimate_address_p): Add check for prefixed addresses.
Do not allow load/store with update if the address is prefixed.
(rs6000_mode_dependent_address):  If we support prefixed
addresses, check for a 34-bit offset instead of 16-bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276846 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDocumentation hyperlinks for [-Wname-of-option] (PR 87488)
dmalcolm [Thu, 10 Oct 2019 17:03:46 +0000 (17:03 +0000)] 
Documentation hyperlinks for [-Wname-of-option] (PR 87488)

This patch uses the support for pretty-printing escaped URLs added in
the previous patch (PR 87488) so that in a sufficiently capable terminal
the [-Wname-of-option] emitted at the end of each diagnostic becomes a
hyperlink to the documentation for that option on the GCC website.

I've tested it with Fedora 30's GNOME Terminal (3.32.2 with VTE 0.56.3);
the option text is printed with a dotted underline, hovering shows the
URL, and on right-clicking it offers menu items to visit/copy the URL.

gcc/ChangeLog:
PR 87488
* Makefile.in (CFLAGS-opts.o): Pass in DOCUMENTATION_ROOT_URL via
-D.
* configure.ac (--with-documentation-root-url): New option.
* configure: Regenerate.
* diagnostic-format-json.cc (json_end_diagnostic): If there is an
option URL, add it as a new string field of the diagnostic option.
* diagnostic.c (diagnostic_initialize): Initialize get_option_url.
(print_option_information): If get_option_url is non-NULL, call
it, and if the result is non-NULL, potentially emit an escape
sequence to markup the option text with the resulting URL.
* diagnostic.h (diagnostic_context::get_option_url): New callback.
* doc/invoke.texi (-fdiagnostics-format=): Add "option_url" to
example of JSON output.
* opts-diagnostic.h (get_option_url): New decl.
* opts.c (get_option_url): New function.
* toplev.c (general_init): Initialize the get_option_url callback.

gcc/testsuite/ChangeLog:
PR 87488
* c-c++-common/diagnostic-format-json-2.c: Expect an "option_url"
field.
* c-c++-common/diagnostic-format-json-3.c: Likewise.
* gfortran.dg/diagnostic-format-json-2.F90: Likewise.
* gfortran.dg/diagnostic-format-json-3.F90: Likewise.
* jit.dg/test-error-array-bounds.c (create_code): Ensure that
error messages don't contain escaped URLs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276843 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[PATCH 1/3] S/390: Do not use signaling vector comparisons on z13
iii [Thu, 10 Oct 2019 17:00:29 +0000 (17:00 +0000)] 
[PATCH 1/3] S/390: Do not use signaling vector comparisons on z13

z13 supports only non-signaling vector comparisons.  This means we
cannot vectorize LT, LE, GT, GE and LTGT when compiling for z13.  Notify
middle-end about this by using more restrictive operator predicate in
vcond<V_HW:mode><V_HW2:mode>.

gcc/ChangeLog:

2019-10-10  Ilya Leoshkevich  <iii@linux.ibm.com>

PR target/77918
* config/s390/vector.md (vcond_comparison_operator): New
predicate.
(vcond<V_HW:mode><V_HW2:mode>): Use vcond_comparison_operator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276842 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agopretty-print: support URL escape sequences (PR 87488)
dmalcolm [Thu, 10 Oct 2019 16:57:30 +0000 (16:57 +0000)] 
pretty-print: support URL escape sequences (PR 87488)

https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
describes an emerging standard for embedding URLs in escape sequences
for marking up text output.  This is supported e.g. by recent releases
of GNOME Terminal.

This patch adds support to our pretty-printing framework for emitting
URLs.

A followup patch uses this to add URLs to the pertinent documentation
for the output of -fdiagnostics-show-option.

gcc/ChangeLog:
PR 87488
* common.opt (fdiagnostics-urls=): New option.
(diagnostic-url.h): Add SourceInclude.
(diagnostic_url_rule): New enum.
* diagnostic-color.c: Include "diagnostic-url.h".
(diagnostic_urls_enabled_p): New function.
* diagnostic-url.h: New file.
* diagnostic.c: Include "diagnostic-url.h".
(diagnostic_urls_init): New function.
* diagnostic.h (diagnostic_urls_init): New decl.
* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-fdiagnostics-urls to the list.
(-fdiagnostics-urls): New option.
* gcc.c (driver_handle_option): Handle OPT_fdiagnostics_urls_.
(driver::global_initializations): Call diagnostic_urls_init.
* opts-global.c (init_options_once): Likewise.
* opts.c (common_handle_option): Handle OPT_fdiagnostics_urls_.
* pretty-print.c (pretty_printer::pretty_printer): Initialize
show_urls.
(pp_begin_url): New function.
(pp_end_url): New function.
(selftest::test_urls): New selftest.
(selftest::pretty_print_c_tests): Call it.
* pretty-print.h (pretty_printer::show_urls): New field.
(pp_begin_url): New decl.
(pp_end_url): New decl.

gcc/testsuite/ChangeLog:
PR 87488
* lib/prune.exp (TEST_ALWAYS_FLAGS): Add -fdiagnostics-urls=never.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276841 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/91057 fix bootstrap failure on powerpc
redi [Thu, 10 Oct 2019 16:16:17 +0000 (16:16 +0000)] 
PR libstdc++/91057 fix bootstrap failure on powerpc

PR libstdc++/91057
* src/c++98/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]
(find_ldbl_sync_facet): Fix parameter type and missing return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276840 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR target/92022
uros [Thu, 10 Oct 2019 16:11:10 +0000 (16:11 +0000)] 
PR target/92022
* config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN.

testsuite/ChangeLog:

PR target/92022
* g++.dg/pr92022.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276839 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Handling up-level references in loops within library-level declarations
pmderodat [Thu, 10 Oct 2019 15:25:36 +0000 (15:25 +0000)] 
[Ada] Handling up-level references in loops within library-level declarations

2019-10-10  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): When
encountering a loop at the top level of a package declaration
list (that is, within the declarations of a package spec or
body) that has nested subprograms, call Unnest_Loop to create a
new library-level procedure that will contain the loop, to allow
for proper handling of up-level references from within nested
subprograms, such as to loop parameters.
(Unnest_Loop): New procedure that takes a loop statement and
creates a new procedure body to enclose the loop statement,
along with generating a call to the procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276836 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Ensure constructor is a C++ constructor
pmderodat [Thu, 10 Oct 2019 15:25:32 +0000 (15:25 +0000)] 
[Ada] Ensure constructor is a C++ constructor

2019-10-10  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

* freeze.adb (Freeze_Subprogram): Ensure constructor is a C++
constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276835 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Add pragma Preelaborable_Initialization to Stream_IO.File_Type
pmderodat [Thu, 10 Oct 2019 15:25:27 +0000 (15:25 +0000)] 
[Ada] Add pragma Preelaborable_Initialization to Stream_IO.File_Type

2019-10-10  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* libgnat/a-ststio.ads (File_Type): Apply pragma
Preelaborable_Initialization to the type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276834 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Fix inlining of subprograms with deep param/result in GNATprove
pmderodat [Thu, 10 Oct 2019 15:25:22 +0000 (15:25 +0000)] 
[Ada] Fix inlining of subprograms with deep param/result in GNATprove

2019-10-10  Yannick Moy  <moy@adacore.com>

gcc/ada/

* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not peek
under private types whose completion is SPARK_Mode Off.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276833 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Various minor typo fixes
pmderodat [Thu, 10 Oct 2019 15:25:18 +0000 (15:25 +0000)] 
[Ada] Various minor typo fixes

2019-10-10  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* exp_ch4.adb, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
sem_ch6.adb, sem_prag.adb, sem_util.adb, sem_util.ads: Minor
typo fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276832 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Spurious warning on call with out parameter in expression function
pmderodat [Thu, 10 Oct 2019 15:25:13 +0000 (15:25 +0000)] 
[Ada] Spurious warning on call with out parameter in expression function

2019-10-10  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* sem_warn.adb (Warn_On_Useless_Assignment): Do not warn if the
second assignment is at the same source position as the first.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276831 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Unnesting issues with entry families and accept statements
pmderodat [Thu, 10 Oct 2019 15:25:08 +0000 (15:25 +0000)] 
[Ada] Unnesting issues with entry families and accept statements

2019-10-10  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* sem_util.adb (Enclosing_Subprogram): Handle the case of
E_Entry_Family, returning the entry family's associated
Protected_Body_Subprogram (as was already done for E_Entry).
* exp_ch9.adb (Expand_N_Accept_Statement): Call Reset_Scopes_To
on the block created for an accept statement to reset the scopes
of any local entities to the block scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276830 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Spurious visibility error on formal package with Abstract_State
pmderodat [Thu, 10 Oct 2019 15:25:03 +0000 (15:25 +0000)] 
[Ada] Spurious visibility error on formal package with Abstract_State

2019-10-10  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* sem_ch12.adb (Analyze_Formal_Package_Declaration): Propagate
an aspect specification for Abstract_State from generic package
to formal package, so that it is available when analyzing the
constructed formal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276829 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Fix awkward placement of freeze node for actual subtype
pmderodat [Thu, 10 Oct 2019 15:24:38 +0000 (15:24 +0000)] 
[Ada] Fix awkward placement of freeze node for actual subtype

2019-10-10  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* sem_ch6.adb (Set_Actual_Subtypes): Put the freeze node of the
actual subtype after its declaration when the type of the formal
has a predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276828 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Get rid of spurious error for _Tag on extension with reverse bit order
pmderodat [Thu, 10 Oct 2019 15:24:26 +0000 (15:24 +0000)] 
[Ada] Get rid of spurious error for _Tag on extension with reverse bit order

2019-10-10  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Do not use
the Esize of the component to compute its layout, but only the
Component_Clause.  Do not issue a warning for the _Tag
component.  Also set the Esize of the component at the end of
the layout.
(Analyze_Record_Representation_Clause): Remove Hbit local
variable.  Lay out the Original_Record_Component only if it's
distinct from the component.
(Check_Record_Representation_Clause): Fix off-by-one bug for the
Last_Bit of the artificial clause built for the _Tag component.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276827 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Debug procedure for printing ancestors
pmderodat [Thu, 10 Oct 2019 15:24:06 +0000 (15:24 +0000)] 
[Ada] Debug procedure for printing ancestors

2019-10-10  Bob Duff  <duff@adacore.com>

gcc/ada/

* treepr.ads, treepr.adb (ppar): New procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276826 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] 'others' in conditional_expressions
pmderodat [Thu, 10 Oct 2019 15:24:01 +0000 (15:24 +0000)] 
[Ada] 'others' in conditional_expressions

2019-10-10  Bob Duff  <duff@adacore.com>

gcc/ada/

* sem_aggr.adb (Resolve_Aggregate): Add missing cases in the
Others_Allowed => True case -- N_Case_Expression_Alternative and
N_If_Expression.  Use Nkind_In.
* atree.adb, atree.ads, sinfo.adb, sinfo.ads (Nkind_In): New
16-parameter version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276824 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Missing Predicated_Parent link on array Itype
pmderodat [Thu, 10 Oct 2019 15:23:56 +0000 (15:23 +0000)] 
[Ada] Missing Predicated_Parent link on array Itype

2019-10-10  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* sem_aggr.adb (Resolve_Array_Aggregate): Set properly the
Predicated_Parent link of an itype created for an aggregate, so
that the predicate_function of the parent can support proofs on
the object that it initializes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276823 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Plug minor loophole for integer named number
pmderodat [Thu, 10 Oct 2019 15:23:51 +0000 (15:23 +0000)] 
[Ada] Plug minor loophole for integer named number

2019-10-10  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* sem_ch3.adb (Analyze_Number_Declaration): Set
Debug_Info_Needed in the case where the expression is an integer
literal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276822 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Do not inline subprograms with deep parameter/result in GNATprove
pmderodat [Thu, 10 Oct 2019 15:23:47 +0000 (15:23 +0000)] 
[Ada] Do not inline subprograms with deep parameter/result in GNATprove

2019-10-10  Yannick Moy  <moy@adacore.com>

gcc/ada/

* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add subprograms
with deep parameter or result type as not candidates for
inlining.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276821 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Define default value for Process field
pmderodat [Thu, 10 Oct 2019 15:23:42 +0000 (15:23 +0000)] 
[Ada] Define default value for Process field

2019-10-10  Vadim Godunko  <godunko@adacore.com>

gcc/ada/

* libgnat/g-exptty.ads (TTY_Process_Descriptor): Set default
value for Process.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276820 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] T'Size in pragma Compile_Time_Error
pmderodat [Thu, 10 Oct 2019 15:23:37 +0000 (15:23 +0000)] 
[Ada] T'Size in pragma Compile_Time_Error

2019-10-10  Bob Duff  <duff@adacore.com>

gcc/ada/

* sem_prag.adb (Defer_Compile_Time_Warning_Error_To_BE): In
addition to saving the pragma for further processing, copy the
pragma into the main unit if necessary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276819 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Assertion_Policy (Ignore) ignores invariants
pmderodat [Thu, 10 Oct 2019 15:23:33 +0000 (15:23 +0000)] 
[Ada] Assertion_Policy (Ignore) ignores invariants

2019-10-10  Bob Duff  <duff@adacore.com>

gcc/ada/

* einfo.ads, einfo.adb (Invariants_Ignored): New flag on types.
This leaves just one unused flag.
* sem_prag.adb (Invariant): Set the flag if appropriate.
* exp_util.adb (Make_Invariant_Call): Check the flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276818 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Fix handling of -gnatceg on incomplete unit
pmderodat [Thu, 10 Oct 2019 15:23:28 +0000 (15:23 +0000)] 
[Ada] Fix handling of -gnatceg on incomplete unit

2019-10-10  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

* gnat1drv.adb (Gnat1drv): Skip code generation when handling an
incomplete unit with -gnatceg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276817 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Generation of procedures for blocks occurring in elaboration code for LLVM
pmderodat [Thu, 10 Oct 2019 15:23:24 +0000 (15:23 +0000)] 
[Ada] Generation of procedures for blocks occurring in elaboration code for LLVM

2019-10-10  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Various
cleanups.
(Set_Elab_Proc): New procedure to create the defining identifier
for a procedure created to encapsulate top-level blocks
occurring as a part of library package elaboration.
(First_Local_Scope): Function replaced by
Reset_Scopes_To_Elab_Proc.
(Reset_Scopes_To_Elab_Proc): New recursive procedure based on
First_Local_Scope, which it replaces, that is called to traverse
the statements of a library package body to locate top-level
blocks and determine whether they contain nested subprograms
that might address library-level objects of the package. Such
blocks (and loops) and certain top-level subprograms within the
statements will have their Scope reset here to match an
encapsulating procedure created by
Check_Unnesting_Elaboration_Code that will contain the
statements.
(Check_Unnesting_In_Decls_Or_Stmts): Code for handling blocks
factored out into Unnest_Block. Add handling for package
declarations and bodies, making recursive calls for
visible/private declarations, body declarations, statements, and
exception handlers. Also remove test for Is_Compilation_Unit:
caller tests for Is_Library_Level_Entity instead.  Also, this
proc's name was changed from Check_Unnesting_In_Declarations.
(Check_Unnesting_In_Handlers): New procedure to traverse a
sequence of exception handlers, calling
Check_Unnesting_In_Decls_Or_Stmts on the statements of each
handler.
(Expand_N_Package_Body): Call Check_Unnesting_* routines only
when Unnest_Subprogram_Mode is set and the current scope is a
library-level entity (which includes packages and instantiations
nested directly within a library unit).
(Expand_N_Package_Declaration): Call Check_Unnesting_* routines
only when Unnest_Subprogram_Mode is set and the current scope is
a library-level entity (which includes packages and
instantiations nested directly within a library unit).
(Unnest_Block): New procedure factored out of
Check_Unnesting_In_Decls_Or_Stmts, for creating a new procedure
to replace a block statement and resetting the Scope fields of
the block's top-level entities.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276816 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[Ada] Mention GNAT Studio instead of GPS
pmderodat [Thu, 10 Oct 2019 15:23:19 +0000 (15:23 +0000)] 
[Ada] Mention GNAT Studio instead of GPS

2019-10-10  Anthony Leonardo Gracio  <leonardo@adacore.com>

gcc/ada/

* doc/gnat_ugn/about_this_guide.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/getting_started_with_gnat.rst,
doc/gnat_ugn/gnat_and_program_execution.rst, errout.ads,
exp_ch3.adb, gnatls.adb, impunit.adb, lib-writ.ads, opt.ads,
sem_ch7.adb, sem_prag.adb, sem_res.adb, sem_warn.adb,
terminals.c: Replace GPS by GNAT Studio.
* gnat_ugn.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276815 138bc75d-0d04-0410-961f-82ee72b054a4