[Bug ada/45499] Ada bootstrap broken

2010-09-03 Thread jakub at gcc dot gnu dot org


--- 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

2010-09-03 Thread joseph at codesourcery dot com


--- 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

2010-09-03 Thread joseph at codesourcery dot com


--- 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

2010-09-03 Thread jsm28 at gcc dot gnu dot org


--- 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

2010-09-03 Thread jsm28 at gcc dot gnu dot org


--- 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

2010-09-02 Thread jakub at gcc dot gnu dot org


--- 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

2010-09-02 Thread hjl dot tools at gmail dot com


--- 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

2010-09-02 Thread joseph at codesourcery dot com


--- 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

2010-09-02 Thread hjl dot tools at gmail dot com


--- 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