diff options
author | Richard Biener <rguenther@suse.de> | 2024-09-30 09:07:36 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-10-02 12:56:02 +0200 |
commit | 02f4efe3c12cf7ef54e5a71b11044c15be5c7fab (patch) | |
tree | 58b00ef6c897ac6cca8ca253a1f891030e6b3f0d /gcc | |
parent | 4ba4165d66b18d7c5b8af02ecdf38bfa0690c106 (diff) | |
download | gcc-02f4efe3c12cf7ef54e5a71b11044c15be5c7fab.zip gcc-02f4efe3c12cf7ef54e5a71b11044c15be5c7fab.tar.gz gcc-02f4efe3c12cf7ef54e5a71b11044c15be5c7fab.tar.bz2 |
tree-optimization/113197 - bougs assert in PTA
PTA asserts that EAF_NO_DIRECT_READ is not set when flags are
set consistently which doesn't make sense. The following removes
the assert.
PR tree-optimization/113197
* tree-ssa-structalias.cc (handle_call_arg): Remove bougs
assert.
* gcc.dg/lto/pr113197_0.c: New testcase.
* gcc.dg/lto/pr113197_1.c: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/pr113197_0.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/pr113197_1.c | 3 | ||||
-rw-r--r-- | gcc/tree-ssa-structalias.cc | 1 |
3 files changed, 18 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/lto/pr113197_0.c b/gcc/testsuite/gcc.dg/lto/pr113197_0.c new file mode 100644 index 0000000..293c820 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/pr113197_0.c @@ -0,0 +1,15 @@ +/* { dg-lto-do link } */ +/* { dg-lto-options { { -O -flto -fpie } } } */ +/* { dg-extra-ld-options { -r -nostdlib -flinker-output=nolto-rel } } */ + +enum a { b } register_dccp(); +void c(); +void __attribute__((noreturn)) exit_error(enum a d) { + __builtin_va_list va; + __builtin_va_end(va); + if (d) + c(); + c(); + __builtin_exit(1); +} +int main() { register_dccp(); } diff --git a/gcc/testsuite/gcc.dg/lto/pr113197_1.c b/gcc/testsuite/gcc.dg/lto/pr113197_1.c new file mode 100644 index 0000000..30bf6f7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/pr113197_1.c @@ -0,0 +1,3 @@ +int a; +void exit_error(); +void register_dccp() { exit_error(a); } diff --git a/gcc/tree-ssa-structalias.cc b/gcc/tree-ssa-structalias.cc index 54c4818..73ba5aa 100644 --- a/gcc/tree-ssa-structalias.cc +++ b/gcc/tree-ssa-structalias.cc @@ -4194,7 +4194,6 @@ handle_call_arg (gcall *stmt, tree arg, vec<ce_s> *results, int flags, { make_transitive_closure_constraints (tem); callarg_transitive = true; - gcc_checking_assert (!(flags & EAF_NO_DIRECT_READ)); } /* If necessary, produce varinfo for indirect accesses to ARG. */ |