[Bug ada/45499] Ada bootstrap broken
--- Comment #5 from jakub at gcc dot gnu dot org 2010-09-03 07:30 --- I think for -D and -U at least the canonicalization should be joined instead of separate, because that's how people are used to write these options (which doesn't mean the tools the driver invokes shouldn't be changed to handle both). And for -I- similarly. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #6 from joseph at codesourcery dot com 2010-09-03 11:17 --- Subject: Re: Ada bootstrap broken On Fri, 3 Sep 2010, hjl dot tools at gmail dot com wrote: (In reply to comment #3) Subject: Re: Ada bootstrap broken I don't see where a -Y option would come from or what would accept it. Y can be any letter from A to Z and a to z. See PR 45504 for an example. But the changes to canonical options (to preferentially use separate arguments) only affect options marked with both Joined and Separate in a .opt file. My understanding is that cc1_options is not used for Ada and so the only specs relevant to passing things to gnat1 are those in gcc-interface/lang-specs.h so this should only ever affect -I. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #7 from joseph at codesourcery dot com 2010-09-03 11:38 --- Subject: Re: Ada bootstrap broken On Fri, 3 Sep 2010, jakub at gcc dot gnu dot org wrote: I think for -D and -U at least the canonicalization should be joined instead of separate, because that's how people are used to write these options (which doesn't mean the tools the driver invokes shouldn't be changed to handle both). And for -I- similarly. The canonicalization is an internal convention, except where GCC is passing options directly to tools not included in GCC such as the linker. I chose separate as the preferred canonicalization on the basis of POSIX generally only having the separate forms of operands. It looks like the issue is not in fact how the driver passes -I options to gnat1 but how gnat1 internally reconstitutes an argv array from decoded options for use by the Ada parts of gnat1 that expect such an array. So I'm testing a patch local to the ada/gcc-interface code that only adjusts that reconstitution, only for -I. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #8 from jsm28 at gcc dot gnu dot org 2010-09-03 13:18 --- Subject: Bug 45499 Author: jsm28 Date: Fri Sep 3 13:17:46 2010 New Revision: 163817 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163817 Log: PR ada/45499 * gcc-interface/misc.c (gnat_init_options): Allow options with empty canonical form. Generate a single save_argv element from -I options. Modified: trunk/gcc/ada/ChangeLog trunk/gcc/ada/gcc-interface/misc.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #9 from jsm28 at gcc dot gnu dot org 2010-09-03 13:21 --- Fixed for 4.6. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work||4.6.0 Resolution||FIXED Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #1 from jakub at gcc dot gnu dot org 2010-09-02 21:47 --- I guess this is related to the recent option handling changes. At least, it worked fine yesterday and doesn't work today (I only see a-strunb.ads issues myself). -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||jsm28 at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #2 from hjl dot tools at gmail dot com 2010-09-02 23:32 --- GCC driver now passes down '-Y XXX=FOO instead of -YXXX=FOO. Ada compiler may not support it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #3 from joseph at codesourcery dot com 2010-09-03 00:25 --- Subject: Re: Ada bootstrap broken I don't see where a -Y option would come from or what would accept it. I can see an issue with some Ada code not accepting the separate arguments -I -. I'm testing a workaround that makes gcc.c canonicalize -I to joined arguments for the purposes of specs, like -L, although the proper fix would be for the Ada front-end maintainers to make the Ada front end work with decoded options rather than doing fragile reparsing of options inside Ada code that is liable to get out of sync with the core compiler's notion of what is an option and what is an option argument (or failing that, at least to make the Ada code handle -I properly with both joined and separate arguments). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499
[Bug ada/45499] Ada bootstrap broken
--- Comment #4 from hjl dot tools at gmail dot com 2010-09-03 02:39 --- (In reply to comment #3) Subject: Re: Ada bootstrap broken I don't see where a -Y option would come from or what would accept it. Y can be any letter from A to Z and a to z. See PR 45504 for an example. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45499