Commit 28a08168 by Ian Lance Taylor Committed by Ian Lance Taylor

common.opt: Add fmerge-debug-strings.

./:	* common.opt: Add fmerge-debug-strings.
	* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
	flag_merge_debug_strings rather than flag_merge_constants.
	* doc/invoke.texi (Option Summary): Mention
	-fmerge-debug-strings.
	(Debugging Options): Document -fmerge-debug-strings.
testsuite/:
	* gcc.dg/debug/dwarf2/var1.c: Add -fno-merge-debug-strings.

From-SVN: r131630
parent 1ea193c2
2008-01-18 Ian Lance Taylor <iant@google.com> 2008-01-18 Ian Lance Taylor <iant@google.com>
* common.opt: Add fmerge-debug-strings.
* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
flag_merge_debug_strings rather than flag_merge_constants.
* doc/invoke.texi (Option Summary): Mention
-fmerge-debug-strings.
(Debugging Options): Document -fmerge-debug-strings.
2008-01-18 Ian Lance Taylor <iant@google.com>
PR c++/33407 PR c++/33407
* tree.h (DECL_IS_OPERATOR_NEW): Define. * tree.h (DECL_IS_OPERATOR_NEW): Define.
(struct tree_function_decl): Add new field operator_new_flag. (struct tree_function_decl): Add new field operator_new_flag.
......
; Options for the language- and target-independent parts of the compiler. ; Options for the language- and target-independent parts of the compiler.
; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
; Free Software Foundation, Inc.
; ;
; This file is part of GCC. ; This file is part of GCC.
; ;
...@@ -664,6 +665,10 @@ fmerge-constants ...@@ -664,6 +665,10 @@ fmerge-constants
Common Report Var(flag_merge_constants,1) VarExists Optimization Common Report Var(flag_merge_constants,1) VarExists Optimization
Attempt to merge identical constants across compilation units Attempt to merge identical constants across compilation units
fmerge-debug-strings
Common Report Var(flag_merge_debug_strings) Init(1)
Attempt to merge identical debug strings across compilation units
fmessage-length= fmessage-length=
Common RejectNegative Joined UInteger Common RejectNegative Joined UInteger
-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
......
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
@c 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 @c 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
@c Free Software Foundation, Inc. @c Free Software Foundation, Inc.
@c This is part of the GCC manual. @c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi. @c For copying conditions, see the file gcc.texi.
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
@c man begin COPYRIGHT @c man begin COPYRIGHT
Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
2007 Free Software Foundation, Inc. Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or under the terms of the GNU Free Documentation License, Version 1.2 or
...@@ -304,7 +304,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -304,7 +304,7 @@ Objective-C and Objective-C++ Dialects}.
-ftest-coverage -ftime-report -fvar-tracking @gol -ftest-coverage -ftime-report -fvar-tracking @gol
-g -g@var{level} -gcoff -gdwarf-2 @gol -g -g@var{level} -gcoff -gdwarf-2 @gol
-ggdb -gstabs -gstabs+ -gvms -gxcoff -gxcoff+ @gol -ggdb -gstabs -gstabs+ -gvms -gxcoff -gxcoff+ @gol
-fdebug-prefix-map=@var{old}=@var{new} @gol -fmerge-debug-strings -fdebug-prefix-map=@var{old}=@var{new} @gol
-femit-struct-debug-baseonly -femit-struct-debug-reduced @gol -femit-struct-debug-baseonly -femit-struct-debug-reduced @gol
-femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]} @gol -femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]} @gol
-p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol -p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol
...@@ -4162,6 +4162,14 @@ The default is @samp{-femit-struct-debug-detailed=all}. ...@@ -4162,6 +4162,14 @@ The default is @samp{-femit-struct-debug-detailed=all}.
This option works only with DWARF 2. This option works only with DWARF 2.
@item -fmerge-debug-strings
@opindex fmerge-debug-strings
Direct the linker to merge together strings which are identical in
different object files. This is not supported by all assemblers or
linker. This decreases the size of the debug information in the
output file at the cost of increasing link processing time. This is
on by default.
@item -fdebug-prefix-map=@var{old}=@var{new} @item -fdebug-prefix-map=@var{old}=@var{new}
@opindex fdebug-prefix-map @opindex fdebug-prefix-map
When compiling files in directory @file{@var{old}}, record debugging When compiling files in directory @file{@var{old}}, record debugging
......
...@@ -4393,7 +4393,7 @@ static int maybe_emit_file (struct dwarf_file_data *fd); ...@@ -4393,7 +4393,7 @@ static int maybe_emit_file (struct dwarf_file_data *fd);
/* Section flags for .debug_str section. */ /* Section flags for .debug_str section. */
#define DEBUG_STR_SECTION_FLAGS \ #define DEBUG_STR_SECTION_FLAGS \
(HAVE_GAS_SHF_MERGE && flag_merge_constants \ (HAVE_GAS_SHF_MERGE && flag_merge_debug_strings \
? SECTION_DEBUG | SECTION_MERGE | SECTION_STRINGS | 1 \ ? SECTION_DEBUG | SECTION_MERGE | SECTION_STRINGS | 1 \
: SECTION_DEBUG) : SECTION_DEBUG)
......
2008-01-18 Ian Lance Taylor <iant@google.com> 2008-01-18 Ian Lance Taylor <iant@google.com>
* gcc.dg/debug/dwarf2/var1.c: Add -fno-merge-debug-strings.
2008-01-18 Ian Lance Taylor <iant@google.com>
PR c++/33407 PR c++/33407
* g++.dg/init/new26.C: New test. * g++.dg/init/new26.C: New test.
/* PR 23190 */ /* PR 23190 */
/* { dg-do compile } /* { dg-do compile }
/* { dg-options "-gdwarf-2 -dA" } */ /* { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" } */
/* { dg-final { scan-assembler "xyzzy\[^\\n\\r\]+DW_AT_name" } } */ /* { dg-final { scan-assembler "xyzzy\[^\\n\\r\]+DW_AT_name" } } */
void f(void) void f(void)
......
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