On Nov 9, 2011, at 10:12 AM, Iain Sandoe wrote: > This puts "flag_next_runtime" into the global options structure
> I needed to deal with '-fobjc-sjlj-exceptions' and elected to remove it - > - this is because there is only one valid exception model for each > permutation of runtime and ABI - thus the User flag is just clutter. > > It is now ignored as a User flag - and the relevant selection actions are all > local to Objective C. > > (yay! got rid of one exceptions-related flag :-)) .... Yeah, that sounds like a good idea. > +ObjC ObjC++ Ignore Warn(switch %qs has been removed and is set automaticaly > where required) Spelling, automatically. > + targetting Darwin. However, the flag overrides have not be called yet. > */ Spelling, targeting. > + if (flag_objc_exceptions) > + /* ??? Should we warn that this is incompatible, if the user has set it. > + For now, just force it it off. */ > + flag_exceptions = 0; Where was this in the previous code? In ObjC++, exceptions can be on for C++ and should not be turned off. Does this code ever turn off C++ exceptions? As a stylistic note, I'd rather have a literal translation into the new mechanism, no changes to behavior, and then a separate patch that then changes things you think are wrong or could be done better. The first is large and mechanical and it important to get right. The follow-on patches, when done one at a time, if any one proved wrong, it alone could then be reverted. If the flag_exceptions = 0 bit and Joseph's comments are fixed, I think we're done.