[please keep me CC'ed] Hi, In 4.1, -fwhole-program was introduced. Unfortunately it currently looks like it won't work in the 4.1-release (due to PR 25795).
Would it make sense to add a define for this attribute to ansidecl.h like in the attached proposed patch against mainline? thank you, Bernhard 2006-01-18 Bernhard Fischer <[EMAIL PROTECTED]> * ansidecl.h (ATTRIBUTE_EXTERNALLY_VISIBLE): New.
Index: gcc-4.2/include/ansidecl.h =================================================================== --- gcc-4.2/include/ansidecl.h (revision 109894) +++ gcc-4.2/include/ansidecl.h (working copy) @@ -165,7 +165,7 @@ #define VA_OPEN(AP, VAR) { va_list AP; va_start(AP, VAR); { struct Qdmy #define VA_CLOSE(AP) } va_end(AP); } #define VA_FIXEDARG(AP, T, N) struct Qdmy - + #undef const #undef volatile #undef signed @@ -352,7 +352,6 @@ # endif /* GNUC >= 3.5 */ #endif /* ATTRIBUTE_SENTINEL */ - #ifndef ATTRIBUTE_ALIGNED_ALIGNOF # if (GCC_VERSION >= 3000) # define ATTRIBUTE_ALIGNED_ALIGNOF(m) __attribute__ ((__aligned__ (__alignof__ (m)))) @@ -361,6 +360,16 @@ # endif /* GNUC >= 3.0 */ #endif /* ATTRIBUTE_ALIGNED_ALIGNOF */ +/* Attribute `externally_visible' was usable as of gcc 4.2. */ +#ifndef ATTRIBUTE_EXTERNALLY_VISIBLE +# if (GCC_VERSION >= 4002) +# define ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((__externally_visible__)) +# else +# define ATTRIBUTE_EXTERNALLY_VISIBLE +# endif /* GNUC >= 4.2 */ +#endif /* ATTRIBUTE_EXTERNALLY_VISIBLE */ + + /* We use __extension__ in some places to suppress -pedantic warnings about GCC extensions. This feature didn't work properly before gcc 2.8. */