delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/07/18/04:52:05

Message-ID: <39741C06.D246F354@softhome.net>
Date: Tue, 18 Jul 2000 10:57:42 +0200
From: Laurynas Biveinis <lauras AT softhome DOT net>
X-Mailer: Mozilla 4.73 [en] (Win98; U)
X-Accept-Language: lt,en
MIME-Version: 1.0
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
CC: martin AT loewis DOT home DOT cs DOT tu-berlin DOT de, mrs AT windriver DOT com, gcc AT gcc DOT gnu DOT org,
djgpp-workers AT delorie DOT com
Subject: Re: GCC headers and DJGPP port
References: <200007171736 DOT KAA29313 AT kankakee DOT wrs DOT com> <200007171834 DOT OAA06211 AT indy DOT delorie DOT com> <200007172102 DOT XAA07817 AT loewis DOT home DOT cs DOT tu-berlin DOT de> <200007180810 DOT EAA06916 AT indy DOT delorie DOT com>
Reply-To: djgpp-workers AT delorie DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019