src/adacl_test-queue.adb|26 col 4 error| instantiation error at adacl-queue-protect.adb:120
src/adacl_test-queue.adb|26 col 4 error| record aggregate must use (), not []
Not the difficult as there is only one set of [] in adacl-queue-protect.adb line 120. However when I change it I get:
/Users/Shared/Work/Projects/AdaCL/adacl/src/adacl-queue-protect.adb|120 col 18| error: container aggregate must use [], not ()
/Users/Shared/Work/Projects/AdaCL/adacl/src/adacl-queue-protect.adb|120 col 18| error: container aggregate must use [], not ()
The 2nd error message is the correct one as it’s indeed an container aggregate.
What to do? For now I use the & operator. That seem to work.
it would depend on the two lines of code there (and any definitions related). One is a record aggregate and one is a container aggregate and they are different lines, so hard to say from here.
Sorry about that. It showed two very different column numbers, which made it look like different lines ( 26 col 4 error vs 120 col 18) since just changing parentheses to brackets wouldn’t normally change your column numbers.
Your best bet then is to file a bug report with GNAT on the GCC bugzilla page. They are generally pretty responsive. Here is the location: GCC Bugzilla Main Page
There are several AdaCL.Trace.Entering variations. The one with In_Parameters takes a vector of strings and the error comes on installation of the generic.
I have done that before but GCC demands a shit load of auxiliary information and a self contained example. That takes 2 to 4 hours to prepare. It’s not like „Clone this git repository, checkout this branch, type make“. For Ada programmer it’s specifically difficult as you can’t even use gnatmake let along Alire to build. You have to use gcc to compile and I don’t even know how to do that.
If you ever decide to look into submitting a different one in the future you can use gnatmake. It is part of GCC. All of my reports use gnatmake and have been accepted.