Concerning the glib error on GCC 3.4 (see previous post for details)
> 
>     g_warning (G_GNUC_PRETTY_FUNCTION
>               "(): unable to handle positional parameters (%%n$)");
> 


The info pages of GCC 3.3 state:

"
   The compiler automagically replaces the identifiers with a string
literal containing the appropriate name.  Thus, they are neither
preprocessor macros, like `__FILE__' and `__LINE__', nor variables.
This means that they catenate with other string literals, and that they
can be used to initialize char arrays.  For example

     char here[] = "Function " __FUNCTION__ " in " __FILE__;
"



Whereas GCC 3.4 states:

"
   These identifiers are not preprocessor macros.  In GCC 3.3 and
earlier, in C only, `__FUNCTION__' and `__PRETTY_FUNCTION__' were
treated as string literals; they could be used to initialize `char'
arrays, and they could be concatenated with other string literals.  GCC
3.4 and later treat them as variables, like `__func__'.  In C++,
`__FUNCTION__' and `__PRETTY_FUNCTION__' have always been variables.

"


Which means that the following in glib.h doesn't work on 3.4 anymore:

glib.h :

#ifdef __GNUC__
#define G_GNUC_FUNCTION         __FUNCTION__
#define G_GNUC_PRETTY_FUNCTION  __PRETTY_FUNCTION__
#else   /* !__GNUC__ */
#define G_GNUC_FUNCTION         ""
#define G_GNUC_PRETTY_FUNCTION  ""
#endif  /* !__GNUC__ */


 g_warning (G_GNUC_PRETTY_FUNCTION
            "(): unable to handle positional parameters (%%n$)");



Easy fix is to just define the G_GNUC_... macros to ""

Karl.
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   [EMAIL PROTECTED]

Reply via email to