This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[C++ PATCH]: Remove -fno-honor-std from branch
- To: gcc-patches at gcc dot gnu dot org
- Subject: [C++ PATCH]: Remove -fno-honor-std from branch
- From: Nathan Sidwell <nathan at codesourcery dot com>
- Date: Thu, 02 Aug 2001 15:26:02 +0100
- Organization: Codesourcery LLC
Hi,
this patch removes the -fno-honor-std switch from the branch. The logic still
remains internally, it's just the options I've removed.
booted & tested on i686-pc-linux-gnu
nathan
--
Dr Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
'But that's a lie.' - 'Yes it is. What's your point?'
nathan@codesourcery.com : http://www.cs.bris.ac.uk/~nathan/ : nathan@acm.org
gcc
2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
Remove -fhonor-std.
* doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
cp:
2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
Remove -fhonor-std.
* NEWS: Document.
* decl2.c (lang_f_options): Remove honor-std.
(unsupported_options): Add honor-std.
* lang-options.h: Remove -fhonor-std, -fno-honor-std.
testsuite
2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
Remove -fhonor-std.
* g++.old-deja/g++.ns/ns14.C: Remove special options.
* g++.old-deja/g++.other/std1.C: Likewise.
* g++.old-deja/g++.robertl/eb133.C: Likewise. Add using directive.
Index: doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.3.2.21
diff -c -3 -p -r1.3.2.21 invoke.texi
*** invoke.texi 2001/07/26 13:55:03 1.3.2.21
--- invoke.texi 2001/08/02 11:12:17
*************** in the following sections.
*** 174,180 ****
-fno-elide-constructors @gol
-fno-enforce-eh-specs -fexternal-templates @gol
-falt-external-templates @gol
! -ffor-scope -fno-for-scope -fno-gnu-keywords -fno-honor-std @gol
-fno-implicit-templates @gol
-fno-implicit-inline-templates @gol
-fno-implement-inlines -fms-extensions @gol
--- 174,180 ----
-fno-elide-constructors @gol
-fno-enforce-eh-specs -fexternal-templates @gol
-falt-external-templates @gol
! -ffor-scope -fno-for-scope -fno-gnu-keywords @gol
-fno-implicit-templates @gol
-fno-implicit-inline-templates @gol
-fno-implement-inlines -fms-extensions @gol
*************** otherwise be invalid, or have different
*** 1344,1362 ****
Do not recognize @code{typeof} as a keyword, so that code can use this
word as an identifier. You can use the keyword @code{__typeof__} instead.
@option{-ansi} implies @option{-fno-gnu-keywords}.
-
- @item -fno-honor-std
- @opindex fno-honor-std
- Ignore @code{namespace std}, instead of treating it as a real namespace.
- With this switch, the compiler will ignore
- @code{namespace-declarations}, @code{using-declarations},
- @code{using-directives}, and @code{namespace-names}, if they involve
- @code{std}.
-
- This option is only useful if you have manually compiled the C++
- run-time library with the same switch. Otherwise, your programs will
- not link. The use of this option is not recommended, and the option may
- be removed from a future version of G++.
@item -fno-implicit-templates
@opindex fno-implicit-templates
--- 1344,1349 ----
Index: cp/NEWS
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/NEWS,v
retrieving revision 1.25.6.2
diff -c -3 -p -r1.25.6.2 NEWS
*** NEWS 2001/07/18 19:05:38 1.25.6.2
--- NEWS 2001/08/02 11:12:17
***************
*** 1,3 ****
--- 1,9 ----
+ *** Changes in GCC 3.0.1:
+
+ * -fhonor-std and -fno-honor-std have been removed. -fno-honor-std was
+ a workaround to allow std compliant code to work with the non-std
+ compliant libstdc++-v2. libstdc++-v3 is std compliant.
+
*** Changes in GCC 3.0:
* Support for guiding declarations has been removed.
Index: cp/decl2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl2.c,v
retrieving revision 1.437.2.25
diff -c -3 -p -r1.437.2.25 decl2.c
*** decl2.c 2001/06/06 21:51:11 1.437.2.25
--- decl2.c 2001/08/02 11:12:19
*************** lang_f_options[] =
*** 473,479 ****
{"for-scope", &flag_new_for_scope, 2},
{"gnu-keywords", &flag_no_gnu_keywords, 0},
{"handle-exceptions", &flag_exceptions, 1},
- {"honor-std", &flag_honor_std, 1},
{"implement-inlines", &flag_implement_inlines, 1},
{"implicit-inline-templates", &flag_implicit_inline_templates, 1},
{"implicit-templates", &flag_implicit_templates, 1},
--- 473,478 ----
*************** static const char * const unsupported_op
*** 497,502 ****
--- 496,502 ----
"cond-mismatch",
"enum-int-equiv",
"guiding-decls",
+ "honor-std",
"huge-objects",
"labels-ok",
"new-abi",
Index: cp/lang-options.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/lang-options.h,v
retrieving revision 1.37.4.3
diff -c -3 -p -r1.37.4.3 lang-options.h
*** lang-options.h 2001/06/11 21:20:06 1.37.4.3
--- lang-options.h 2001/08/02 11:12:19
*************** DEFINE_LANG_NAME ("C++")
*** 64,72 ****
N_("Do not recognise GNU defined keywords") },
{ "-fhandle-exceptions", "" },
{ "-fno-handle-exceptions", "" },
- { "-fhonor-std", "" },
- { "-fno-honor-std",
- N_("Do not treat the namespace `std' as a normal namespace") },
{ "-fhuge-objects",
N_("Enable support for huge objects") },
{ "-fno-huge-objects", "" },
--- 64,69 ----
Index: testsuite/g++.old-deja/g++.ns/ns14.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.old-deja/g++.ns/ns14.C,v
retrieving revision 1.2
diff -c -3 -p -r1.2 ns14.C
*** ns14.C 1998/12/16 21:50:45 1.2
--- ns14.C 2001/08/02 11:12:20
***************
*** 1,4 ****
! //Special g++ Options: -fhonor-std
namespace std{
int f(){
return 0;
--- 1,4 ----
!
namespace std{
int f(){
return 0;
Index: testsuite/g++.old-deja/g++.other/std1.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.old-deja/g++.other/std1.C,v
retrieving revision 1.1
diff -c -3 -p -r1.1 std1.C
*** std1.C 2000/10/19 17:57:48 1.1
--- std1.C 2001/08/02 11:12:20
***************
*** 1,5 ****
// Build don't link:
- // Special g++ Options: -fhonor-std
// Origin: Mark Mitchell <mark@codesourcery.com>
extern "C" int memcmp (const void * __s1,
--- 1,4 ----
Index: testsuite/g++.old-deja/g++.robertl/eb133.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.old-deja/g++.robertl/eb133.C,v
retrieving revision 1.4
diff -c -3 -p -r1.4 eb133.C
*** eb133.C 2000/06/12 23:48:13 1.4
--- eb133.C 2001/08/02 11:12:21
***************
*** 1,8 ****
// Build don't link:
- // Special g++ Options: -fno-honor-std
// Gives ICE 109
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28.
int main()
{
--- 1,9 ----
// Build don't link:
// Gives ICE 109
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28.
+
+ using namespace std;
int main()
{