spuxlc bug: __UnsupportedConditional...

| No Comments | No TrackBacks
I'm only posting this here because searching for "__UnsupportedConditionalExpressionDestruction" on the internets returns no useful hits...

There appears to be a bug in the December 2006 spuxlc (the compiler that comes with Cell SDK 2.0) where it fails to link certain segments of code that have been compiled with optimizations on (-O2, -O3, etc). I've got a fair amount of code that I've copied into SPULand that wouldn't link and it was a little frustrating not finding any hits on Google..

RT.o:(.data+0x7dc): undefined reference to `__UnsupportedConditionalExpressionDestruction(void*, long)'

Here's the problem line of code:

if(i != ignoreobject && _objects[i]->Hit(ro, rd, hitdata))
{
...

The fix?

if(i != ignoreobject)
if(_objects[i]->Hit(ro, rd, hitdata))
{
...

Lovely. I wonder if there's some magic-fu where it tries to optimize SPU branches that's tripping it up.

No TrackBacks

TrackBack URL:

Leave a comment

Myself

Projects

Monthly Archives

Photos

About this Entry

This page contains a single entry by Robert W. Rose published on May 21, 2007 10:32 PM.

Packet8 VOIP service from your computer was the previous entry in this blog.

Overscan on the Sony KD-34XBR970 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.