[objc-improvements-branch] FYI: Added C++ template instantiation support

David Ayers d.ayers@inode.at
Tue Jun 8 02:15:00 GMT 2004


Ziemowit Laski wrote:
>   http://gcc.gnu.org/ml/gcc-cvs/2004-06/msg00171.html
> 
> I've also brought over David Ayers' fixes to the objc/execute/string?.m 
> test cases.
> I'll tackle protocol qualifiers next. :-)
> 

Do you mean the Class <protocol> issue?

If you do, could you please consider:

Dropping "id" as a key word (instead of adding "Class" as one).  This 
would allow you to simply replace  OBJECTNAME with TYPENAME for 
typespec_nonreserved_nonattr: and you could do the assertions of the 
correct type in get_object_reference (which could be renamed to 
get_protocol_reference.)

Well I still have the old patch I could cleanup in a day or two if you 
like.  I'd have to bring it up to date and revert some of Alexander 
Malmbergs changes I prematurely integrated into my version because it 
made the warning machinery so much more consistent.  (Those were posted 
back when both of you were working on the new warnings, but Alex's new 
infrastructure never got reviewed in detail.)

Alex, any chance you could cleanup that stuff and repost it?

If you're looking for some more stuff to fix, you could have a look at 
comptypes.  Note that warnings wrt assignments differ if they are pure 
assignments or initialization.  This is because the C front end handles 
comptypes arguments as being symmetrical (i.e. it doesn't differentiate 
between lhs and rhs).  Yet as that same code is used for ObjC where we 
/do/ make that distinction, we have in issue.

While investigating this I even noticed a few ICEs with conceptually 
rather incompatible assignments.  I admit that digging into the type 
handling (esp. wrt to protocol qualified types) was a bit out of my ball 
park.  Maybe your experience is better invested in this while I cleanup 
the Class <protocol> patch.  But don't let me hold you back if you're 
already up and running.

Cheers,
David Ayers



More information about the Gcc-patches mailing list