Hi,

I'm in the process of trying to compile a project that for various reasons uses 
both properties (easily removed), and blocks (not so easily).  Because of this, 
I've been trying to get GNUstep built using clang, and linking against the 
GNUstep objective-c runtime.  Unfortunately, I'm having some problems compiling 
the Foundation libraries.

I have two versions of clang at my disposal:
clang 1.1 – provided from the ubuntu package.
clang 2.0 – compiled from svn a day ago.
I can probably manage to compile some version in between if it's needed.

Both versions of clang seem to struggle when compiling GSFormat.m, though in 
different ways.  Clang 1.1 seems to produce assembly with lots of duplicated 
symbols[1], and as such fails like this:
 Compiling file GSFormat.m ...
/tmp/cc-FBx8Ea.s: Assembler messages:
/tmp/cc-FBx8Ea.s:1222: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:1277: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:1281: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:1284: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:1820: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2214: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2609: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2635: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2677: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2720: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2781: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:2839: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:3078: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
/tmp/cc-FBx8Ea.s:3255: Error: symbol `.LBA15_GSPrivateFormat_' is already 
defined
clang: error: assembler command failed with exit code 1 (use -v to see 
invocation)
make[4]: *** [obj/libgnustep-base.obj/GSFormat.m.o] Error 1
Clang 2.0 by comparison, seems to produce assembly[2] that doesn't contain 
duplicate symbols, but unfortunately doesn't terminate compiling this file.

I'd really appreciate any help getting past this point.  If it comes to it, 
I'll have a go at reimplementing GSPrivateFormat with fewer goto/labels, but 
trying to match the semantics of the existing code will be tricky at best, and 
outright bugridden at worst.

[1] http://pastebin.com/1kKALw0f – output of clang -S with clang1.1
[2] http://pastebin.com/cyr3AAqN – output of clang -S with clang2.0

Thanks

--

Thomas Davie
iPhone Developer
Hunted Cow Studios Ltd.



_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to