On Wed, 11 May 2022, H.J. Lu wrote:
> On Tue, May 10, 2022 at 11:39 PM Richard Biener wrote:
> >
> > On Tue, 10 May 2022, H.J. Lu wrote:
> >
> > > When compiling Linux kernel with -fcf-protection=branch to enable x86
> > > Indiret Branch Tracking (IBT), ENDBR is added to all global functions.
> >
Hi!
The ugly part is that OpenMP 5.1 made omp_all_memory a reserved identifier
which isn't allowed to be used anywhere but in the depend clause, this is
against how everything else has been handled in OpenMP so far (where
some identifiers could have special meaning in some OpenMP clauses or
pragma
On Wed, 11 May 2022 19:37:21 PDT (-0700), jia...@iscas.ac.cn wrote:
Thank you, it hasn't commited into the trunk yet.
Should be now.
ISCAS
å¨ Palmer Dabbelt ï¼2022å¹´5æ11æ¥ ä¸å5:59åéï¼
On Thu, 05 May 2022 11:45:50 PDT (-0700), [1]gcc-patches@gcc.gnu.org
wrote:
> On T
Eliminate power8-fusion and power8-fusion-sign options.
As part of PR target/102059, one of the things came up is that we should
eliminate the power8 fusion options altogether. This patch eliminates the
-mpower8-fusion option. It does enable power8 fusion if the code is being
tuned for power8.
Hi all,
I just refined this patch with more explanation in commit message.
No code change compare to last change, which removed ix86_match_ccmode.
Ok for trunk?
BRs,
Haochen
> -Original Message-
> From: Jiang, Haochen
> Sent: Saturday, May 7, 2022 9:55 AM
> To: Uros Bizjak
> Cc: gcc-p
There is an assumption in force_edge_cold that, if any edge out of the
same src block has uninitialized probability, then a conditional
branch out of src won't have REG_BR_PROB set.
This assumption is supposed to hold, but buggy gimple passes may turn
unconditional edges into conditional ones, a
On Tue, May 10, 2022 at 2:54 PM Richard Biener via Gcc-patches
wrote:
>
> On Mon, May 9, 2022 at 7:11 AM liuhongt via Gcc-patches
> wrote:
> >
> > Here's adjused patch.
> > Ok for trunk?
> >
> > Optimize
> >
> > _4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>;
> > _5 = BIT_FIELD_REF <
When turning unconditional edges into conditional, as in
gimple-harden-conditionals.cc:insert_check_and_trap, the newly-created
edge's probability comes out uninitialized, while the previously
unconditional edge's probability is presumably
profile_probability::always.
Mixing initialized and unin
Reverse iteration over blocks, in gimple-harden-conditionals.cc, was
supposed to avoid visiting blocks introduced by hardening and
introducing further reversed conditionals and traps for them, but
newly-created blocks may be inserted before the current block, as
shown by the PR105455 testcase.
N
On Thu, May 5, 2022 at 2:26 PM Martin Liška wrote:
>
> On 5/5/22 14:24, Richard Biener wrote:
> > Hmm, but we support C++11 host compilers that are not GCC but
> > may claim to be, with GCC_VERSION 4.2.x for example. Are we sure
> > all those liars implement what we guard with the version checks?
In my case this is not exactly what the FIXME in the comment above says. The
count is 0 even before
the initial scaling happens. I hit this case with some changes I'm working on
to enable per-instruction discriminators for AutoFDO.
I looked into saving/restoring the old counts but it would be aw
These leaks all relate to logging within -fdump-analyzer[-stderr]
or are one-time leaks; seen with valgrind.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Tested with valgrind.
Pushed to trunk as r13-334-g99988b0e8b57b3.
gcc/analyzer/ChangeLog:
* checker-path.cc (state_ch
On Fri, Nov 19, 2021 at 9:55 AM Martin Jambor wrote:
>
> Hi,
>
> On Fri, Nov 19 2021, Jan Hubicka wrote:
> >> > Hi,
> >> >
> >> > On Fri, Nov 12 2021, Martin Jambor wrote:
> >> > > Hi,
> >> > >
> >> > > using -fno-semantic-interposition has been reported by various people
> >> > > to bring about c
This is a minor follow-up to Martin's patch
commit 6b788fa278b4f863a17ab80e0bf4991c3d8de167
Author: Martin Liska
Date: Mon Apr 19 14:55:54 2021 +0200
Move branch_changer.py usage to branching.html.
though the markup predates his change (which merely made me notice it).
Pushed.
Ger
When -fcf-protection=branch is used, the compiler will generate jump
tables for switch statements where the indirect jump is prefixed with
the NOTRACK prefix, so it can jump to non-ENDBR targets. Since the
indirect jump targets are generated by the compiler, they are always
valid.
Document -mcet-
On Wed, May 11, 2022 at 12:02 PM Florian Weimer wrote:
>
> * H. J. Lu:
>
> > On Wed, May 11, 2022 at 11:45 AM Florian Weimer wrote:
> >>
> >> * H. J. Lu:
> >>
> >> >> NOTRACK avoids the need for ENDBR instructions, right? That's a
> >> >> hardening improvement, so it should be used by default.
>
On Wed, 2022-05-11 at 15:04 -0400, Eric Gallager wrote:
> On Wed, May 11, 2022 at 9:53 AM David Malcolm via Gcc-patches
> wrote:
> >
> > On Thu, 2022-05-05 at 14:16 +0200, Martin Liška wrote:
> > > Patch can bootstrap on x86_64-linux-gnu and survives regression
> > > tests.
> > >
> > > Ready to
Since the patch for PR103408, the template parameters for the lambda in this
test have level 1 instead of 2, and we were treating null template args as 1
level of arguments, so tsubst_template_parms decided it had nothing to do.
Fixed by distinguishing between <> and no args at all, which is what w
On 5/11/22 15:20, Patrick Palka wrote:
This patch implements a simple tree wrapper, named tree_vec_range, which
lets us idiomatically iterate over all the elements of a TREE_VEC using
a C++11 range-based for loop:
// v is a TREE_VEC
for (tree e : tree_vec_range (v))
...
This is simil
This patch implements a simple tree wrapper, named tree_vec_range, which
lets us idiomatically iterate over all the elements of a TREE_VEC using
a C++11 range-based for loop:
// v is a TREE_VEC
for (tree e : tree_vec_range (v))
...
This is similar to the existing tree-based range adaptors
On Wed, May 11, 2022 at 9:53 AM David Malcolm via Gcc-patches
wrote:
>
> On Thu, 2022-05-05 at 14:16 +0200, Martin Liška wrote:
> > Patch can bootstrap on x86_64-linux-gnu and survives regression
> > tests.
> >
> > Ready to be installed?
>
> I looked over the changes to:
>
> gcc/analyzer/*.cc
>
* H. J. Lu:
> On Wed, May 11, 2022 at 11:45 AM Florian Weimer wrote:
>>
>> * H. J. Lu:
>>
>> >> NOTRACK avoids the need for ENDBR instructions, right? That's a
>> >> hardening improvement, so it should be used by default.
>> >
>> > NOTRACK weakens IBT since it disables IBT on the indirect jump i
On Wed, May 11, 2022 at 11:45 AM Florian Weimer wrote:
>
> * H. J. Lu:
>
> >> NOTRACK avoids the need for ENDBR instructions, right? That's a
> >> hardening improvement, so it should be used by default.
> >
> > NOTRACK weakens IBT since it disables IBT on the indirect jump instruction.
> > GCC us
On Wed, 2022-05-11 at 16:49 +0200, Martin Liška wrote:
> In case where we have 2 equally good candidates like
> -ftrivial-auto-var-init=
> -Wtrivial-auto-var-init
>
> for -ftrivial-auto-var-init, we should take the candidate that
> has a difference in trailing sign symbol.
>
> Patch can bootstrap
* H. J. Lu:
>> NOTRACK avoids the need for ENDBR instructions, right? That's a
>> hardening improvement, so it should be used by default.
>
> NOTRACK weakens IBT since it disables IBT on the indirect jump instruction.
> GCC uses it in the jump table to avoid ENDBR.
Typical jump table code looks
On 5/10/22 22:05, Yonghong Song wrote:
On 5/10/22 8:43 PM, Yonghong Song wrote:
On 5/6/22 2:18 PM, David Faust wrote:
On 5/5/22 16:00, Yonghong Song wrote:
On 5/4/22 10:03 AM, David Faust wrote:
On 5/3/22 15:32, Joseph Myers wrote:
On Mon, 2 May 2022, David Faust via Gcc-patches
On Wed, May 11, 2022 at 11:22 AM Florian Weimer wrote:
>
> * H. J. Lu:
>
> >> >> > Generate jump tables with ENDBR and skip the NOTRACK prefix for
> >> >> > indirect
> >> >> > jump. Document -mno-cet-switch to turn off CET instrumentation on
> >> >> > jump
> >> >> > tables for switch statements
* H. J. Lu:
>> >> > Generate jump tables with ENDBR and skip the NOTRACK prefix for indirect
>> >> > jump. Document -mno-cet-switch to turn off CET instrumentation on jump
>> >> > tables for switch statements.
>> >>
>> >> Of course, that is a slight regression in security hardening.
>> >>
>> >> Q
On Wed, May 11, 2022 at 8:58 AM Florian Weimer wrote:
>
> * H. J. Lu:
>
> > On Wed, May 11, 2022 at 1:12 AM Florian Weimer wrote:
> >>
> >> * H. J. Lu via Gcc-patches:
> >>
> >> > When -fcf-protection=branch is used, the compiler will generate jump
> >> > tables where the indirect jump is prefixe
Since my r13-112, in the template we were changing 'return' to 'return this'
on cdtor_returns_this targets, and then getting confused by that when
instantiating. So only make that change at instantiation time.
Tested x86_64-pc-linux-gnu and arm-eabi sim, applying to trunk.
PR bootstrap/1
Dear all, dear Jakub,
this patch handles (for target regions)
firstprivate(array_descriptor)
by not only firstprivatizing the descriptor but also the data
it points to. This is done by turning it in omp-low.cc the clause
into
firstprivate(descr) firstprivate(descr.data)
and then attaching the
On Wed, 11 May 2022, Martin Liška wrote:
> May I please ping review for this?
There are various coding style issues in the patch; at least missing space
before '(' and '&&' at end of line (should be at start of line). It will
also need to be updated for .c files having been renamed to .cc in t
* H. J. Lu:
> On Wed, May 11, 2022 at 1:12 AM Florian Weimer wrote:
>>
>> * H. J. Lu via Gcc-patches:
>>
>> > When -fcf-protection=branch is used, the compiler will generate jump
>> > tables where the indirect jump is prefixed with the NOTRACK prefix, so
>> > it can jump to non-ENDBR targets. Yet
The patch that was so far added for documenting --with-zstd is pretty
minimal:
- it refers to undocumented options --with-zstd-include and
--with-zstd-lib;
- it suggests that --with-zstd can be used without an argument;
- it does not clarify how this option applies to cross-compilation.
The mode iterator always expands to "wa".
2022-05-11 Segher Boessenkool
* config/rs6000/rs6000.md: Use wa instead of .
---
gcc/config/rs6000/rs6000.md | 98 +
1 file changed, 46 insertions(+), 52 deletions(-)
diff --git a/gcc/config/rs600
The mode iterator can just use "d" always.
2022-05-11 Segher Boessenkool
* config/rs6000/rs6000.md: Use d instead of .
---
gcc/config/rs6000/rs6000.md | 117 +---
1 file changed, 57 insertions(+), 60 deletions(-)
diff --git a/gcc/config/rs600
Constraint "f" is always exactly the same as constraint "d", so we do
not need RS6000_CONSTRAINT_f.
2022-05-11 Segher Boessenkool
* config/rs6000/constraints.md (register_constraint "f"): Use
RS6000_CONSTRAINT_d.
* config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do n
Since 2c2aa74d1dft ("rs6000: Remove Xilinx FP") constraints d and f mean
exactly the same thing, so we can use "d" always. This series cleans up
the constraint initialisation a bit, and removes the mode
attribute, since it can now always be "d". It also removes since it
always is "wa", and it s
On Tue, May 10, 2022 at 11:39 PM Richard Biener wrote:
>
> On Tue, 10 May 2022, H.J. Lu wrote:
>
> > When compiling Linux kernel with -fcf-protection=branch to enable x86
> > Indiret Branch Tracking (IBT), ENDBR is added to all global functions.
> > This creates more "legal" forward edges than nec
On 5/11/22 14:48, Andreas Schwab wrote:
> On Mai 11 2022, Martin Liška wrote:
>
>> @Joseph: Can you please help me why --disable-$foo disables building $foo
>> folder during the build?
>
> # Handle --disable- generically.
> for dir in $configdirs $build_configdirs $target_configdirs ; do
> dirn
In case where we have 2 equally good candidates like
-ftrivial-auto-var-init=
-Wtrivial-auto-var-init
for -ftrivial-auto-var-init, we should take the candidate that
has a difference in trailing sign symbol.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be instal
Hi Richard,
> Although invoking ./cc1 directly only half-works with --with-arch,
> it half-works well-enough that I'd still like to keep it working.
> But I agree we should apply your change first, then I can follow up
> with a patch to make --with-* work with ./cc1 later. (I have a version
> loc
Hi~
On Wed, May 11, 2022 at 04:53:08PM +0800, Kewen.Lin wrote:
> on 2022/5/10 20:27, Segher Boessenkool wrote:
> > Yes. RTL iterators and attributes are textual replacement and expansion
> > only: there is no deeper semantic meaning to it. In fact, we should
> > have only a "minmax" iterator and
在 2022-05-10 22:28, Jakub Jelinek 写道:
This looks reasonable, but doesn't contain the most important part.
As mentioned in https://gcc.gnu.org/r12-5855
the generic part can now support relocation of PCH, so it is fine if it is
mapped at some other address, it is preferrable if it is mapped at the
On Wed, May 11, 2022 at 1:12 AM Florian Weimer wrote:
>
> * H. J. Lu via Gcc-patches:
>
> > When -fcf-protection=branch is used, the compiler will generate jump
> > tables where the indirect jump is prefixed with the NOTRACK prefix, so
> > it can jump to non-ENDBR targets. Yet, for NOTRACK prefixe
On Thu, 2022-05-05 at 14:16 +0200, Martin Liška wrote:
> Patch can bootstrap on x86_64-linux-gnu and survives regression
> tests.
>
> Ready to be installed?
I looked over the changes to:
gcc/analyzer/*.cc
gcc/input.cc
gcc/jit/*.cc
and they look good to me.
I assume that you enabled "jit"
This adds module attachment as a distinct flag to 'in module purview'.
A declaration may have neither or both (as before), but can also have
just the 'in [named-module] purview', which was previously not
representable.
This new state allows some cleanup of redeclarations (particularly the
builtin
The following consolidates the forwarders to gimple_build with
UNKNOWN_LOCATION by using two variadic template functions. This
makes the code visually less disturbing and is in preparation
of adding more forwarders with different stmt insertion schemes.
Bootstrapped on x86_64-unknown-linux-gnu, t
On Wed, May 11, 2022 at 2:23 PM Richard Sandiford via Gcc-patches
wrote:
>
> Wilco Dijkstra writes:
> > Hi Richard,
> >
> >> Yeah, I'm not disagreeing with any of that. It's just a question of
> >> whether the problem should be fixed by artificially lowering the general
> >> rtx costs with one p
On Mai 11 2022, Martin Liška wrote:
> @Joseph: Can you please help me why --disable-$foo disables building $foo
> folder during the build?
# Handle --disable- generically.
for dir in $configdirs $build_configdirs $target_configdirs ; do
dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e
Tested on x86_64-pc-linux-gnu, does this look OK for the 10 branch?
NB: This backport of r12-1606 to the 10 branch deliberately omits parts
of P2325R3 so as to maximize backward compatibility with pre-P2325R3 code.
In particular, we don't remove the default ctors for back_insert_iterator,
front_in
Hi!
On 2022-04-06T12:02:08+0200, Thomas Schwinge wrote:
> On 2021-01-14T15:50:23+0100, I wrote:
>> I'm raising here an issue with HSA libgomp plugin code changes from a
>> while ago. While HSA is now no longer relevant for GCC master branch,
>> the same code has also been copied into the GCN lib
Hi!
On 2022-04-06T12:02:08+0200, I wrote:
> On 2021-01-14T15:50:23+0100, I wrote:
>> I'm raising here an issue with HSA libgomp plugin code changes from a
>> while ago. While HSA is now no longer relevant for GCC master branch,
>> the same code has also been copied into the GCN libgomp plugin.
>
Wilco Dijkstra writes:
> Hi Richard,
>
>> Yeah, I'm not disagreeing with any of that. It's just a question of
>> whether the problem should be fixed by artificially lowering the general
>> rtx costs with one particular user (RA spill costs) in mind, or whether
>> it should be fixed by making the
On 5/11/22 13:50, Richard Biener wrote:
> Should that use @option{}? --with-gmp etc. just refer to
> @option{--with-gmp-include} without PATH/*, so please drop that here, too.
Sure, adjusted and pushed.
Martin
On 5/11/22 13:31, Rainer Orth wrote:
> Hi Martin,
>
Subject: [PATCH] configure: add --disable-fix-includes
>>>
>>> As I've mentioned before, I believe, the command is called fixincludes
>>> in current gcc docs, and the option should reflect that, not introduce a
>>> name used nowhere else.
>>
On Tue, May 10, 2022 at 09:30:03PM +0800, LIU Hao via Gcc-patches wrote:
> From 2e314baed84fd80b3b3c4c67787a032b86dd54dc Mon Sep 17 00:00:00 2001
> From: LIU Hao
> Date: Tue, 10 May 2022 13:19:07 +0800
> Subject: [PATCH] [PR14940] Remove size limit of PCH
>
> There shouldn't be such a limit in pr
On Wed, May 11, 2022 at 1:22 PM Martin Liška wrote:
>
> Ready to be installed?
> Thanks,
> Martin
>
> PR other/105527
>
> gcc/ChangeLog:
>
> * doc/install.texi: Document the configure option --with-zstd.
> ---
> gcc/doc/install.texi | 5 +
> 1 file changed, 5 insertions(+)
>
>
On Wed, May 11, 2022 at 01:45:13PM +0200, Richard Biener via Gcc-patches wrote:
> On Wed, 11 May 2022, Richard Biener wrote:
>
> > When the insn to delete is a debug insn there's no point in figuring
> > out whether it might be the last real insn and thus we have to purge
> > dead edges.
> >
> >
On Wed, 11 May 2022, Richard Biener wrote:
> When the insn to delete is a debug insn there's no point in figuring
> out whether it might be the last real insn and thus we have to purge
> dead edges.
>
> Bootstrap and regtest running on x86_64-unknown-linux-gnu.
Actually revisiting PR94618 which
On 5/10/22 13:30, LIU Hao wrote:
在 2022-05-10 20:00, Xi Ruoyao 写道:
On Tue, 2022-05-10 at 19:35 +0800, LIU Hao via Gcc-patches wrote:
Subject: [PATCH] Remove size limit of PCH
Make it "Remove size limit of PCH [PR14940]", so once it's committed a
message will show up in bugzilla.
Here is t
When the insn to delete is a debug insn there's no point in figuring
out whether it might be the last real insn and thus we have to purge
dead edges.
Bootstrap and regtest running on x86_64-unknown-linux-gnu.
2022-05-11 Richard Biener
PR rtl-optimization/105559
* cfgrtl.cc (de
Hi Martin,
>>> Subject: [PATCH] configure: add --disable-fix-includes
>>
>> As I've mentioned before, I believe, the command is called fixincludes
>> in current gcc docs, and the option should reflect that, not introduce a
>> name used nowhere else.
>
> No, I can't use it, because even with curre
Ready to be installed?
Thanks,
Martin
PR other/105527
gcc/ChangeLog:
* doc/install.texi: Document the configure option --with-zstd.
---
gcc/doc/install.texi | 5 +
1 file changed, 5 insertions(+)
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 10bfceffceb..1d
The following allows (c != 0 ? 0 : 100) != 0 to be simplified as
c != 0 as fold_binary_op_with_conditional_arg would have done
via forwprop and GENERIC folding. Likewise it allows to combine
(a != 0) != 0 directly via match.pd instead of only via
forwprop and again fold_binary_op_with_conditional_
On 5/11/22 13:00, Rainer Orth wrote:
> Hi Martin,
>
>> On 5/9/22 23:14, Joseph Myers wrote:
>>> If you add a new configure option, it should be documented in
>>> install.texi.
>>>
>>
>> Both comments fixed in the v2.
>>
>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>
Hi Richard,
> Yeah, I'm not disagreeing with any of that. It's just a question of
> whether the problem should be fixed by artificially lowering the general
> rtx costs with one particular user (RA spill costs) in mind, or whether
> it should be fixed by making the RA spill code take the factors
Hi Martin,
> On 5/9/22 23:14, Joseph Myers wrote:
>> If you add a new configure option, it should be documented in
>> install.texi.
>>
>
> Both comments fixed in the v2.
>
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
> From 58d431568d6b6163dd9cdc920239f173689a769c Mon
On 5/9/22 23:14, Joseph Myers wrote:
> If you add a new configure option, it should be documented in
> install.texi.
>
Both comments fixed in the v2.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
Thanks,
MartinFrom 58d431568d6b6163dd9cdc920239f17
Hi,
This patch implements optab f[min/max]_optab by xs[min/max]dp on rs6000.
Tests show that outputs of xs[min/max]dp are consistent with the standard
of C99 fmin/max.
This patch also binds __builtin_vsx_xs[min/max]dp to fmin/max instead
of smin/max. So the builtins always generate xs[min/max]
On Wed, May 11, 2022 at 10:50 AM Martin Liška wrote:
>
> On 5/11/22 10:27, Uros Bizjak wrote:
> > On Wed, May 11, 2022 at 10:19 AM Martin Liška wrote:
> >>
> >> On 5/2/22 09:57, Martin Liška wrote:
> >>> On 3/31/22 09:01, Martin Liška wrote:
> @Jakub: May I install it once stage1 opens?
> >>
on 2022/1/27 20:51, Segher Boessenkool wrote:
> On Thu, Jan 27, 2022 at 07:24:53PM +0800, Kewen.Lin wrote:
>> on 2022/1/27 上午1:57, Segher Boessenkool wrote:
>>> I like your original patch better. But for stage 1, sorry.
>>
>> Thanks Segher! Is it ok to commit it then? Or I'll repost this once
>>
Prove System.Image_U, making the connection with the space available in
the string as computed with System.Width_U and the functions that
support the other direction of 'Value in System.Value_U.
The units that support 'Image cannot be marked Pure anymore, as they now
depend on non-pure units.
Tes
In GNAT User's Guide section about configuration pragmas the
Detect_Blocking has been recently moved to an alphabetic order. This
patch moves the its Name_Id and Pragma_Is in the source code to match
this order.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* snames.ads-tmp
Unbalanced parens can be found when editing in emacs using the
"check-parens" command. Offending occurrences must be examined manually,
because few of them are intentional.
Minor cleanup of typos in documentation.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/
Uses of Compile_Time_Error and Compile_Time_Warning as configuration
pragmas were detected with a custom check in semantic analysis. Now they
are detected with an existing general check in parser.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_prag.adb (Analyze_Pragma):
Ada 2022 bracket syntax is only allowed for arrays and containers, not
records. This change correctly rejects record aggregates using brackets
along with few cases of brackets being used instead of parentheses.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* libgnat/a-direct
Add new configuration restriction No_Local_Tagged_Types. This new
restriction ensures at compile time that all tagged types are only
declared at the library level.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* libgnat/s-rident.ads (Restriction_Id): Add
No_Local_Tag
It comes from a discrepancy in the analysis of binary operators, between
the predefined ones for which we register an interpretation with the base
type and the user-defined ones for which we register an interpretation
with the subtype directly.
This is harmless in almost all cases because the two
In the case of a constrained access definition for a record component we
are calling create_itype twice the former not being updated. This leads
to a malformed node that crashes -gnatG when predicates are activated.
Instead of creating a default Itype for Desig_Subtype, create it with
the correct
To warn about infinite loops we detect variables referenced in loop exit
conditions. We handle references within boolean operators, i.e.
comparison and negation, which are likely to appear at the top level of
the condition (e.g. "X > 0"). However, we can easily handle all
operators, because they ar
Update to version 4.8.14 of prover Z3 requires minor adjustments of the
ghost code to add necessary intermediate assertions that drive the
automatic proof.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
interm
Some of the restrictions were initially implemented as specific to GNAT,
but now they are part of Ada; likewise, some of recently added
restrictions were considered to be part of Ada, but are not yet in the
standard. This patch updates their categorization based on Ada 202x
Draft 32.
Only a No_Imp
On SUSE 15, glibc-locale-base-32bit is needed to run 32bit versions
of Libadalang tools.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_ugn/platform_specific_information.rst: Add
glibc-locale-base-32bit as a dependency in SUSE distributions.
* gnat_
Fix Spec/Body headers in .adb/.ads files, respectively; all violations
detected with grep and manually filtered because of .tmpl files.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
libgnat/g-exptty.adb, libgnat/g-s
Only enhancement of formatting.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_ugn/gnat_and_program_execution.rst,
doc/gnat_ugn/gnat_utility_programs.rst,
doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
glitches.
* gnat_u
Only enhancement of formatting.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
blocks from plain code to Ada.diff --git a/gcc/ada/doc/gnat_ugn/elaboration_order_handling_in_gnat.rst b/gcc/ada/doc/gnat_ugn/e
In cases where the Ada 2022 feature of target name symbols (@) is used
and the evaluation of the name is side-effect free, the compiler creates
a temporary object to hold the value of the target object for use as
the value of "@" symbols in the right-hand side expression. In the case
where the targ
This patch fixes a crash caused by specifying the Secondary_Stack_Size
aspect of a task type as the value of a discriminant of the task type,
and then declaring a record component whose type is the task type,
constrained to a discriminant of the record.
Tested on x86_64-pc-linux-gnu, committed on
An entity flag Reachable now only applies to E_Label entities and needs
to be explicitly reset when mutating labels into loop entities. Only
needed to prevent cascaded errors when compiling a malicious ACATS test
with -gnatq (try semantics, even if parse errors).
Cleanup related to detection of un
Tables with small left columns and large right columns had colliding
text in the PDF version of GNAT RM.
Spotted while adding description of pragma Ada_2022.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_characteristics.rst: Add
Remove extra whitespace in examples of pragmas and aspects.
Spotted while adding description of pragma Ada_2022.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_aspects.rst,
doc/gnat_rm/implementation_defined_pragmas.rst: Remove ex
Fix formatting of description lists, i.e. continuation lines are now
indented like their preceding lines.
Spotted while adding description of pragma Ada_2022.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_characteristics.rst: Remove
Fix formatting of a nested bullet lists. Spotted while adding
description of pragma Ada_2022.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
Eliminate): Fix markup.
* gnat_rm.texi: Regenerate.diff --git
Pragma Ada_2022 is similar to existing pragma Ada_2012 and similarly
deserves to be documented.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
Ada_2022): Copy description from pragma Ada 2012 and adapt.
An entity flag Reachable now only applies to E_Label entities. We had an
appropriate guard for setting this flag, but not for clearing.
Cleanup related to detection of uninitialized scalars with GOTO
statements.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_ch5.adb (A
In the case of an object declaration with an indefinite nominal subtype
(roughly speaking, that's an object that takes its bounds,
discriminants, and/or tag from its explicit initial value), GNAT does
not support address specifications unless the size of the object is
known at compile time. In som
An entity flag Reachable is described as "defined in labels". It is only
read and written for entities of kind E_Label (the code has necessary
guards for that). There no need for this flag to be specified for all
entities in the generated AST.
Cleanup related to detection of uninitialized scalars
Library-level variables with initializers could have Is_Known_Valid
set when analyzing their definition, and the flag would only be
cleared when analyzing a statement that assigned to them. Procedures
and functions analyzed before the flag got cleared could skip validity
checking for the correspond
If the -gnatR -gnatc are both given, then the compiler crashes. This
patch fixes that, and avoids printing the uncomputed sizes and
alignments that were causing the crash. (Previous versions of the
compiler printed incorrect values in such cases.)
Tested on x86_64-pc-linux-gnu, committed on trunk
1 - 100 of 113 matches
Mail list logo