On Fri, 25 Oct 2019, Jacob Bachmeyer wrote: > I have just sent a patch to the list that has been waiting in my local > repository since June. It adds unit tests for the > default_target_compile procedure, but currently verifies the broken Ada > handling. Would you be willing to supply a patch to update those tests > to the correct behavior? If so, I will also merge your code on my local > branch and we might even avoid the merge conflict down the line.
I might be able to find some time, but please instruct me and also supply with the complete patch set as I note from your submission there are prerequisites. > While you are doing that, could you also explain what the various -?args > GNU Ada driver options do and if any others are needed or could be > needed? I will ensure that the rewrite handles all cases if I can get a > solid description of what those cases actually are. The rewrite will > group complier/linker/etc. options in separate lists internally, so > using those options will be easy without adding more hacks to a > procedure that has already become a tissue of hacks. Here it goes: "4.1.3 Mode Switches for 'gnatmake' ---------------------------------- "The mode switches (referred to as 'mode_switches') allow the inclusion of switches that are to be passed to the compiler itself, the binder or the linker. The effect of a mode switch is to cause all subsequent switches up to the end of the switch list, or up to the next mode switch, to be interpreted as switches to be passed on to the designated component of GNAT. "'-cargs `switches'' Compiler switches. Here 'switches' is a list of switches that are valid switches for 'gcc'. They will be passed on to all compile steps performed by 'gnatmake'. "'-bargs `switches'' Binder switches. Here 'switches' is a list of switches that are valid switches for 'gnatbind'. They will be passed on to all bind steps performed by 'gnatmake'. "'-largs `switches'' Linker switches. Here 'switches' is a list of switches that are valid switches for 'gnatlink'. They will be passed on to all link steps performed by 'gnatmake'. "'-margs `switches'' Make switches. The switches are directly interpreted by 'gnatmake', regardless of any previous occurrence of '-cargs', '-bargs' or '-largs'." See also `info gnat_ugn' (a PDF copy may have also been available for your system). Maciej