public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/108917] New: ICE when specifying optimization level for C++ contracts code
@ 2023-02-24 5:26 saifi.khan at nishan dot io
2023-02-24 7:00 ` [Bug debug/108917] ICE when specifying optimization level and debuging " pinskia at gcc dot gnu.org
2023-05-31 10:18 ` saifi.khan at nishan dot io
0 siblings, 2 replies; 3+ messages in thread
From: saifi.khan at nishan dot io @ 2023-02-24 5:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108917
Bug ID: 108917
Summary: ICE when specifying optimization level for C++
contracts code
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: saifi.khan at nishan dot io
Target Milestone: ---
Environment
- Linux 6.1.0-3-amd64 x86_64 GNU/Linux
- Debian GLIBC 2.36-8) 2.36
- gcc version 13.0.1 20230215 (experimental) (GCC)
was working through p2680r1 example with the code as follows.
---
auto f (int i) -> int {
return i + 100;
}
int g (int j) [[pre: f (j) < j ]] {
int r { j - f (j)};
return 2 * r;
}
auto test () -> void {
g (5);
}
---
:: g++ -std=c++23 -fcontracts contract_01.cc
:: ./a.out
contract violation in function g at contract_01.cc:8: f (j) < j
terminate called without an active exception
Aborted
::
But this doesn't work !
:: g++ -std=c++23 -O3 -g2 -fcontracts contract_01.cc
during RTL pass: final
contract_01.cc: In function ‘int g(int)’:
contract_01.cc:13:1: internal compiler error: in gen_inlined_subroutine_die, at
dwarf2out.cc:25002
13 | }
| ^
0x7d40a5 gen_inlined_subroutine_die
/opt/gcc/src/gcc/dwarf2out.cc:25002
0x7d40a5 gen_block_die
/opt/gcc/src/gcc/dwarf2out.cc:26487
0xe3b3ca decls_for_scope
/opt/gcc/src/gcc/dwarf2out.cc:26612
0xe18c93 gen_subprogram_die
/opt/gcc/src/gcc/dwarf2out.cc:24086
0xe1d82f gen_decl_die
/opt/gcc/src/gcc/dwarf2out.cc:27020
0xe1e60a dwarf2out_decl
/opt/gcc/src/gcc/dwarf2out.cc:27598
0xe1ea62 dwarf2out_function_decl
/opt/gcc/src/gcc/dwarf2out.cc:27613
0xea23e7 rest_of_handle_final
/opt/gcc/src/gcc/final.cc:4274
0xea23e7 execute
/opt/gcc/src/gcc/final.cc:4318
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug debug/108917] ICE when specifying optimization level and debuging for C++ contracts code
2023-02-24 5:26 [Bug c++/108917] New: ICE when specifying optimization level for C++ contracts code saifi.khan at nishan dot io
@ 2023-02-24 7:00 ` pinskia at gcc dot gnu.org
2023-05-31 10:18 ` saifi.khan at nishan dot io
1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-02-24 7:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108917
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Keywords| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2023-02-24
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced testcase:
```
[[gnu::noipa]]
int f (int i) {
return i + 100;
}
int g (int j) [[pre: f (j) < j ]] {
return j;
}
```
It is the inlining of the contract into g which is causing the ICE.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug debug/108917] ICE when specifying optimization level and debuging for C++ contracts code
2023-02-24 5:26 [Bug c++/108917] New: ICE when specifying optimization level for C++ contracts code saifi.khan at nishan dot io
2023-02-24 7:00 ` [Bug debug/108917] ICE when specifying optimization level and debuging " pinskia at gcc dot gnu.org
@ 2023-05-31 10:18 ` saifi.khan at nishan dot io
1 sibling, 0 replies; 3+ messages in thread
From: saifi.khan at nishan dot io @ 2023-05-31 10:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108917
--- Comment #2 from Saifi Khan <saifi.khan at nishan dot io> ---
Compiling with gcc version 14.0.0 20230531 and executing the ELF binary.
coredumpctl info 239557
Coredump Stack Trace
#0 0x00007f5f739b226c n/a (libc.so.6 + 0x8926c)
#1 0x00007f5f73962a08 raise (libc.so.6 + 0x39a08)
#2 0x00007f5f7394b538 abort (libc.so.6 + 0x22538)
#3 0x00007f5f73cabc5b
_ZN9__gnu_cxx27__verbose_terminate_handlerEv (libstdc++.so.6 + 0xabc5b)
#4 0x00007f5f73cde50a _ZN10__cxxabiv111__terminateEPFvvE
(libstdc++.so.6 + 0xde50a)
#5 0x00007f5f73cde575 _ZSt9terminatev (libstdc++.so.6 +
0xde575)
#6 0x0000560c5dc3b7c8 _Z1gi (a.out + 0x17c8)
#7 0x0000560c5dc3b73d _Z1gi (a.out + 0x173d)
#8 0x0000560c5dc3b7d8 _Z4testv (a.out + 0x17d8)
#9 0x0000560c5dc3b7e4 main (a.out + 0x17e4)
#10 0x00007f5f7394c850 n/a (libc.so.6 + 0x23850)
#11 0x00007f5f7394c90a __libc_start_main (libc.so.6 + 0x2390a)
#12 0x0000560c5dc3b655 _start (a.out + 0x1655)
ELF object binary architecture: AMD x86-64
coredumpctl gdb ./a.out
[New LWP 239557]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `./a.out'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f5f739b226c in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007f5f739b226c in ?? () from /usr/lib/libc.so.6
#1 0x00007f5f73962a08 in raise () from /usr/lib/libc.so.6
#2 0x00007f5f7394b538 in abort () from /usr/lib/libc.so.6
#3 0x00007f5f73cabc5b in __gnu_cxx::__verbose_terminate_handler () at
/opt/gcc/src/libstdc++-v3/libsupc++/vterminate.cc:95
#4 0x00007f5f73cde50a in __cxxabiv1::__terminate (handler=<optimized out>) at
/opt/gcc/src/libstdc++-v3/libsupc++/eh_terminate.cc:48
#5 0x00007f5f73cde575 in std::terminate () at
/opt/gcc/src/libstdc++-v3/libsupc++/eh_terminate.cc:58
#6 0x0000560c5dc3b7c8 in g (j=<optimized out>, j=<optimized out>) at
contract_01.cc:13
#7 0x0000560c5dc3b73d in g (j=5) at contract_01.cc:8
#8 0x0000560c5dc3b7d8 in test () at contract_01.cc:18
#9 0x0000560c5dc3b7e4 in main () at contract_01.cc:26
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-05-31 10:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-24 5:26 [Bug c++/108917] New: ICE when specifying optimization level for C++ contracts code saifi.khan at nishan dot io
2023-02-24 7:00 ` [Bug debug/108917] ICE when specifying optimization level and debuging " pinskia at gcc dot gnu.org
2023-05-31 10:18 ` saifi.khan at nishan dot io
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).