Re: quesitons about gcc 4.4.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lily Lee,

Your question is a gcc-help@xxxxxxxxxxx distribution list question.

It is off-topic for gcc@xxxxxxxxxxx distribution list.

> I have some questions about GCC/G++ 4.4.1. The first questions is that we find
> that the gcc compiler support some C99 extensions by default. For example, the
> gcc 4.4 document says "New character data types, per TR 19769: New character
> types in C, are now
> supported for the C compiler in -std=gnu99 mode, as __CHAR16_TYPE__ and
> __CHAR32_TYPE__". However, the new __CHAR16_TYPE__ and
> __CHAR32_TYPE__ are recognized by the compiler by default. And it seems the
> -ansi and other -std options do not work. Do you aware this bug?

I'm not sure if that is a bug.

The default is gnu++98 for C++ code, and gnu89 for C code.  If you want
tighter compliance, you might want to use c89, c99, and/or c++98 and the
-pedantic switch.

The -ansi switch only removes features incompatible with ISO C90.  The above
symbols appear to be compliant with ISO C90.

> Another thing is that I am reading the document about porting to gcc 4.4 here:
> http://gcc.gnu.org/gcc-4.4/porting_to.html
> 
> I am interested in the 'Header dependency changes' section. It means our
> legacy codes need to be change for this. Could you tell me why you made this
> change?

The pre-standard older GCC C++ compiler used non-standard C++ headers
because the compiler predated the standard.

Since then, the GCC C++ compiler has taken measure to become compliant with
the C++ standard.  Which means that the non-standard headers were
deprecated.

If you have legacy C++ code that uses non-standard C++ headers, then likely
the code is not C++ standard compliant in other ways as well.  I recommend
making an initiative to do a sweep of the code to bring it into compliance.
Towards that initiative, I've found enabling warnings and addressing them to
be invaluable.

> Thank you very much and I am looking forward to here from you.

You are very welcome.

Sincerely,
--Eljay



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux