This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/77793] New: GNAT Bug Box when using the "&" operator from Ada.Containers.Vectors on inline uses of expression functions
- From: "lars.schulna at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 29 Sep 2016 09:42:40 +0000
- Subject: [Bug ada/77793] New: GNAT Bug Box when using the "&" operator from Ada.Containers.Vectors on inline uses of expression functions
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77793
Bug ID: 77793
Summary: GNAT Bug Box when using the "&" operator from
Ada.Containers.Vectors on inline uses of expression
functions
Product: gcc
Version: 6.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
Assignee: unassigned at gcc dot gnu.org
Reporter: lars.schulna at gmail dot com
Target Milestone: ---
Created attachment 39723
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39723&action=edit
Source file triggering the bug box
Compiling the attached file bug.adb with
> gcc -v -save-temps -gnatd.n -c bug.adb
Triggers the following bug box:
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc-multilib/src/gcc/configure --prefix=/usr
--libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --enable-libmpx --with-system-zlib --with-isl
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu
--disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object
--enable-linker-build-id --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu
--enable-gnu-indirect-function --enable-multilib --disable-werror
--enable-checking=release
Thread model: posix
gcc version 6.2.1 20160830 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-gnatd.n' '-c' '-mtune=generic'
'-march=x86-64'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/gnat1 -quiet -dumpbase bug.adb -auxbase
bug -gnatd.n -mtune=generic -march=x86-64 bug.adb -o bug.s
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/system.ads
bug.adb
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/ada.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-contai.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-convec.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-iteint.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-conhel.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-finali.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-finroo.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-atocou.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-stream.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-tags.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stoele.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stalib.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-unccon.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-exctab.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-soflin.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-except.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-parame.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-traent.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stache.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-addima.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-conca2.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stopoo.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stratt.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-unstyp.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-secsta.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stposu.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-finmas.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-convec.adb
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-cgarso.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-uncdea.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/a-conhel.adb
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stoele.adb
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-stalib.adb
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-memory.ads
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/adainclude/s-atocou.adb
+===========================GNAT BUG DETECTED==============================+
| 6.2.1 20160830 (x86_64-pc-linux-gnu) GCC error: |
| in gnat_to_gnu_entity, at ada/gcc-interface/decl.c:376 |
| Error detected at bug.adb:23:20 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html. |
| Use a subject line meaningful to you and us to track the bug. |
| Include the entire contents of this bug box in the report. |
| Include the exact command that you entered. |
| Also include sources listed below. |
+==========================================================================+
Note that the inline use of the function expression, the vector package and the
record types are necessary to trigger the box.
Normal function declarations, extracting the parameters to "&" out into
separate vars or using a user defined package with an operator "&"
all compile as expected.