I just found this today - Clang seems to get confused when a block has @try{}
@catch(...){} (Objective-C) statement in a block which has a return value
declared, but no return statement actually appears in that block. Example:
int main(int argc, const char * argv[])
{
id (^iReturnStuff)() = ^id() {
@try{} @finally{}
};
return 0;
}
This shouldn't compile. But it does. Whenever you remove the @try statement,
Clang throws an error as it should. Gcc correctly doesn't compile this.
What is it about @try{} that gets it confused?
--
Honza Dvorsky
@czechboy0
honzadvorsky.com
_______________________________________________
cfe-users mailing list
cfe-users@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users