Commit Graph

197836 Commits

Author SHA1 Message Date
Lewis Hyatt
9ca4899144 preprocessor: Don't register pragmas in directives-only mode [PR108244]
libcpp's directives-only mode does not expect deferred pragmas to be
registered, but to date the c-family registration process has not checked for
this case. That issue became more visible since r13-1544, which added the
commonly used GCC diagnostic pragmas to the set of those registered in
preprocessing modes. Fix it by checking for directives-only mode in
c-family/c-pragma.cc.

gcc/c-family/ChangeLog:

	PR preprocessor/108244
	* c-pragma.cc (c_register_pragma_1): Don't attempt to register any
	deferred pragmas if -fdirectives-only.
	(init_pragma): Likewise.

gcc/testsuite/ChangeLog:

	* c-c++-common/cpp/pr108244-1.c: New test.
	* c-c++-common/cpp/pr108244-2.c: New test.
	* c-c++-common/gomp/pr108244-3.c: New test.
2023-01-11 19:02:42 -05:00
David Malcolm
688fc162b7 analyzer: fix leak false positives on "*UNKNOWN = PTR;" [PR108252]
PR analyzer/108252 reports a false positive from -Wanalyzer-malloc-leak on
code like this:

  *ptr_ptr = strdup(EXPR);

where ptr_ptr is an UNKNOWN_VALUE.

When we handle:
  *UNKNOWN = PTR;
store::set_value normally marks *PTR as having escaped, and this means
we don't report PTR as leaking when the last usage of PTR is lost.

However this only works for cases where PTR is a region_svalue.
In the example in the bug, it's a conjured_svalue, rather than a
region_svalue.  A similar problem can arise for FDs, which aren't
pointers.

This patch fixes the bug by updating store::set_value to mark any
values stored via *UNKNOWN = VAL as not leaking.

Additionally, sm-malloc.cc's known_allocator_p hardcodes strdup and
strndup as allocators (and thus transitioning their result to
"unchecked"), but we don't implement known_functions for these, leading
to the LHS being a CONJURED_SVALUE, rather than a region_svalue to a
heap-allocated region.  A similar issue happens with functions marked
with __attribute__((malloc)).  As part of a "belt and braces" fix, the
patch also updates the handling of these functions, so that they use
heap-allocated regions.

gcc/analyzer/ChangeLog:
	PR analyzer/108252
	* kf.cc (class kf_strdup): New.
	(class kf_strndup): New.
	(register_known_functions): Register them.
	* region-model.cc (region_model::on_call_pre): Use
	&HEAP_ALLOCATED_REGION for the default result of an external
	function with the "malloc" attribute, rather than CONJURED_SVALUE.
	(region_model::get_or_create_region_for_heap_alloc): Allow
	"size_in_bytes" to be NULL.
	* store.cc (store::set_value): When handling *UNKNOWN = VAL,
	mark VAL as "maybe bound".

gcc/testsuite/ChangeLog:
	PR analyzer/108252
	* gcc.dg/analyzer/attr-malloc-pr108252.c: New test.
	* gcc.dg/analyzer/fd-leak-pr108252.c: New test.
	* gcc.dg/analyzer/flex-with-call-summaries.c: Remove xfail from
	warning false +ve directives.
	* gcc.dg/analyzer/pr103217-2.c: Add -Wno-analyzer-too-complex.
	* gcc.dg/analyzer/pr103217-3.c: Likewise.
	* gcc.dg/analyzer/strdup-pr108252.c: New test.
	* gcc.dg/analyzer/strndup-pr108252.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2023-01-11 16:27:06 -05:00
Jakub Jelinek
23b4ce1837 c: Don't emit DEBUG_BEGIN_STMTs for K&R function argument declarations [PR105972]
K&R function parameter declarations are handled by calling
recursively c_parser_declaration_or_fndef in a loop, where each such
call will add_debug_begin_stmt at the start.
Now, if the K&R function definition is not a nested function,
building_stmt_list_p () is false and so we don't emit the DEBUG_BEGIN_STMTs
anywhere, but if it is a nested function, we emit it in the containing
function at the point of the nested function definition.
As the following testcase shows, it can cause ICEs if the containing
function has var-tracking disabled but nested function has them enabled,
as the DEBUG_BEGIN_STMTs are added to the containing function which
shouldn't have them but MAY_HAVE_DEBUG_MARKER_STMTS is checked already
for the nested function, or just wrong experience in the debugger.

The following patch ensures we don't emit any such DEBUG_BEGIN_STMTs for the
K&R function parameter declarations even in nested functions.

2023-01-11  Jakub Jelinek  <jakub@redhat.com>

	PR c/105972
	* c-parser.cc (c_parser_declaration_or_fndef): Disable debug non-bind
	markers for K&R function parameter declarations of nested functions.

	* gcc.dg/pr105972.c: New test.
2023-01-11 22:18:42 +01:00
Roger Sayle
98837d6e79 PR tree-optimization/71343: Value number X<<2 as X*4.
This patch is the second part of a fix for PR tree-optimization/71343,
that implements Richard Biener's suggestion of using tree-ssa's value
numbering instead of match.pd.  The change is that when assigning a
value number for the expression X<<C, we actually look-up or insert
the value number for the multiplication X*(1<<C).  This elegantly
handles the fact that we (intentionally) don't canonicalize these as
equivalent in GIMPLE, and the optimization/equivalence in PR 71343 now
happens by (tree-ssa SCCVN) magic.

2023-01-11  Roger Sayle  <roger@nextmovesoftware.com>

gcc/ChangeLog
	PR tree-optimization/71343
	* tree-ssa-sccvn.cc (visit_nary_op) <case LSHIFT_EXPR>: Make
	the value number of the expression X << C the same as the value
	number for the multiplication X * (1<<C).

gcc/testsuite/ChangeLog
	PR tree-optimization/71343
	* gcc.dg/pr71343-2.c: New test case.
2023-01-11 16:54:58 +00:00
David Faust
c7279270a2 bpf: correct bpf_print_operand for floats [PR108293]
The existing logic in bpf_print_operand was only correct for integral
CONST_DOUBLEs, and emitted garbage for floating point modes. Fix it so
floating point mode operands are correctly handled.

	PR target/108293

gcc/

	* config/bpf/bpf.cc (bpf_print_operand): Correct handling for
	floating point modes.

gcc/testsuite/

	* gcc.target/bpf/double-1.c: New test.
	* gcc.target/bpf/double-2.c: New test.
	* gcc.target/bpf/float-1.c: New test.
2023-01-11 08:36:48 -08:00
Eric Botcazou
3e1cba12a8 Fix problematic interaction between bitfields, unions, SSO and SRA
The handling of bitfields by the SRA pass is peculiar and this must be taken
into account to support the scalar_storage_order attribute.

gcc/
	PR tree-optimization/108199
	* tree-sra.cc (sra_modify_expr): Deal with reverse storage order
	for bit-field references.

gcc/testsuite/
	* gcc.dg/sso-17.c: New test.
2023-01-11 16:03:25 +01:00
Kewen Lin
de99049f6f rs6000/test: Make ppc-fortran.exp only available for PowerPC target
When testing one patch which adds a fortran test case into
test bucket powerpc/ppc-fortran/, I found one unexpected
failure on a non-PowerPC target.  It's due to that
ppc-fortran.exp does not exit early if the testing target
isn't a PowerPC target.  This patch is to make it exit
immediately if the testing target isn't a PowerPC target.

gcc/testsuite/ChangeLog:

	* gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Exit immediately if
	the testing target isn't a PowerPC target.
2023-01-11 06:59:24 -06:00
Kewen Lin
6224db0e4d rs6000: Make P10_FUSION honour tuning setting
We noticed this issue when Segher reviewed the patch for
PR104024.  When there is no explicit setting for option
-mpower10-fusion, we enable OPTION_MASK_P10_FUSION for
TARGET_POWER10.  But it's not right, it should honour
tuning setting instead.

This patch is to fix it accordingly, it's bootstrapped
, and regtested on powerpc64-linux-gnu P8 and
powerpc64le-linux-gnu P9.

But on powerpc64le-linux-gnu P10 it had one regression
failure against the test case gcc.target/powerpc/pr105586.c.
I looked into it and confirmed that a latent bug was
exposed and filed one separated bug PR108273 instead.

gcc/ChangeLog:

	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make
	OPTION_MASK_P10_FUSION implicit setting honour Power10 tuning setting.
	* config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Remove
	OPTION_MASK_P10_FUSION.
2023-01-11 06:59:08 -06:00
Richard Biener
f99d7d669e tree-optimization/107767 - not profitable switch conversion
When the CFG has not merged equal PHI defs in a switch stmt the
cost model from switch conversion gets off and we prefer a
jump table over branches.  The following fixes that by recording
cases that will be merged later and more appropriately counting
unique values.

	PR tree-optimization/107767
	* tree-cfgcleanup.cc (phi_alternatives_equal): Export.
	* tree-cfgcleanup.h (phi_alternatives_equal): Declare.
	* tree-switch-conversion.cc (switch_conversion::collect):
	Count unique non-default targets accounting for later
	merging opportunities.

	* gcc.dg/tree-ssa/pr107767.c: New testcase.
2023-01-11 13:13:50 +01:00
Jakub Jelinek
b39c1bea5b testsuite: Enable pr108308.c test on all int32 targets [PR108308]
This test seems to rely on 32-bit int (and uses a wider constant
which shouldn't fit into int), I've initially enabled it on ilp32+lp64
target, but apparently it works on llp64 too, so I've changed it to
int32.

2023-01-11  Jakub Jelinek  <jakub@redhat.com>

	PR target/108308
	* gcc.dg/pr108308.c: Use int32 target rather than { ilp32 || lp64 }.
2023-01-11 13:08:46 +01:00
Martin Liska
8221efae23 switch expansion: limit JT growth param values
Currently, one can request a huge jump table creation which
leads to a non-sensual huge output. Moreover, use auto_vec rather
than a stack-allocated array.

	PR middle-end/107976

gcc/ChangeLog:

	* params.opt: Limit JT params.
	* stmt.cc (emit_case_dispatch_table): Use auto_vec.
2023-01-11 13:06:28 +01:00
Richard Biener
7c9f20fcfd tree-optimization/108352 - FSM threads creating irreducible loops
The following relaxes a heuristic that prevents creating irreducible
loops from FSM threads not covering multi-way branches.  Instead of
allowing threads that adhere to

      && (n_insns * (unsigned) param_fsm_scale_path_stmts
          > (m_path.length () *
             (unsigned) param_fsm_scale_path_blocks))

with reasoning "We also consider it worth creating an irreducible inner loop if
the number of copied statement is low relative to the length of the path --
in that case there's little the traditional loop optimizer would have done
anyway, so an irreducible loop is not so bad." that I cannot make much
sense of the following patch changes that to only allow those after
loop optimization and when they are (scaled) short:

      && (!(cfun->curr_properties & PROP_loop_opts_done)
          || (m_n_insns * param_fsm_scale_path_stmts
              >= param_max_jump_thread_duplication_stmts)))

This allows us to get rid of --param fsm-scale-path-blocks which
previous to the bisected revision allowed an enlarged path covering
the original allowance (but we do not consider that enlarged path
now because enlarging it doesn't add any information).

	PR tree-optimization/108352
	* tree-ssa-threadbackward.cc
	(back_threader_profitability::profitable_path_p): Adjust
	heuristic that allows non-multi-way branch threads creating
	irreducible loops.
	* doc/invoke.texi (--param fsm-scale-path-blocks): Remove.
	(--param fsm-scale-path-stmts): Adjust.
	* params.opt (--param=fsm-scale-path-blocks=): Remove.
	(-param=fsm-scale-path-stmts=): Adjust description.

	* gcc.dg/tree-ssa/ssa-thread-21.c: New testcase.
	* gcc.dg/tree-ssa/vrp46.c: Remove --param fsm-scale-path-blocks=1.
2023-01-11 12:59:12 +01:00
Richard Biener
445a48a226 tree-optimization/108353 - copyprop iteration order
After recent improvements to copyprop to catch more constants
it shows that the current iteration order prefering forward
progress over iterating doesn't make much sense for an SSA
propagator.  The following instead first iterates cycles which
makes sure to not start with optimistically constant PHIs out
of cycles that optimistically do not exit.

	PR tree-optimization/108353
	* tree-ssa-propagate.cc (cfg_blocks_back, ssa_edge_worklist_back):
	Remove.
	(add_ssa_edge): Simplify.
	(add_control_edge): Likewise.
	(ssa_prop_init): Likewise.
	(ssa_prop_fini): Likewise.
	(ssa_propagation_engine::ssa_propagate): Likewise.

	* gcc.dg/tree-ssa/ssa-copyprop-3.c: New testcase.
2023-01-11 11:53:12 +01:00
Andreas Krebbel
2ce074a7f8 IBM zSystems: Use NAND instruction to implement bit not
gcc/ChangeLog:

	* config/s390/s390.md (*not<mode>): New pattern.

gcc/testsuite/ChangeLog:

	* gcc.target/s390/not.c: New test.
2023-01-11 11:18:08 +01:00
Jakub Jelinek
0986c351aa fortran: Fix up function types for realloc and sincos{,f,l} builtins [PR108349]
As reported in the PR, the FUNCTION_TYPE for __builtin_realloc in the
Fortran FE is wrong since r0-100026-gb64fca63690ad which changed
-  tmp = tree_cons (NULL_TREE, pvoid_type_node, void_list_node);
-  tmp = tree_cons (NULL_TREE, size_type_node, tmp);
-  ftype = build_function_type (pvoid_type_node, tmp);
+  ftype = build_function_type_list (pvoid_type_node,
+                                    size_type_node, pvoid_type_node,
+                                    NULL_TREE);
   gfc_define_builtin ("__builtin_realloc", ftype, BUILT_IN_REALLOC,
                      "realloc", false);
The return type is correct, void *, but the first argument should be
void * too and only second one size_t, while the above change changed
realloc to be void *__builtin_realloc (size_t, void *);
I went through all other changes from that commit and found that
__builtin_sincos{,f,l} got broken as well, instead of the former
void __builtin_sincos{,f,l} (ftype, ftype *, ftype *);
where ftype is {double,float,long double} it is now incorrectly
void __builtin_sincos{,f,l} (ftype *, ftype *);

The following patch fixes that, plus some formatting issues around
the spots I've changed.

2023-01-11  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/108349
	* f95-lang.cc (gfc_init_builtin_function): Fix up function types
	for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}.  Formatting fixes.
2023-01-11 10:40:54 +01:00
Richard Biener
8d96a7fc27 tree-optimization/106293 - fix testcase
The following removes a problematic initializer which causes
excess diagnostics with -m32 and isn't actually required.

	PR tree-optimization/106293
	* gcc.dg/tree-ssa/ssa-dse-46.c: Remove long initializer.
2023-01-11 08:04:26 +01:00
Takayuki 'January June' Suwa
b399afd22c xtensa: Make instruction cost estimation for size more accurate
Until now, we applied COSTS_N_INSNS() (multiplying by 4) after dividing
the instruction length by 3, so we couldn't express the difference less
than modulo 3 in insn cost for size (e.g. 11 Bytes and 12 bytes cost the
same).

This patch fixes that.

;; 2 bytes
addi.n	a2, a2, -1	; cost 3

;; 3 bytes
addmi	a2, a2, 1024	; cost 4

;; 4 bytes
movi.n	a3, 80		; cost 5
bnez.n	a2, a3, .L4

;; 5 bytes
srli	a2, a3, 1	; cost 7
add.n	a2, a2, a2

;; 6 bytes
ssai	8		; cost 8
src	a4, a2, a3

:: 3 + 4 bytes
l32r	a2, .L5		; cost 9

;; 11 bytes		; cost 15
;; 12 bytes		; cost 16

gcc/ChangeLog:

	* config/xtensa/xtensa.cc (xtensa_insn_cost):
	Let insn cost for size be obtained by applying COSTS_N_INSNS()
	to instruction length and then dividing by 3.
2023-01-10 21:53:57 -08:00
GCC Administrator
f432ad0921 Daily bump. 2023-01-11 00:17:56 +00:00
Philip Herron
aa966d54ee MAINTAINERS: Add myself as Rust front-end maintainer
Update MAINTAINERS file.

ChangeLog:

	* MAINTAINERS: Add Philip Herron as Rust front-end maintainer

Signed-off-by: Philip Herron <herron.philip@googlemail.com>
2023-01-10 22:06:09 +00:00
Harald Anlauf
fec9fc1a17 Fortran: frontend passes do_subscript leaks gmp memory [PR97345]
gcc/fortran/ChangeLog:

	PR fortran/97345
	* frontend-passes.cc (do_subscript): Clear used gmp variables.
2023-01-10 22:41:17 +01:00
Gaius Mulley
e9a39ad793 Adding missing dependencies to gcc/m2/Make-lang.in
The dependency m2/gm2-libs/gm2-libs-host.h is missing from
two m2/mc-boot rules.

gcc/m2/ChangeLog:

	* Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add
	m2/gm2-libs/gm2-libs-host.h dependency.
	(m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add
	m2/gm2-libs/gm2-libs-host.h dependency.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2023-01-10 18:49:03 +00:00
Gaius Mulley
5b918b20d1 [PATCH, Modula2] PR-108142 Many empty directories created in the build directory
PR-108142 Modula-2 configure generates many subdirectories in the top
build directory.  This patch dynamically creates subdirectories under
gcc/m2 if and when required.

Bootstrapped on x86_64 gnu/linux, ok for master?

gcc/m2/ChangeLog:

	* Make-lang.in (GM2_1): Change -B path to m2/stage1.
	($(objdir)/m2/images/gnu.eps): Check and create dest dir
	if necessary.
	(gm2-libs.texi-check): Check and create dir m2/gm2-libs-pim,
	m2/gm2-libs-iso and m2/gm2-libs if necessary.
	($(objdir)/m2/gm2-compiler-boot): Remove.
	($(objdir)/m2/gm2-libs-boot): Remove.
	($(objdir)/m2/gm2-libs-libiberty): Remove.
	($(objdir)/m2/gm2-libiberty): Remove.
	($(objdir)/m2/gm2-gcc): Remove.
	($(objdir)/m2/gm2-compiler): Remove.
	($(objdir)/m2/gm2-libs): Remove.
	($(objdir)/m2/gm2-libs-iso): Remove.
	($(objdir)/m2/gm2-libs-min): Remove.
	($(objdir)/m2/gm2-compiler-paranoid): Remove.
	($(objdir)/m2/gm2-libs-paranoid): Remove.
	($(objdir)/m2/gm2-compiler-verify): Remove.
	($(objdir)/m2/boot-bin): Remove.
	($(objdir)/m2/gm2-libs-pim): Remove.
	($(objdir)/m2/gm2-libs-coroutines): Remove.
	(stage1/m2): Remove.
	(stage2/m2): Remove.
	(stage3/m2): Remove.
	(m2.stageprofile): New rule.
	(m2.stagefeedback): New rule.
	(cc1gm2$(exeext)): Change dependent name.
	(m2/stage2/cc1gm2$(exeext)): Change dependent name.
	Check and create dest dir.
	(m2/stage1/cc1gm2$(exeext)): Check and create dest dir
	if necessary.
	(m2/gm2-gcc/%.o): Ditto.
	(m2/gm2-gcc/rtegraph.o): Ditto.
	(m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
	(m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
	(m2/mc-boot): Ditto.
	(m2/mc-boot-ch): Ditto.
	(m2/gm2-libs-boot): Ditto.
	(m2/gm2-compiler-boot): Ditto.
	(m2/gm2-compiler): Ditto.
	(m2/gm2-libiberty): Ditto.
	(m2/gm2-compiler): Ditto.
	(m2/gm2-libs-iso): Ditto.
	(m2/gm2-libs): Ditto.
	(m2/gm2-libs-min): Ditto.
	(m2/gm2-libs-coroutines): Ditto.
	(m2/boot-bin): Ditto.
	(m2/pge-boot): Ditto.
	(m2/pge-boot): Ditto.
	* Make-maintainer.in (m2/gm2-ppg-boot): Check and create
	dest dir if necessary.
	(m2): Ditto.
	(m2/gm2-ppg-boot): Ditto.
	(m2/gm2-pg-boot): Ditto.
	(m2/gm2-auto): Ditto.
	(m2/gm2-pg-boot): Ditto.
	(m2/gm2-pge-boot): Ditto.
	($(objdir)/plugin): Ditto.
	($(objdir)/m2/mc-boot-ch): Ditto.
	($(objdir)/m2/mc-boot-gen): Ditto.
	(m2/boot-bin): Ditto.
	(m2/mc): Ditto.
	(m2/mc-obj): Ditto.
	($(objdir)/m2/gm2-ppg-boot): Ditto.
	($(objdir)/m2/gm2-pg-boot): Ditto.
	($(objdir)/m2/gm2-pge-boot): Ditto.
	(m2/mc-boot-gen): Ditto.
	(m2/m2obj3): Ditto.
	(m2/gm2-libs-paranoid): Ditto.
	(m2/gm2-compiler-paranoid): Ditto.
	(m2/gm2-libs-paranoid): Ditto.
	(m2/gm2-compiler-paranoid): Ditto.
	(m2/gm2-libs-paranoid): Ditto.
	(m2/gm2-compiler-paranoid): Ditto.
	* config-lang.in (m2/gm2-compiler-boot): Remove mkdir.
	(m2/gm2-libs-boot): Ditto.
	(m2/gm2-ici-boot): Ditto.
	(m2/gm2-libiberty): Ditto.
	(m2/gm2-gcc): Ditto.
	(m2/gm2-compiler): Ditto.
	(m2/gm2-libs): Ditto.
	(m2/gm2-libs-iso): Ditto.
	(m2/gm2-compiler-paranoid): Ditto.
	(m2/gm2-libs-paranoid): Ditto.
	(m2/gm2-compiler-verify): Ditto.
	(m2/boot-bin): Ditto.
	(m2/gm2-libs-pim): Ditto.
	(m2/gm2-libs-coroutines): Ditto.
	(m2/gm2-libs-min): Ditto.
	(m2/pge-boot): Ditto.
	(plugin): Ditto.
	(stage1/m2): Ditto.
	(stage2/m2): Ditto.
	(stage3/m2): Ditto.
	(stage4/m2): Ditto.
	(m2/gm2-auto): Ditto.
	(m2/gm2-pg-boot): Ditto.
	(m2/gm2-pge-boot): Ditto.
	(m2/gm2-ppg-boot): Ditto.
	(m2/mc-boot): Ditto.
	(m2/mc-boot-ch): Ditto.
	(m2/mc-boot-gen): Ditto.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2023-01-10 17:25:49 +00:00
Richard Biener
4e0b504f26 tree-optimization/106293 - missed DSE with virtual LC PHI
Degenerate virtual PHIs can break DSEs fragile heuristic as to what
defs it can handle for further processing.  The following enhances
it to look through degenerate PHIs by means of a worklist, processing
the degenerate PHI defs uses to the defs array.  The rewrite of
virtuals into loop-closed SSA caused this to issue appear more often.
The patch itself is mostly re-indenting the new loop body.

	PR tree-optimization/106293
	* tree-ssa-dse.cc (dse_classify_store): Use a worklist to
	process degenerate PHI defs.

	* gcc.dg/tree-ssa/ssa-dse-46.c: New testcase.
2023-01-10 16:53:51 +01:00
Roger Sayle
851e1ba03f PR rtl-optimization/106421: ICE in bypass_block from non-local goto.
This patch fixes PR rtl-optimization/106421, an ICE-on-valid (but
undefined) regression.  The fix, as proposed by Richard Biener, is to
defend against BLOCK_FOR_INSN returning NULL in cprop's bypass_block.

2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>

gcc/ChangeLog
	PR rtl-optimization/106421
	* cprop.cc (bypass_block): Check that DEST is local to this
	function (non-NULL) before calling find_edge.

gcc/testsuite/ChangeLog
	PR rtl-optimization/106421
	* gcc.dg/pr106421.c: New test case.
2023-01-10 14:05:46 +00:00
Martin Jambor
c389991432
ipa: Sort ipa_param_body_adjustments::m_replacements (PR 108110)
The problem in PR 108110 is that elements describing the same base
parameter in ipa_param_body_adjustments::m_replacements are not
adjacent to each other, which is something that
ipa_param_body_adjustments::modify_call_stmt when it gathers all
replacements for a parameter.

One option would be to simply always keep looking until the end of the
vector (see bugzilla comment 15 for a one-line fix) but the correct
thing to do is to keep the elements of the vector sorted and thus make
such elements adjacent again.  This patch does that and then also
modifies the look-ups to take advantage of it.

Since the one user of ipa_param_body_adjustments that is not
tree-inline.cc, which is OpenMP declare SIMD cloning code, also
registers its own replacements and in theory pointers to elements of
the m_replacements vector can leak through public method
get_expr_replacement, I decided that in those cases it is the
responsibility of the user of the class to call the sorting method
between the replacement registrations and the first lookup.  That is
why the patch also adds a line to omp-simd-clone.cc.

gcc/ChangeLog:

2023-01-09  Martin Jambor  <mjambor@suse.cz>

	PR ipa/108110
	* ipa-param-manipulation.h (ipa_param_body_adjustments): New members
	sort_replacements, lookup_first_base_replacement and
	m_sorted_replacements_p.
	* ipa-param-manipulation.cc: Define INCLUDE_ALGORITHM.
	(ipa_param_body_adjustments::register_replacement): Set
	m_sorted_replacements_p to false.
	(compare_param_body_replacement): New function.
	(ipa_param_body_adjustments::sort_replacements): Likewise.
	(ipa_param_body_adjustments::common_initialization): Call
	sort_replacements.
	(ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize
	m_sorted_replacements_p.
	(ipa_param_body_adjustments::lookup_replacement_1): Rework to use
	std::lower_bound.
	(ipa_param_body_adjustments::lookup_first_base_replacement): New
	function.
	(ipa_param_body_adjustments::modify_call_stmt): Use
	lookup_first_base_replacement.
	* omp-simd-clone.cc (ipa_simd_modify_function_body): Call
	adjustments->sort_replacements.

gcc/testsuite/ChangeLog:

2023-01-04  Martin Jambor  <mjambor@suse.cz>

	PR ipa/108110
	* g++.dg/ipa/pr108110.C: New test.
2023-01-10 14:20:30 +01:00
Richard Biener
554bb9b61e tree-optimization/108314 - avoid BIT_NOT optimization for extract-last
The extract-last reduction internal function expects the then and
else clause as vector and scalar and thus we cannot perform optimization
of the inversion of the condition by swapping the then/else clauses.

	PR tree-optimization/108314
	* tree-vect-stmts.cc (vectorizable_condition): Do not
	perform BIT_NOT_EXPR optimization for EXTRACT_LAST_REDUCTION.

	* gcc.dg/vect/pr108314.c: New testcase.
2023-01-10 13:08:35 +01:00
Xianmiao Qu
d3328df5f5 C-SKY: Define SYSROOT_SUFFIX_SPEC.
The earlier patch
  https://gcc.gnu.org/pipermail/gcc-patches/2021-July/575418.html
refine the way to generate sysroot suffix, but it can't find the
right path for all CPUs. The SYSROOT_SUFFIX_SPEC should be defined
to fix it.

gcc/
	* config/csky/csky-linux-elf.h (SYSROOT_SUFFIX_SPEC): New.
2023-01-10 19:57:49 +08:00
Xianmiao Qu
4c7336a864 C-SKY: Fix float abi option in MULTILIB_DEFAULTS.
The msoft-float is alias of mfloat-abi=soft, use mfloat-abi=soft
in MULTILIB_DEFAULTS to correspond to the option in MULTILIB_OPTIONS,
otherwise it will find the wrong path.

gcc/
	* config/csky/csky.h (MULTILIB_DEFAULTS): Fix float abi option.
2023-01-10 19:57:49 +08:00
Xianmiao Qu
ac34c26109 C-SKY: Fix skip codition for testcase ldbs.c
gcc/testsuite/
	* gcc.target/csky/ldbs.c : Fix exclude-opts, should not
	be "*".
2023-01-10 19:57:49 +08:00
Xianmiao Qu
641af925eb C-SKY: Add missing builtin defines for soft float abi.
The builtin defines for soft float abi are:
'__csky_soft_float_abi__' and '__CSKY_SOFT_FLOAT_ABI__'.

gcc/
	* config/csky/csky.cc (csky_cpu_cpp_builtins): Add builtin
	defines for soft float abi.
2023-01-10 19:57:49 +08:00
Xianmiao Qu
8f3b032e57 C-SKY: Fix patterns' condition for ck802 smart mode.
Ck802 smart mode should not be treated as ck801.
It do only allocate r0-r8 registers like ck801,
but support 32-bits intructions.
This bug will cause ICE when compiler pr43164.c for ck802 big-endian,
/src/gcc/gcc/testsuite/gcc.c-torture/compile/pr43164.c:16:1: error: insn does not satisfy its constraints:
(insn 48 28 30 2 (set (reg:SI 0 a0 [230])
        (ior:SI (reg:SI 2 a2 [222])
            (ashift:SI (const_int 1 [0x1])
                (const_int 24 [0x18])))) "/src/gcc/gcc/testsuite/gcc.c-torture/compile/pr43164.c":15:10 224 {smart_bseti}
     (expr_list:REG_DEAD (reg:SI 2 a2 [222])
        (nil)))

gcc/
	* config/csky/csky.md (smart_bseti): Change condition to CSKY_ISA_FEATURE (E1).
	(smart_bclri): Likewise.
	(fast_bseti): Change condition to CSKY_ISA_FEATURE (E2).
	(fast_bclri): Likewise.
	(fast_cmpnesi_i): Likewise.
	(*fast_cmpltsi_i): Likewise.
	(*fast_cmpgeusi_i): Likewise.
2023-01-10 19:57:21 +08:00
Xianmiao Qu
b86703a050 C-SKY: Skip other CPUs if the testcases are only for ck801.
Refine some testcases for ck801, if the testcase is only for
ck801, add the filename prefix "ck801-", and add dg-skip-if
to skip other CPUs.

gcc/testsuite/
	* gcc.target/csky/and3a.c: Rename to ...
	* gcc.target/csky/ck801-and.c: ... this.
	* gcc.target/csky/constpool-3.c: Rename to ...
	* gcc.target/csky/constpool-2.c: ... this, Rename to ...
	* gcc.target/csky/constpool-1.c: ... this, Rename to ...
	* gcc.target/csky/ck801-constpool.c: ... this, and skip
	if the CPU is not ck801.
	* gcc.target/csky/ck801-branch.c: Skip if the CPU is not ck801.
2023-01-10 19:52:24 +08:00
Xianmiao Qu
288b18bf07 C-SKY: Add conditions for ceil etc patterns.
The ceil etc functions can be only inlined as instruction when
they can raise the "inexact" exception. Without the adding
conditions, it will cause the "gcc.dg/torture/builtin-fp-int-inexact-c2x.c"
etc cases fails.

gcc/
	* config/csky/csky_insn_fpuv3.md (l<frm_pattern><fixsuop><mode>si2): Test
	flag_fp_int_builtin_inexact || !flag_trapping_math.
	(<frm_pattern><mode>2): Likewise.
2023-01-10 19:52:24 +08:00
Jonathan Wakely
8b7c12d83c libstdc++: Fix tzdb.cc to compile with -fno-exceptions
libstdc++-v3/ChangeLog:

	* src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
	__catch macros for exception handling.
2023-01-10 10:09:22 +00:00
Jonathan Wakely
769fae76df libstdc++: Fix some algos for 16-bit size_t [PR108221]
Some standard algorithms fail to compile when size_t or ptrdiff_t is
narrower than int. The __lg helper function is ambiguous if ptrdiff_t is
short or __int20, so replace it with a function template that works for
those types as well as signed/unsigned int/long/long long. The helpers
for stable_sort perform arithmetic on size values and assume the types
won't change, which isn't true if the type promotes to int.

libstdc++-v3/ChangeLog:

	PR libstdc++/108221
	* include/bits/stl_algobase.h (__lg): Replace six overloads with
	a single function template for all integer types.
	* include/bits/stl_algo.h (__merge_adaptive_resize): Cast
	arithmetic results back to _Distance.
2023-01-10 10:09:21 +00:00
Jonathan Wakely
b39f4333d1 libstdc++: Fix std::span constraint for sizeof(size_t) < sizeof(int) [PR108221]
The default constructor has a constraint that is always false if
arithmetic on size_t values promotes to int. Rewrite the constraint
exactly as written in the standard, which works correctly.

libstdc++-v3/ChangeLog:

	PR libstdc++/108221
	* include/std/span (span::span()): Un-simplify constraint to
	work for size_t of lesser rank than int.
2023-01-10 10:09:21 +00:00
Andreas Krebbel
0333892db3 IBM zSystems: Make -fcall-saved-... work.
gcc/ChangeLog:

	* config/s390/s390.cc (s390_register_info): Check call_used_regs
	instead of hard-coding the register numbers for call saved
	registers.
	(s390_optimize_register_info): Likewise.

gcc/testsuite/ChangeLog:

	* gcc.target/s390/fcall-saved.c: New test.
2023-01-10 10:02:44 +01:00
GCC Administrator
84723acaa0 Daily bump. 2023-01-10 00:18:07 +00:00
Eric Botcazou
1dcc9779d6 Modula-2: fix documentation layout
The Modula-2 documentation is rejected by older versions of Makeinfo because
the web of @node markers is fairly broken, apparently some subsections were
moved around, most notably between the Overview and Using sections, and the
@node markers were not (properly) adjusted.

gcc/
	* doc/gm2.texi (Overview): Fix @node markers.
	(Using): Likewise.  Remove subsections that were moved to Overview
	from the menu and move others around.
2023-01-09 23:52:08 +01:00
Jakub Jelinek
01ea66a6c5 c++: Only do maybe_init_list_as_range optimization if !processing_template_decl [PR108047]
The last testcase in this patch ICEs, because
maybe_init_list_as_range -> maybe_init_list_as_array
calls maybe_constant_init in:
  /* Don't do this if the conversion would be constant.  */
  first = maybe_constant_init (first);
  if (TREE_CONSTANT (first))
    return NULL_TREE;
but maybe_constant_init shouldn't be called when processing_template_decl.
While we could replace that call with fold_non_dependent_init, my limited
understanding is that this is an optimization and even if we don't optimize
it when processing_template_decl, build_user_type_conversion_1 will be
called again during instantiation with !processing_template_decl if it is
every instantiated and we can do the optimization only then.

2023-01-09  Jakub Jelinek  <jakub@redhat.com>

	PR c++/105838
	PR c++/108047
	PR c++/108266
	* call.cc (maybe_init_list_as_range): Always return NULL_TREE if
	processing_template_decl.

	* g++.dg/tree-ssa/initlist-opt2.C: New test.
	* g++.dg/tree-ssa/initlist-opt3.C: New test.
2023-01-09 23:41:20 +01:00
Joseph Myers
799e2e7f02 c: Check for modifiable static compound literals in inline definitions
The C rule against modifiable objects with static storage duration in
inline definitions should apply to compound literals (using the C2x
feature of storage-class specifiers for compound literals) just as to
variables.  Add a call to record_inline_static for compound literals
to make sure this case is detected.

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

gcc/c/
	* c-decl.cc (build_compound_literal): Call record_inline_static.

gcc/testsuite/
	* gcc.dg/c2x-complit-8.c: New test.
2023-01-09 21:56:34 +00:00
Joseph Myers
150d4b0283 Update cpplib eo.po
* eo.po: Update.
2023-01-09 20:16:41 +00:00
John David Anglin
0925a97729 Fix compilation of server.cc on hpux.
Select and FD_ISSET are declared in sys/time.h on most versions
of hpux.  As a result, HAVE_PSELECT and HAVE_SELECT can be 0.

2023-01-08  John David Anglin  <danglin@gcc.gnu.org>

c++tools/ChangeLog:

	PR other/107616
	* server.cc (server): Don't call FD_ISSET when HAVE_PSELECT
	and HAVE_SELECT are zero.
2023-01-09 15:44:42 +00:00
Arnaud Charlet
cccef0517f ada: Update copyright notice
gcc/ada/

	* accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year.
	* adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise.
	* adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise.
	* ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise.
	* aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise.
	* aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise.
	* backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise.
	* binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise.
	* bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise.
	* bindo-builders.ads, bindo-diagnostics.adb: Likewise.
	* bindo-diagnostics.ads, bindo-elaborators.adb: Likewise.
	* bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise.
	* bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise.
	* bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise.
	* bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise.
	* butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise.
	* checks.ads, cio.c, clean.adb, clean.ads: Likewise.
	* comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise.
	* csets.adb, csets.ads, cstand.adb: Likewise.
	* cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise.
	* debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise.
	* einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise.
	* env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise.
	* erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise.
	* eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise.
	* exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise.
	* exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise.
	* exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise.
	* exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise.
	* exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise.
	* exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise.
	* exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise.
	* exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise.
	* exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise.
	* exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise.
	* exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise.
	* exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise.
	* exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise.
	* exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise.
	* exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise.
	* exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise.
	* final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise.
	* fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise.
	* freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise.
	* gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise.
	* gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise.
	* gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise.
	* gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise.
	* get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise.
	* gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise.
	* gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise.
	* gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise.
	* gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise.
	* gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise.
	* gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise.
	* gprep.adb, gprep.ads, gsocket.h: Likewise.
	* hostparm.ads: Likewise.
	* impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise.
	* indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise.
	* initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise.
	* krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise.
	* lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise.
	* lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise.
	* lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise.
	* lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise.
	* libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise.
	* libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise.
	* libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise.
	* libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise.
	* libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise.
	* libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise.
	* libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise.
	* libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise.
	* libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise.
	* libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise.
	* libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise.
	* libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise.
	* libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise.
	* libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise.
	* libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise.
	* libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise.
	* libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise.
	* libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise.
	* libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise.
	* libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise.
	* libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise.
	* libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise.
	* libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise.
	* libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise.
	* libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise.
	* libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise.
	* libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise.
	* libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise.
	* libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise.
	* libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise.
	* libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise.
	* libgnarl/s-interr__sigaction.adb: Likewise.
	* libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise.
	* libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise.
	* libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise.
	* libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise.
	* libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise.
	* libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise.
	* libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise.
	* libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise.
	* libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise.
	* libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise.
	* libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise.
	* libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise.
	* libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise.
	* libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise.
	* libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise.
	* libgnarl/s-osinte__dragonfly.adb: Likewise.
	* libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise.
	* libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise.
	* libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise.
	* libgnarl/s-osinte__hpux-dce.adb: Likewise.
	* libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise.
	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
	* libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise.
	* libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise.
	* libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise.
	* libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise.
	* libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise.
	* libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise.
	* libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise.
	* libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise.
	* libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise.
	* libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise.
	* libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise.
	* libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise.
	* libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise.
	* libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise.
	* libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise.
	* libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise.
	* libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise.
	* libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise.
	* libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise.
	* libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise.
	* libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise.
	* libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise.
	* libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise.
	* libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise.
	* libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise.
	* libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise.
	* libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise.
	* libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise.
	* libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise.
	* libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise.
	* libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise.
	* libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise.
	* libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
	* libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise.
	* libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise.
	* libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise.
	* libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise.
	* libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise.
	* libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise.
	* libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise.
	* libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise.
	* libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise.
	* libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise.
	* libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise.
	* libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise.
	* libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
	* libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise.
	* libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
	* libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
	* libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise.
	* libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise.
	* libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise.
	* libgnarl/s-vxwext__kernel-smp.adb: Likewise.
	* libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise.
	* libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise.
	* libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise.
	* libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise.
	* libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise.
	* libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise.
	* libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise.
	* libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise.
	* libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise.
	* libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise.
	* libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise.
	* libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise.
	* libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise.
	* libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise.
	* libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise.
	* libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise.
	* libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise.
	* libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise.
	* libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise.
	* libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise.
	* libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise.
	* libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise.
	* libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise.
	* libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise.
	* libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise.
	* libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise.
	* libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise.
	* libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise.
	* libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise.
	* libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise.
	* libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise.
	* libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise.
	* libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise.
	* libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise.
	* libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise.
	* libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise.
	* libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise.
	* libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise.
	* libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise.
	* libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise.
	* libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise.
	* libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise.
	* libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise.
	* libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise.
	* libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise.
	* libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise.
	* libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise.
	* libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise.
	* libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise.
	* libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise.
	* libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise.
	* libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise.
	* libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise.
	* libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise.
	* libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise.
	* libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise.
	* libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise.
	* libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise.
	* libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise.
	* libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise.
	* libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise.
	* libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise.
	* libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise.
	* libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise.
	* libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise.
	* libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise.
	* libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise.
	* libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise.
	* libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise.
	* libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise.
	* libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise.
	* libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise.
	* libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise.
	* libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise.
	* libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise.
	* libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise.
	* libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise.
	* libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise.
	* libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise.
	* libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise.
	* libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise.
	* libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise.
	* libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise.
	* libgnat/a-excach.adb, libgnat/a-except.adb: Likewise.
	* libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise.
	* libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise.
	* libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise.
	* libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise.
	* libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise.
	* libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise.
	* libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise.
	* libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise.
	* libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise.
	* libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise.
	* libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise.
	* libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise.
	* libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise.
	* libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise.
	* libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise.
	* libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise.
	* libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise.
	* libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise.
	* libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise.
	* libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise.
	* libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise.
	* libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise.
	* libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise.
	* libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise.
	* libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise.
	* libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise.
	* libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise.
	* libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise.
	* libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise.
	* libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise.
	* libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise.
	* libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise.
	* libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise.
	* libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise.
	* libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise.
	* libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise.
	* libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise.
	* libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise.
	* libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise.
	* libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise.
	* libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise.
	* libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise.
	* libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise.
	* libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise.
	* libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise.
	* libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise.
	* libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise.
	* libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise.
	* libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise.
	* libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise.
	* libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise.
	* libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise.
	* libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise.
	* libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise.
	* libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise.
	* libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise.
	* libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise.
	* libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise.
	* libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise.
	* libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise.
	* libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise.
	* libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise.
	* libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise.
	* libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise.
	* libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise.
	* libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise.
	* libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise.
	* libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise.
	* libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise.
	* libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise.
	* libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise.
	* libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise.
	* libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise.
	* libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise.
	* libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise.
	* libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise.
	* libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise.
	* libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise.
	* libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise.
	* libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise.
	* libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise.
	* libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise.
	* libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise.
	* libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise.
	* libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise.
	* libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise.
	* libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise.
	* libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise.
	* libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise.
	* libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise.
	* libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise.
	* libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise.
	* libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise.
	* libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise.
	* libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise.
	* libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise.
	* libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise.
	* libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise.
	* libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise.
	* libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise.
	* libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise.
	* libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise.
	* libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise.
	* libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise.
	* libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise.
	* libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise.
	* libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise.
	* libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise.
	* libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise.
	* libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise.
	* libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise.
	* libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise.
	* libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise.
	* libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise.
	* libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise.
	* libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise.
	* libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise.
	* libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise.
	* libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise.
	* libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise.
	* libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise.
	* libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise.
	* libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise.
	* libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise.
	* libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise.
	* libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise.
	* libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise.
	* libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise.
	* libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise.
	* libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise.
	* libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise.
	* libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise.
	* libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise.
	* libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise.
	* libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise.
	* libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise.
	* libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise.
	* libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise.
	* libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise.
	* libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise.
	* libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise.
	* libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise.
	* libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise.
	* libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise.
	* libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise.
	* libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise.
	* libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise.
	* libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise.
	* libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise.
	* libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise.
	* libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise.
	* libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise.
	* libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise.
	* libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise.
	* libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise.
	* libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise.
	* libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise.
	* libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise.
	* libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise.
	* libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise.
	* libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise.
	* libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise.
	* libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise.
	* libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise.
	* libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise.
	* libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise.
	* libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise.
	* libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise.
	* libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise.
	* libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise.
	* libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise.
	* libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise.
	* libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise.
	* libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise.
	* libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise.
	* libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise.
	* libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise.
	* libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise.
	* libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise.
	* libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise.
	* libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise.
	* libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise.
	* libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise.
	* libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise.
	* libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise.
	* libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise.
	* libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise.
	* libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise.
	* libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise.
	* libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise.
	* libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise.
	* libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise.
	* libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise.
	* libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise.
	* libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise.
	* libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise.
	* libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise.
	* libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise.
	* libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise.
	* libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise.
	* libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise.
	* libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise.
	* libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise.
	* libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise.
	* libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise.
	* libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise.
	* libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise.
	* libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise.
	* libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise.
	* libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise.
	* libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise.
	* libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise.
	* libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise.
	* libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise.
	* libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise.
	* libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise.
	* libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise.
	* libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise.
	* libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise.
	* libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise.
	* libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise.
	* libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise.
	* libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise.
	* libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise.
	* libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise.
	* libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise.
	* libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise.
	* libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise.
	* libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise.
	* libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise.
	* libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise.
	* libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise.
	* libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise.
	* libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise.
	* libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise.
	* libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise.
	* libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise.
	* libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise.
	* libgnat/g-string.adb, libgnat/g-string.ads: Likewise.
	* libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise.
	* libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise.
	* libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise.
	* libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise.
	* libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise.
	* libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise.
	* libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise.
	* libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise.
	* libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise.
	* libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise.
	* libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise.
	* libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise.
	* libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise.
	* libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise.
	* libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise.
	* libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise.
	* libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise.
	* libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise.
	* libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise.
	* libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise.
	* libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise.
	* libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise.
	* libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise.
	* libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise.
	* libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise.
	* libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise.
	* libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise.
	* libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise.
	* libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise.
	* libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise.
	* libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise.
	* libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise.
	* libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise.
	* libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise.
	* libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise.
	* libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise.
	* libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise.
	* libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise.
	* libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise.
	* libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise.
	* libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise.
	* libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise.
	* libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise.
	* libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise.
	* libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise.
	* libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise.
	* libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise.
	* libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise.
	* libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise.
	* libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise.
	* libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise.
	* libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise.
	* libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise.
	* libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise.
	* libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise.
	* libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise.
	* libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise.
	* libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise.
	* libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise.
	* libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise.
	* libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise.
	* libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise.
	* libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise.
	* libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise.
	* libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise.
	* libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise.
	* libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise.
	* libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise.
	* libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise.
	* libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise.
	* libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise.
	* libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise.
	* libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise.
	* libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise.
	* libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise.
	* libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise.
	* libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise.
	* libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise.
	* libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise.
	* libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise.
	* libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise.
	* libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise.
	* libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise.
	* libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise.
	* libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise.
	* libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise.
	* libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise.
	* libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise.
	* libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise.
	* libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise.
	* libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise.
	* libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise.
	* libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise.
	* libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise.
	* libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise.
	* libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise.
	* libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise.
	* libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise.
	* libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise.
	* libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise.
	* libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise.
	* libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise.
	* libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise.
	* libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise.
	* libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise.
	* libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise.
	* libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise.
	* libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise.
	* libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise.
	* libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise.
	* libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise.
	* libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise.
	* libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise.
	* libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise.
	* libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise.
	* libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise.
	* libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise.
	* libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise.
	* libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise.
	* libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise.
	* libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise.
	* libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise.
	* libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise.
	* libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise.
	* libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise.
	* libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise.
	* libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise.
	* libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise.
	* libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise.
	* libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise.
	* libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise.
	* libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise.
	* libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise.
	* libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise.
	* libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise.
	* libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise.
	* libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise.
	* libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise.
	* libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise.
	* libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise.
	* libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise.
	* libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise.
	* libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise.
	* libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise.
	* libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise.
	* libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise.
	* libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise.
	* libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise.
	* libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise.
	* libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise.
	* libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise.
	* libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise.
	* libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise.
	* libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise.
	* libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise.
	* libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise.
	* libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise.
	* libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise.
	* libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise.
	* libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise.
	* libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise.
	* libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise.
	* libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise.
	* libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise.
	* libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise.
	* libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise.
	* libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise.
	* libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise.
	* libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise.
	* libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise.
	* libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise.
	* libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise.
	* libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise.
	* libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise.
	* libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise.
	* libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise.
	* libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise.
	* libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise.
	* libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise.
	* libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise.
	* libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise.
	* libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise.
	* libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise.
	* libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise.
	* libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise.
	* libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise.
	* libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise.
	* libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise.
	* libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise.
	* libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise.
	* libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise.
	* libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise.
	* libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise.
	* libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise.
	* libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise.
	* libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise.
	* libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise.
	* libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise.
	* libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise.
	* libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise.
	* libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise.
	* libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise.
	* libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise.
	* libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise.
	* libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise.
	* libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise.
	* libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise.
	* libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise.
	* libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise.
	* libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise.
	* libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise.
	* libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise.
	* libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise.
	* libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise.
	* libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise.
	* libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise.
	* libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise.
	* libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise.
	* libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise.
	* libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise.
	* libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise.
	* libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise.
	* libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise.
	* libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise.
	* libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise.
	* libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise.
	* libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise.
	* libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise.
	* libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise.
	* libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise.
	* libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise.
	* libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise.
	* libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise.
	* libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise.
	* libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise.
	* libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise.
	* libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise.
	* libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise.
	* libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise.
	* libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise.
	* libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise.
	* libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise.
	* libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise.
	* libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise.
	* libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise.
	* libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise.
	* libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise.
	* libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise.
	* libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise.
	* libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise.
	* libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise.
	* libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise.
	* libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise.
	* libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise.
	* libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise.
	* libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise.
	* libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise.
	* libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise.
	* libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise.
	* libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise.
	* libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise.
	* libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise.
	* libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise.
	* libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise.
	* libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise.
	* libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise.
	* libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise.
	* libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise.
	* libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise.
	* libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise.
	* libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise.
	* libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise.
	* libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise.
	* libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise.
	* libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise.
	* libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise.
	* libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise.
	* libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise.
	* libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise.
	* libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise.
	* libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise.
	* libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise.
	* libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise.
	* libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise.
	* libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise.
	* libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise.
	* libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise.
	* libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise.
	* libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise.
	* libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise.
	* libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise.
	* libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise.
	* libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise.
	* libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise.
	* libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise.
	* libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise.
	* libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise.
	* libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise.
	* libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise.
	* libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise.
	* libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise.
	* libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise.
	* libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise.
	* libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise.
	* libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise.
	* libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise.
	* libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise.
	* libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise.
	* libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise.
	* libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise.
	* libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise.
	* libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise.
	* libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise.
	* libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise.
	* libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise.
	* libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise.
	* libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise.
	* libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise.
	* libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise.
	* libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise.
	* libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise.
	* libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise.
	* libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise.
	* libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise.
	* libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise.
	* libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise.
	* libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise.
	* libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise.
	* libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise.
	* libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise.
	* libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise.
	* libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise.
	* libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise.
	* libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise.
	* libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise.
	* libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise.
	* libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise.
	* libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise.
	* libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise.
	* libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise.
	* libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise.
	* libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise.
	* libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise.
	* libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise.
	* libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise.
	* libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise.
	* libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise.
	* libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise.
	* libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise.
	* libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise.
	* libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise.
	* libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise.
	* libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise.
	* libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise.
	* libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise.
	* libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise.
	* libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise.
	* libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise.
	* libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise.
	* libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise.
	* libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise.
	* libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise.
	* libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise.
	* libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise.
	* libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise.
	* libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise.
	* libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise.
	* libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise.
	* libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise.
	* libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise.
	* libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise.
	* libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise.
	* libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise.
	* libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise.
	* libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise.
	* libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise.
	* libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise.
	* libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise.
	* libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise.
	* libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise.
	* libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise.
	* libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise.
	* libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise.
	* libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise.
	* libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise.
	* libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise.
	* libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise.
	* libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise.
	* libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise.
	* libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise.
	* libgnat/system-solaris-sparc.ads: Likewise.
	* libgnat/system-solaris-x86.ads: Likewise.
	* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-aarch64.ads: Likewise.
	* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-arm.ads: Likewise.
	* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
	* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
	* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
	* libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise.
	* live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise.
	* make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise.
	* mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise.
	* mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise.
	* namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise.
	* opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise.
	* osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise.
	* osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise.
	* par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise.
	* par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise.
	* par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise.
	* par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise.
	* par.ads, par_sco.adb, par_sco.ads: Likewise.
	* pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise.
	* prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise.
	* raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise.
	* repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise.
	* restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise.
	* rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise.
	* scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise.
	* scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise.
	* scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise.
	* sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise.
	* sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise.
	* sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise.
	* sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise.
	* sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise.
	* sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise.
	* sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise.
	* sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise.
	* sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise.
	* sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise.
	* sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise.
	* sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise.
	* sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise.
	* sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise.
	* sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise.
	* sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise.
	* sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise.
	* sigtramp-ios.c, sigtramp-qnx.c: Likewise.
	* sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise.
	* sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise.
	* sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise.
	* sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise.
	* sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise.
	* sprint.adb, sprint.ads, stand.ads: Likewise.
	* stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise.
	* style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise.
	* stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise.
	* switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise.
	* switch.ads, sysdep.c, table.adb: Likewise.
	* table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise.
	* tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise.
	* treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise.
	* types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise.
	* urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise.
	* validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise.
	* warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise.
	* xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise.
	* gnatvsn.ads (Current_Year): Likewise and bump to 2023.
2023-01-09 15:42:24 +01:00
Eric Botcazou
a53fb5761e ada: Remove a couple of unreachable statements
The "then" arm of these nested if-statements is trivially unreachable.

gcc/ada/

	* exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement.
	(Make_Final_Call): Likewise.
2023-01-09 15:42:23 +01:00
Eric Botcazou
d4eaf83d6e ada: Simplify finalization of temporaries created for interface objects
The expansion of (class-wide) interface objects generates a temporary that
holds the actual data and the objects are rewritten as the renaming of the
dereference at the interface tag present in it. These temporaries may need
to be finalized and this is currently done through the renamings, by using
pattern matching to recognize the original source constructs.

Now these temporaries may also need to be adjusted and this is currently
done "naturally", i.e. by using the standard machinery for them, so there
is no fundamental reason why the finalization cannot be done this way too.

Therefore this changes removes the special machinery implemented for their
finalization and let them be handled by the standard one instead.

gcc/ada/

	* exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete.
	(Is_Displacement_Of_Object_Or_Function_Result): Likewise.
	* exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to...
	(Is_Temporary_For_Interface_Object): ...this.
	(Is_Finalizable_Transient): Adjust call to above renaming.
	(Is_Displacement_Of_Object_Or_Function_Result): Delete.
	(Requires_Cleanup_Actions): Remove special handling of the
	temporaries created for interface objects.
	* exp_ch7.adb (Build_Finalizer): Likewise.
2023-01-09 15:42:23 +01:00
Richard Biener
46034c46f8 middle-end/108209 - typo in genmatch.cc:commutative_op
The early out for user-id handling indicated commutative
rather than not commutative.

	PR middle-end/108209
	* genmatch.cc (commutative_op): Fix return value for
	user-id with non-commutative first replacement.
2023-01-09 15:07:49 +01:00
Jakub Jelinek
b1879fb84e calls: Fix up TYPE_NO_NAMED_ARGS_STDARG_P handling [PR107453]
On powerpc64le-linux, the following patch fixes
-FAIL: gcc.dg/c2x-stdarg-4.c execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O0  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O1  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O2  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -O3 -g  execution test
-FAIL: gcc.dg/torture/c2x-stdarg-split-1a.c   -Os  execution test
The problem is mismatch between the caller and callee side.
On the callee side, we do:
  /* NAMED_ARG is a misnomer.  We really mean 'non-variadic'. */
  if (!cfun->stdarg)
    data->arg.named = 1;  /* No variadic parms.  */
  else if (DECL_CHAIN (parm))
    data->arg.named = 1;  /* Not the last non-variadic parm. */
  else if (targetm.calls.strict_argument_naming (all->args_so_far))
    data->arg.named = 1;  /* Only variadic ones are unnamed.  */
  else
    data->arg.named = 0;  /* Treat as variadic.  */
which is later passed to the target hooks to determine if a particular
argument is named or not.  Now, cfun->stdarg is determined from the stdarg_p
call, which for the new C2X TYPE_NO_NAMED_ARGS_STDARG_P function types
(rettype fn (...)) returns true.  Such functions have no named arguments,
so data->arg.named will be 0 in function.cc.  But on the caller side,
as TYPE_NO_NAMED_ARGS_STDARG_P function types have TYPE_ARG_TYPES NULL,
we instead treat those calls as unprototyped even when they are prototyped
- /* If we know nothing, treat all args as named.  */ n_named_args = num_actuals;
in 2 spots.  We need to treat the TYPE_NO_NAMED_ARGS_STDARG_P cases as
prototyped with no named arguments.

2023-01-09  Jakub Jelinek  <jakub@redhat.com>

	PR target/107453
	* calls.cc (expand_call): For calls with
	TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args.
	Formatting fix.
2023-01-09 13:36:22 +01:00
Richard Biener
a5a8242153 middle-end/69482 - not preserving volatile accesses
The following addresses a long standing issue with not preserving
accesses to non-volatile objects through volatile qualified
pointers in the case that object gets expanded to a register.  The
fix is to treat accesses to an object with a volatile qualified
access as forcing that object to memory.  This issue got more
exposed recently so it regressed more since GCC 11.

	PR middle-end/69482
	* cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile
	qualified accesses also force objects to memory.

	* gcc.target/i386/pr69482-1.c: New testcase.
	* gcc.target/i386/pr69482-2.c: Likewise.
2023-01-09 13:31:44 +01:00
Martin Liska
fb082e3293 hash: do not insert deleted value to a hash_set
PR lto/108330

gcc/ChangeLog:

	* lto-cgraph.cc (compute_ltrans_boundary): Do not insert
	NULL (deleleted value) to a hash_set.

gcc/testsuite/ChangeLog:

	* g++.dg/ipa/pr108830.C: New test.
2023-01-09 13:22:45 +01:00