https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
Bug 101373 depends on bug 100409, which changed state.
Bug 100409 Summary: C++ FE elides pure throwing call
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100409
What|Removed |Added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #19 from CVS Commits ---
The releases/gcc-9 branch has been updated by Richard Biener
:
https://gcc.gnu.org/g:2498de689b735422ef71d93e2afe7ae3e6988bb3
commit r9-9818-g2498de689b735422ef71d93e2afe7ae3e6988bb3
Author: Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #18 from CVS Commits ---
The releases/gcc-10 branch has been updated by Richard Biener
:
https://gcc.gnu.org/g:95a95ec274cd0ec125ce48ab002fad4e400e345b
commit r10-10206-g95a95ec274cd0ec125ce48ab002fad4e400e345b
Author: Richard
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |11.3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #17 from CVS Commits ---
The releases/gcc-11 branch has been updated by Richard Biener
:
https://gcc.gnu.org/g:ee875b63b22e30a0dcb4b05f7532c2c416ba6cd0
commit r11-8875-gee875b63b22e30a0dcb4b05f7532c2c416ba6cd0
Author: Richard
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
Richard Biener changed:
What|Removed |Added
Known to work||12.0
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #15 from CVS Commits ---
The master branch has been updated by Richard Biener :
https://gcc.gnu.org/g:fedcf3c476aff7533741a1c61071200f0a38cf83
commit r12-2254-gfedcf3c476aff7533741a1c61071200f0a38cf83
Author: Richard Biener
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #14 from Eric Botcazou ---
> function Bar (A : access Integer; N : Integer) return Integer is
> Ret : Integer := 0;
> Ret2 : Integer := 0;
> begin
> if N /= 0 then
> Ret2 := Foo (N);
> Ret := A.all;
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #13 from Richard Biener ---
(In reply to Eric Botcazou from comment #12)
> > Maybe for that we just have to use the result of the call in the
> > non-throwing case.
>
> That seems to block the hoisting in all cases.
function Bar
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #12 from Eric Botcazou ---
> Maybe for that we just have to use the result of the call in the
> non-throwing case.
That seems to block the hoisting in all cases.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #11 from rguenther at suse dot de ---
On July 10, 2021 7:13:47 PM GMT+02:00, rguenther at suse dot de
wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
>
>--- Comment #10 from rguenther at suse dot de de> ---
>On July 9,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #10 from rguenther at suse dot de ---
On July 9, 2021 9:43:52 PM GMT+02:00, "ebotcazou at gcc dot gnu.org"
wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
>
>--- Comment #9 from Eric Botcazou ---
>Or maybe I
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #9 from Eric Botcazou ---
Or maybe I misunderstood your request and you wanted an Ada testcase where the
hoisting would still happen despite the fix for C++?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #8 from Eric Botcazou ---
Note that the testcase also raises Storage_Error with:
function Foo (J : Integer) return Integer;
pragma Pure_Function (Foo);
pragma Machine_Attribute (Foo, "noipa");
and in Ada calls to pure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #7 from Eric Botcazou ---
> I've not yet managed to verify that the gnat.dg/opt95.adb testcase works
> as expected but will do so when the Ada FE is officially fixed.
Done.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #6 from Richard Biener ---
Created attachment 51122
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51122=edit
patch
This is the patch fixing the issue for the C++ testcase (when a fix for
PR100409 is applied), it also fixes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #5 from Eric Botcazou ---
> The issue I can see is that the middle-end does not consider
> the Foo function 'const' (gimple_call_flags does not return ECF_CONST)
> which is likely because the decl isn't TREE_READONLY and for 'const'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #4 from rguenther at suse dot de ---
On Fri, 9 Jul 2021, ebotcazou at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
>
> --- Comment #3 from Eric Botcazou ---
> > Eric, is it possible to write an
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
--- Comment #3 from Eric Botcazou ---
> Eric, is it possible to write an equivalent testcase in Ada?
procedure P is
function Foo (J : Integer) return Integer;
pragma Machine_Attribute (Foo, "const");
pragma Machine_Attribute (Foo,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
Richard Biener changed:
What|Removed |Added
CC||ebotcazou at gcc dot gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101373
Richard Biener changed:
What|Removed |Added
Depends on||100409
Last reconfirmed|
21 matches
Mail list logo