[Bug ada/86514] New: GCC/GNAT fails to optimize access to packed array
reznikmm at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jul 13 11:07:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86514
Bug ID: 86514
Summary: GCC/GNAT fails to optimize access to packed array
Product: gcc
Version: 8.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
Assignee: unassigned at gcc dot gnu.org
Reporter: reznikmm at gmail dot com
Target Milestone: ---
Created attachment 44390
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44390&action=edit
reproducer
Description of problem:
Ada compiler performs incorrect optimization of operations on a packed array of
Booleans.
Version-Release number of selected component:
Initially I found this on Fedora 28 and its gcc 8.1.1:
gcc version 8.1.1 20180502 (Red Hat 8.1.1-1) (GCC)
RPM: gcc-gnat-8.1.1-1.fc28.x86_64
Then I checked gcc 9 snapshot 20180708 and it fails too. Configuration is:
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-9-20180708/configure --enable-languages=c,c++,ada
--prefix=/work/reznik/gcc/install --enable-shared --enable-threads=posix
--disable-multilib
Thread model: posix
gcc version 9.0.0 20180708 (experimental) (GCC)
How reproducible:
* Compile and run attached code with optimization is on (-O1).
* Without optimization (-O0) the example works well - without exception.
Actual results:
[max@4803f13cbde8 tmp]$ gnatmake -O1 ts_00021.adb
gcc -c -O1 ts_00021.adb
gnatbind -x ts_00021.ali
gnatlink ts_00021.ali -O1
[max@4803f13cbde8 tmp]$ ./ts_00021
raised PROGRAM_ERROR : ts_00021.adb:30 explicit raise
Expected results:
No exception should be raised.
Additional info:
Fedora bug report https://bugzilla.redhat.com/show_bug.cgi?id=1600886
More information about the Gcc-bugs
mailing list