On Tuesday 01 July 2008 07:33, x z wrote:
> 
> I would like to see that GCC define a macro in the case it is being used to 
> compile a program. Currently there is a __GNUC__ macro defined by the GNU C 
> preprocessor CPP.  That does not suit the need.  As the CPP Manual says: 
> __GNUC__ is "defined by all GNU compilers that use the C preprocessor". 

My monitor is not wide enough for your lines.

> It seems to imply that any (non-GNU) compiler that
> uses the GNU C preprocessor would also have __GNUC__ defined.

Did you test this theory?

> According to their respective manuals, Intel C++ Compiler
> and Portable C Compiler also pre-define __GNUC__, possibly
> because they use the GNU CPP.

It's their fault that they lie to the user.

> Therefore, the fact that __GNUC__ is defined does not necessarily mean the 
> GCC compiler proper is being used.  There is a need for a macro that 
> definitely confirms that GCC is being used.  (It is another matter if another 
> complier deliberately misleads people by defining the same macro.) And I hope 
> that macro can be documented in the GCC Manual.      

--
vda

Reply via email to