From b37a3600665c8e3ff0510f3b804774ad2bdd30ee Mon Sep 17 00:00:00 2001 From: steven Date: Wed, 6 Jun 2012 21:38:20 +0000 Subject: [PATCH] gcc/ * doc/invoke.texi (fconserve-space): Remove documentation. c-family/ * c.opt (fconserve-space): Turn into a no-op. cp/ * decl.c: Do not include output.h. (start_decl): Remove code for flag_conserve_space. testsuite/ * g++.old-deja/g++.brendan/array1.C: Remove dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188282 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/c-family/ChangeLog | 4 ++++ gcc/c-family/c.opt | 2 +- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl.c | 13 ------------- gcc/doc/invoke.texi | 14 +------------- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.old-deja/g++.brendan/array1.C | 1 - 8 files changed, 19 insertions(+), 28 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8279bdf..d789dbe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-06-06 Steven Bosscher + + * doc/invoke.texi (fconserve-space): Remove documentation. + 2012-06-06 Edmar Wienskoski * config/rs6000/rs6000-tables.opt: Regenerated. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 79e2cf4..d354e6b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2012-06-06 Steven Bosscher + + * c.opt (fconserve-space): Turn into a no-op. + 2012-06-04 Steven Bosscher * c-common.c: Do not include output.h. diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index c5daf75..981b7ab 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -762,7 +762,7 @@ Allow the arguments of the '?' operator to have different types fconserve-space C++ ObjC++ Var(flag_conserve_space) -Reduce the size of object files +Does nothing. Preserved for backward compatibility. fconstant-string-class= ObjC ObjC++ Joined MissingArgError(no class name specified with %qs) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cd983fa..49e1dfe 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2012-06-06 Steven Bosscher + + * decl.c: Do not include output.h. + (start_decl): Remove code for flag_conserve_space. + 2012-06-06 Fabien ChĂȘne PR c++/52841 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 81e9db0..aa98f8b 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see #include "tree-inline.h" #include "decl.h" #include "intl.h" -#include "output.h" /* for have_global_bss_p */ #include "toplev.h" #include "hashtab.h" #include "tm_p.h" @@ -4528,18 +4527,6 @@ start_decl (const cp_declarator *declarator, if (decl == error_mark_node) return error_mark_node; - /* Tell the back end to use or not use .common as appropriate. If we say - -fconserve-space, we want this to save .data space, at the expense of - wrong semantics. If we say -fno-conserve-space, we want this to - produce errors about redefs; to do this we force variables into the - data segment. */ - if (flag_conserve_space - && TREE_CODE (decl) == VAR_DECL - && TREE_PUBLIC (decl) - && !DECL_THREAD_LOCAL_P (decl) - && !have_global_bss_p ()) - DECL_COMMON (decl) = 1; - if (TREE_CODE (decl) == VAR_DECL && DECL_NAMESPACE_SCOPE_P (decl) && !TREE_PUBLIC (decl) && !was_public && !DECL_THIS_STATIC (decl) && !DECL_ARTIFICIAL (decl)) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 2c75bbb..1e0b9c2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -182,7 +182,7 @@ in the following sections. @item C++ Language Options @xref{C++ Dialect Options,,Options Controlling C++ Dialect}. @gccoptlist{-fabi-version=@var{n} -fno-access-control -fcheck-new @gol --fconserve-space -fconstexpr-depth=@var{n} -ffriend-injection @gol +-fconstexpr-depth=@var{n} -ffriend-injection @gol -fno-elide-constructors @gol -fno-enforce-eh-specs @gol -ffor-scope -fno-for-scope -fno-gnu-keywords @gol @@ -1947,18 +1947,6 @@ return value even without this option. In all other cases, when exhaustion is signalled by throwing @code{std::bad_alloc}. See also @samp{new (nothrow)}. -@item -fconserve-space -@opindex fconserve-space -Put uninitialized or run-time-initialized global variables into the -common segment, as C does. This saves space in the executable at the -cost of not diagnosing duplicate definitions. If you compile with this -flag and your program mysteriously crashes after @code{main()} has -completed, you may have an object that is being destroyed twice because -two definitions are merged. - -This option is no longer useful on most targets, now that support has -been added for putting variables into BSS without making them common. - @item -fconstexpr-depth=@var{n} @opindex fconstexpr-depth Set the maximum nested evaluation depth for C++11 constexpr functions diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0b681b4..01d759d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-06-06 Steven Bosscher + + * g++.old-deja/g++.brendan/array1.C: Remove dg-options. + 2012-06-06 Uros Bizjak * gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New. diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/array1.C b/gcc/testsuite/g++.old-deja/g++.brendan/array1.C index a58d336..d2084f6 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/array1.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/array1.C @@ -1,5 +1,4 @@ // { dg-do assemble } -// { dg-options "-fconserve-space -fcommon" } // GROUPS passed array-bindings extern "C" int printf (const char *, ...); -- 2.7.4