Joerg :

>> Since the libcdio library uses flexible arrays which are not yet
>> supported with Forte, this module will need to be built with the GCC
>> compiler in /usr/sfw.  I believe it would be a lot of work to
>> refactor the libcdio code to not use flexible arrays.  
> 
> What 'Forte' version are you using? Flexible arrays are a C99 feature. 
> Recent SunStudio (at least SS9, some features before that) have C99 
> support, if you use the -xc99 compiler flag.

Yes, Forte does support flexible arrays, but not to the extent that
GCC does.  GCC allows a structure to include a structure that has
a flexible array (as long as there is only one flexible array in
total), and also allows flexible arrays to exist in structures
contained in union, like this:

struct foo
{
    int a;
    char [0];
};

struct foobar
{
    union {
       struct foo;
       int;
    }
};

Forte can't handle stuff like this.  I have been talking with the Forte
team, and they plan to support this sort of thing in the next
release of Forte.

>> Also, I
>> hacked this library to *not* build the C++ stubs that it normally
>> includes.  These are provided so C++ programs can link against
>> libcdio directly if desired, but we can't ship them if we build this
>> with the GCC compiler since it would break ABI.  Not shipping the C++
>> stubs doesn't break anything for GStreamer or sound-juicer, fyi.
>>
> 
> AFAIK the C++ compiler does not support any of the C99 features, so 
> flexible arrays in a C++ source files wouldn't work in SunStudio.

Also planned to be fixed in the next version of Forte.

Brian

Reply via email to