Commit 6f07a821 by Steven Bosscher

invoke.texi (fconserve-space): Remove documentation.

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.

From-SVN: r188282
parent 43fa5db5
2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
* doc/invoke.texi (fconserve-space): Remove documentation.
2012-06-06 Edmar Wienskoski <edmar@freescale.com> 2012-06-06 Edmar Wienskoski <edmar@freescale.com>
* config/rs6000/rs6000-tables.opt: Regenerated. * config/rs6000/rs6000-tables.opt: Regenerated.
......
2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
* c.opt (fconserve-space): Turn into a no-op.
2012-06-04 Steven Bosscher <steven@gcc.gnu.org> 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
* c-common.c: Do not include output.h. * c-common.c: Do not include output.h.
......
...@@ -762,7 +762,7 @@ Allow the arguments of the '?' operator to have different types ...@@ -762,7 +762,7 @@ Allow the arguments of the '?' operator to have different types
fconserve-space fconserve-space
C++ ObjC++ Var(flag_conserve_space) C++ ObjC++ Var(flag_conserve_space)
Reduce the size of object files Does nothing. Preserved for backward compatibility.
fconstant-string-class= fconstant-string-class=
ObjC ObjC++ Joined MissingArgError(no class name specified with %qs) ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
......
2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
* decl.c: Do not include output.h.
(start_decl): Remove code for flag_conserve_space.
2012-06-06 Fabien Chne <fabien@gcc.gnu.org> 2012-06-06 Fabien Chne <fabien@gcc.gnu.org>
PR c++/52841 PR c++/52841
......
...@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see ...@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-inline.h" #include "tree-inline.h"
#include "decl.h" #include "decl.h"
#include "intl.h" #include "intl.h"
#include "output.h" /* for have_global_bss_p */
#include "toplev.h" #include "toplev.h"
#include "hashtab.h" #include "hashtab.h"
#include "tm_p.h" #include "tm_p.h"
...@@ -4528,18 +4527,6 @@ start_decl (const cp_declarator *declarator, ...@@ -4528,18 +4527,6 @@ start_decl (const cp_declarator *declarator,
if (decl == error_mark_node) if (decl == error_mark_node)
return 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 if (TREE_CODE (decl) == VAR_DECL
&& DECL_NAMESPACE_SCOPE_P (decl) && !TREE_PUBLIC (decl) && !was_public && DECL_NAMESPACE_SCOPE_P (decl) && !TREE_PUBLIC (decl) && !was_public
&& !DECL_THIS_STATIC (decl) && !DECL_ARTIFICIAL (decl)) && !DECL_THIS_STATIC (decl) && !DECL_ARTIFICIAL (decl))
......
...@@ -182,7 +182,7 @@ in the following sections. ...@@ -182,7 +182,7 @@ in the following sections.
@item C++ Language Options @item C++ Language Options
@xref{C++ Dialect Options,,Options Controlling C++ Dialect}. @xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
@gccoptlist{-fabi-version=@var{n} -fno-access-control -fcheck-new @gol @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-elide-constructors @gol
-fno-enforce-eh-specs @gol -fno-enforce-eh-specs @gol
-ffor-scope -fno-for-scope -fno-gnu-keywords @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 ...@@ -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 exhaustion is signalled by throwing @code{std::bad_alloc}. See also
@samp{new (nothrow)}. @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} @item -fconstexpr-depth=@var{n}
@opindex fconstexpr-depth @opindex fconstexpr-depth
Set the maximum nested evaluation depth for C++11 constexpr functions Set the maximum nested evaluation depth for C++11 constexpr functions
......
2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
* g++.old-deja/g++.brendan/array1.C: Remove dg-options.
2012-06-06 Uros Bizjak <ubizjak@gmail.com> 2012-06-06 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New. * gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.
......
// { dg-do assemble } // { dg-do assemble }
// { dg-options "-fconserve-space -fcommon" }
// GROUPS passed array-bindings // GROUPS passed array-bindings
extern "C" int printf (const char *, ...); extern "C" int printf (const char *, ...);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment