This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GCC headers and DJGPP port


Eli Zaretskii wrote:
> > GCC needs to know exactly what size_t and wchar_t is
> 
> This knowledge is accessible to GCC at build time, in the system
> headers.

What about build system != target system?

> > NULL is defined as __null on all platforms now
> 
> Not in DJGPP.  __null causes trouble in C programs.

I have trouble understanding why, if __null is a builtin. (And why
does it cause trouble on DJGPP, but not on other systems?)

> > there is no question *that* gcc must know about
> > these types even without seeing a single target header file.
> 
> Why does it need to know that without seeing target header files?  We
> are talking about a native build, not a cross build.

Eli, is it a big difference for us, does GCC get definition from djgpp
header, or from GCC target description one with Mark's patch?

+ #undef SIZE_TYPE
+ #define SIZE_TYPE "long unsigned int"
[and so on]

> And yes, we did read all the threads in GCC archives that appear to be
> relevant, and we did discuss them at length.  But we still do not
> understand the technical considerations that caused GCC to insist on
> installing its own headers.  Please help us understand this.

Uhm, how would you qualify following response:
> Wrong. GCC needs to know exactly what size_t and wchar_t is, and it
> must also provide the definition of NULL. size_t must be known so the
> builtin functions can be declared properly. wchar_t must be known so
> wide string literals can be emitted correctly. NULL is defined as
> __null on all platforms now, so that overloading works correctly in
> C++ (for C, it is something different).

Laurynas

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]