public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Zack Weinberg <zack AT bitmover.com>
To: obrien AT NUXI.com
Cc: rittle AT rsch.comm.mot.com, morganw AT engr.sc.edu,
	rth AT cygnus.com, gcc AT gcc.gnu.org,
	pfeifer AT dbai.tuwien.ac.at
Subject: Re: FreeBSD 4.0
Date: Wed, 15 Sep 1999 00:25:00 -0000	[thread overview]
Message-ID: <199909150726.AAA31243@zack.bitmover.com> (raw)
In-Reply-To: <19990914231414.B17808@dragon.nuxi.com>

"David O'Brien" wrote:
> > May I suggest that stdarg.h/varargs.h be modified to #define
> > _BSD_VA_LIST_ to __gnuc_va_list, possibly with appropriate ifdefs to
> > limit it to FreeBSD?  
> 
> Why not do it the other way around?
> 
>     #define __gnuc_va_list _BSD_VA_LIST_

Because the "real" type is __gnuc_va_list.  Doing it your way won't do
what you want.  I hope you don't have system headers that typedef
_BSD_VA_LIST_ without reference to gcc's stdarg.h - for one thing, we
probably just irrevocably broke them.

> Please, please lets not require the dinking of many system headers.
> Please also remember GCC is the base compiler in BSD and the number of
> things that have to be changed when native'ifing the compiler the better.

I believe #define _BSD_VA_LIST_ __gnuc_va_list will solve your problem
without any dinking of BSD libc headers.

> > (Is this needed by Net/OpenBSD too?)  This is simpler and less fragile
> > than adding stuff to fixinc.
> 
> This is a 4.4BSD thing.  It thus affects all of BSD.

Is there any macro which is defined by all 4.4-derived systems?

> > For complicated reasons related to similar interactions with glibc's
> > headers, I'd personally like to see the typedef name be __va_list, and
> > __gnuc_va_list a #define as well.
> 
> Can you explain these interactions?  I really doubt the BSD headers are
> as intertwined.

The intertwining with glibc is not as bad as you might think, and
__gnuc_va_list is actually the least bad part.  For real issues, try
to figure out what wint_t is doing in stddef.h, or how limits.h works.

The problem with __gnuc_va_list is primarily aesthetic.  Everyone has
to agree on the underlying typedef name because of C++ mangled names.
Therefore I would like the underlying typedef name to be
compiler-neutral.  People do want to use glibc with compilers other
than gcc.

zw


WARNING: multiple messages have this Message-ID
From: Zack Weinberg <zack@bitmover.com>
To: obrien@NUXI.com
Cc: rittle@rsch.comm.mot.com, morganw@engr.sc.edu, rth@cygnus.com,
	gcc@gcc.gnu.org, pfeifer@dbai.tuwien.ac.at
Subject: Re: FreeBSD 4.0
Date: Thu, 30 Sep 1999 18:02:00 -0000	[thread overview]
Message-ID: <199909150726.AAA31243@zack.bitmover.com> (raw)
Message-ID: <19990930180200.UCC5-pD8ejIDQlXm7oNV8PcwPJTebmovwiOMz725YUE@z> (raw)
In-Reply-To: <19990914231414.B17808@dragon.nuxi.com>

"David O'Brien" wrote:
> > May I suggest that stdarg.h/varargs.h be modified to #define
> > _BSD_VA_LIST_ to __gnuc_va_list, possibly with appropriate ifdefs to
> > limit it to FreeBSD?  
> 
> Why not do it the other way around?
> 
>     #define __gnuc_va_list _BSD_VA_LIST_

Because the "real" type is __gnuc_va_list.  Doing it your way won't do
what you want.  I hope you don't have system headers that typedef
_BSD_VA_LIST_ without reference to gcc's stdarg.h - for one thing, we
probably just irrevocably broke them.

> Please, please lets not require the dinking of many system headers.
> Please also remember GCC is the base compiler in BSD and the number of
> things that have to be changed when native'ifing the compiler the better.

I believe #define _BSD_VA_LIST_ __gnuc_va_list will solve your problem
without any dinking of BSD libc headers.

> > (Is this needed by Net/OpenBSD too?)  This is simpler and less fragile
> > than adding stuff to fixinc.
> 
> This is a 4.4BSD thing.  It thus affects all of BSD.

Is there any macro which is defined by all 4.4-derived systems?

> > For complicated reasons related to similar interactions with glibc's
> > headers, I'd personally like to see the typedef name be __va_list, and
> > __gnuc_va_list a #define as well.
> 
> Can you explain these interactions?  I really doubt the BSD headers are
> as intertwined.

The intertwining with glibc is not as bad as you might think, and
__gnuc_va_list is actually the least bad part.  For real issues, try
to figure out what wint_t is doing in stddef.h, or how limits.h works.

The problem with __gnuc_va_list is primarily aesthetic.  Everyone has
to agree on the underlying typedef name because of C++ mangled names.
Therefore I would like the underlying typedef name to be
compiler-neutral.  People do want to use glibc with compilers other
than gcc.

zw


  reply	other threads:[~1999-09-15  0:25 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-14 19:32 Wes Morgan
1999-09-14 20:08 ` Richard Henderson
1999-09-15  2:00   ` Jeffrey A Law
1999-09-30 18:02     ` Jeffrey A Law
1999-09-30 18:02   ` Richard Henderson
1999-09-14 22:34 ` Loren James Rittle
1999-09-14 23:00   ` Zack Weinberg
1999-09-14 23:14     ` David O'Brien
1999-09-15  0:25       ` Zack Weinberg [this message]
1999-09-15  0:56         ` David O'Brien
1999-09-15  1:21           ` Andreas Schwab
1999-09-15  1:40             ` David O'Brien
1999-09-15  2:23               ` Andreas Schwab
1999-09-15  3:11                 ` David O'Brien
1999-09-15  3:52                   ` Andreas Schwab
1999-09-30 18:02                     ` Andreas Schwab
1999-09-30 18:02                   ` David O'Brien
1999-09-30 18:02                 ` Andreas Schwab
1999-09-20  3:58               ` Jeffrey A Law
1999-09-30 18:02                 ` Jeffrey A Law
1999-09-30 18:02               ` David O'Brien
1999-09-30 18:02             ` Andreas Schwab
1999-09-30 18:02           ` David O'Brien
1999-09-15  1:17         ` David O'Brien
1999-09-15  9:23           ` Zack Weinberg
1999-09-15 10:24             ` David O'Brien
1999-09-16 14:48               ` Richard Henderson
1999-09-30 18:02                 ` Richard Henderson
1999-09-30 18:02               ` David O'Brien
1999-09-20  4:20             ` Jeffrey A Law
1999-09-21  6:33               ` The USER_H issue Marc Espie
1999-09-30 18:02                 ` Marc Espie
1999-09-30 18:02               ` FreeBSD 4.0 Jeffrey A Law
1999-09-30 18:02             ` Zack Weinberg
1999-09-20  4:34           ` Jeffrey A Law
1999-09-20  9:26             ` Zack Weinberg
1999-09-20  9:55               ` Jeffrey A Law
1999-09-20 10:17                 ` Zack Weinberg
1999-09-20 10:38                   ` Richard Earnshaw
1999-09-20 11:02                     ` Zack Weinberg
1999-09-30 18:02                       ` Zack Weinberg
1999-09-20 11:39                     ` Horst von Brand
1999-09-20 11:49                       ` Chris G. Demetriou
1999-09-30 18:02                         ` Chris G. Demetriou
1999-09-30 18:02                       ` Horst von Brand
1999-09-30 18:02                     ` Richard Earnshaw
1999-09-23  8:51                   ` Jeffrey A Law
1999-09-23  9:13                     ` Pending Projects Bruce Korb
1999-09-30 18:02                       ` Bruce Korb
1999-09-30 18:02                     ` FreeBSD 4.0 Jeffrey A Law
1999-09-30 18:02                   ` Zack Weinberg
1999-09-30 18:02                 ` Jeffrey A Law
1999-09-30 18:02               ` Zack Weinberg
1999-09-30 18:02             ` Jeffrey A Law
1999-09-30 18:02           ` David O'Brien
1999-09-30 18:02         ` Zack Weinberg
1999-09-15  2:00       ` Jeffrey A Law
1999-09-15  2:25         ` David O'Brien
1999-09-15  2:33           ` Jeffrey A Law
1999-09-30 18:02             ` Jeffrey A Law
1999-09-30 18:02           ` David O'Brien
     [not found]         ` <37DFAD27.3E6A25E3@datadesign.com>
     [not found]           ` <199909152042.PAA29374@latour.rsch.comm.mot.com>
1999-09-15 14:26             ` Bruce Korb
1999-09-15 17:10               ` Jeffrey A Law
1999-09-16  1:46                 ` Marc Espie
1999-09-16  6:57                   ` Jeffrey A Law
1999-09-16  7:41                     ` Marc Espie
1999-09-16  7:55                       ` Jeffrey A Law
1999-09-30 18:02                         ` Jeffrey A Law
1999-09-30 18:02                       ` Marc Espie
1999-09-30 18:02                     ` Jeffrey A Law
1999-09-30 18:02                   ` Marc Espie
1999-09-30 18:02                 ` Jeffrey A Law
1999-09-30 18:02               ` Bruce Korb
1999-09-30 18:02         ` Jeffrey A Law
1999-09-30 18:02       ` David O'Brien
1999-09-15  1:59     ` Jeffrey A Law
1999-09-30 18:02       ` Jeffrey A Law
1999-09-30 18:02     ` Zack Weinberg
1999-09-15  7:42   ` Wes Morgan
1999-09-30 18:02     ` Wes Morgan
1999-09-30 18:02   ` Loren James Rittle
1999-09-30 18:02 ` Wes Morgan
1999-09-16 12:42 Mike Stump
1999-09-30 18:02 ` Mike Stump
1999-09-16 13:13 Mike Stump
1999-09-16 13:36 ` Marc Espie
1999-09-16 13:54   ` Jeffrey A Law
1999-09-30 18:02     ` Jeffrey A Law
1999-09-30 18:02   ` Marc Espie
1999-09-30 18:02 ` Mike Stump
1999-09-20 13:43 Mike Stump
1999-09-30 18:02 ` Mike Stump
2000-06-08 12:42 Conerned about lack of detail in ChangeLog/commit messges David O'Brien
2000-06-08 15:18 ` Martin v. Loewis
2000-06-09  8:30 ` David Edelsohn
2000-06-09  8:51   ` David O'Brien
2000-06-09  9:13     ` Nick Burrett
2000-06-09  9:21       ` David O'Brien
2000-06-11  6:38       ` Marc Espie
2001-05-02 18:21 [PATCH] rs6000.c ELF bits inclusion David O'Brien
2001-05-02 20:07 ` David Edelsohn
2001-05-02 20:32   ` David O'Brien
2001-05-02 20:52     ` David Edelsohn
2001-05-03  0:39       ` David O'Brien
2001-05-03 13:17 ` David O'Brien
2001-05-03 16:04   ` David Edelsohn
2001-05-03 19:11     ` David O'Brien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199909150726.AAA31243@zack.bitmover.com \
    --to=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).