From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin von Loewis To: mark@markmitchell.com Cc: egcs@cygnus.com Subject: Re: strict_prototypes_lang_c Date: Mon, 14 Dec 1998 16:04:00 -0000 Message-id: <199812150001.BAA00364@mira.isdn.cs.tu-berlin.de> References: <199812140113.RAA07556@adsl-206-170-148-33.dsl.pacbell.net> X-SW-Source: 1998-12/msg00489.html > I think that our default mode should be a *superset* of ANSI/ISO C++ > programs, i.e., ANSI/ISO with some appropriate extensions. Using > -pedantic should restrict this mode by removing the extensions. Thus, > -fstrict-prototypes should be the default, as per standard C++. You > should have to use -fno-strict-prototypes to make `extern "C"' things > treat `()' as `(...)', IMO. > > If we really need to have the default mode be something other than a > superset of ANSI/ISO C++, then -ansi is the flag that should be used > to get ANSI/ISO C++ (and maybe some extensions), not -pedantic. I totally agree on the -ansi/-pedantic issue; it should be -ansi that activates -fstrict-prototypes, not -pedantic. I mostly agree on the default value: In C++, () always means (void), and should not mean (...). I have no idea how many C++ programs still link with K&R headers; so I'm not sure whether we really should change the default. Regards, Martin