Paul Eggert wrote:
> Simplify the logic for __extension__.
> ...
> @@ -329,9 +331,9 @@ extern int obstack_exit_failure;
>  
>  #define obstack_memory_used(h) _obstack_memory_used (h)
>  
> -#if defined __GNUC__ || defined __clang__
> -# if ! (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \
> -        || 0x5150 <= __SUNPRO_C)
> +#if (defined __GNUC__ || defined __clang__ \
> +     || (defined __SUNPRO_C && 0x5150 <= __SUNPRO_C))
> +# if defined __GNUC__ && ! (2 < __GNUC__ + (8 <= __GNUC_MINOR__))
>  #  define __extension__
>  # endif
>  

That does not look like what the ChangeLog entry says. The patch adds
a __SUNPRO_C clause to the _outer_ #if, and it removes a __SUNPRO_C
clause from the definition of __extension__. Does Solaris cc of
version 0x5150 or newer really support statement-expressions?

I couldn't reproduce an error with the few Solaris cc compilers
that I have access to. But maybe there is still a logic bug here?

Bruno




Reply via email to