gcc/gcc/cp
Lawrence Crowl 39ef65923c invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options...
./:	* doc/invoke.texi (Debugging Options): Add documentation for the
	-femit-struct-debug options -femit-struct-debug-baseonly,
	-femit-struct-debug-reduced, and
	-femit-struct-debug-detailed[=...].

	* c-opts.c (c_common_handle_option): Add
	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
	and OPT_femit_struct_debug_detailed_.
	* c.opt: Add specifications for
	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
	and -femit-struct-debug-detailed[=...].
	* opts.c (set_struct_debug_option): Parse the
	-femit-struct-debug-... options.
	* opts.c (matches_main_base, main_input_basename,
	main_input_baselength, base_of_path, matches_main_base): Add
	variables and functions to compare header base name to compilation
	unit base name.
	* opts.c (should_emit_struct_debug): Add to determine to emit a
	structure based on the option.
	(dump_struct_debug) Also disabled function to debug this
	function.
	* opts.c (handle_options): Save the base name of the
	compilation unit.

	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
        (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
	This hook indicates if a type is generic.  Set it by default
	to "never generic".
	* langhooks.h (struct lang_hooks_for_types): Add a new hook
	to determine if a struct type is generic or not.
	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
	with live C++ hook.

	* flags.h (enum debug_info_usage): Add an enumeration to describe
	a program's use of a structure type.
	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
	to indicate the program's usage of the type.  Filter structs based
	on the -femit-struct-debug-... specification.
	(gen_type_die): Split into two routines, gen_type_die and
	gen_type_die_with_usage.  gen_type_die is now a wrapper
	that assumes direct usage.
	(gen_type_die_with_usage): Replace calls to gen_type_die
	with gen_type_die_with_usage adding the program usage of
	the referenced type.
	(dwarf2out_imported_module_or_decl): Suppress struct debug
	information using should_emit_struct_debug when appropriate.
testsuite/:
	* g++.dg/other/fesd-any.C: Test -femit-struct-debug-detailed=any.
	* g++.dg/other/fesd-any.h: Test -femit-struct-debug-detailed=any.
	* g++.dg/other/fesd-baseonly.C: Test -femit-struct-debug-baseonly.
	* g++.dg/other/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
	* g++.dg/other/fesd-none.C: Test -femit-struct-debug-detailed=none.
	* g++.dg/other/fesd-none.h: Test -femit-struct-debug-detailed=none.
	* g++.dg/other/fesd-reduced.C: Test -femit-struct-debug-reduced.
	* g++.dg/other/fesd-reduced.h: Test -femit-struct-debug-reduced.
	* g++.dg/other/fesd-sys.C: Test -femit-struct-debug-detailed=sys.
	* g++.dg/other/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
	* g++.dg/other/fesd.h: Common to -femit-struct-debug-... tests.

	* gcc.dg/fesd-any.c: Test -femit-struct-debug-detailed=any.
	* gcc.dg/fesd-any.h: Test -femit-struct-debug-detailed=any.
	* gcc.dg/fesd-baseonly.c: Test -femit-struct-debug-baseonly.
	* gcc.dg/fesd-baseonly.h: Test -femit-struct-debug-baseonly.
	* gcc.dg/fesd-none.c: Test -femit-struct-debug-detailed=none.
	* gcc.dg/fesd-none.h: Test -femit-struct-debug-detailed=none.
	* gcc.dg/fesd-reduced.c: Test -femit-struct-debug-reduced.
	* gcc.dg/fesd-reduced.h: Test -femit-struct-debug-reduced.
	* gcc.dg/fesd-sys.c: Test -femit-struct-debug-detailed=sys.
	* gcc.dg/fesd-sys.h: Test -femit-struct-debug-detailed=sys.
	* gcc.dg/fesd.h: Common to -femit-struct-debug-... tests.

From-SVN: r123909
2007-04-17 06:19:36 +00:00
..
ChangeLog Correct the misplaced ChangeLog. 2007-04-16 17:07:04 +00:00
ChangeLog-1993
ChangeLog-1994
ChangeLog-1995
ChangeLog-1996
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog.tree-ssa
Make-lang.in re PR bootstrap/30899 (build failure with --enable-generated-files-in-srcdir) 2007-03-13 23:51:07 +00:00
NEWS
call.c re PR c++/31074 (Reference casting involving multiple inheritance produces bad pointer) 2007-04-13 19:43:18 -04:00
cfns.gperf
cfns.h
class.c class.c (convert_to_base_statically): Fold produced tree; verify that we are not processing template_decl. 2007-04-11 06:18:28 +00:00
config-lang.in gengtype.c: Don't include gtyp-gen.h. 2007-03-26 21:07:27 +00:00
cp-gimplify.c builtins.c (fold_builtin_call_list, [...]): Delete, and replace with... 2007-02-28 14:21:20 -05:00
cp-lang.c invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options... 2007-04-17 06:19:36 +00:00
cp-objcp-common.c 2007-04-07 Daniel Berlin <dberlin@dberlin.org> 2007-04-07 23:08:23 +00:00
cp-objcp-common.h langhooks.c (lhd_tree_inlining_add_pending_fn_decls, [...]): Remove. 2007-04-08 13:14:39 +00:00
cp-tree.def re PR c++/26099 (support for type traits is not available) 2007-03-30 19:45:57 +00:00
cp-tree.h invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options... 2007-04-17 06:19:36 +00:00
cvt.c invoke.texi (-Wconversion): Document warnings specific to C++. 2007-03-16 23:32:12 +00:00
cxx-pretty-print.c error.c (dump_expr): Handle dependent names that designate types. 2007-03-23 02:58:46 +00:00
cxx-pretty-print.h
decl.c re PR c++/31187 (extern declaration of variable in anonymous namespace prevents use of its address as template argument) 2007-04-02 13:49:21 -04:00
decl.h
decl2.c re PR c++/29365 (Unnecessary anonymous namespace warnings) 2007-04-16 16:49:02 +00:00
dump.c
error.c * cp-tree.h, error.c: Fix comment typos. 2007-04-15 14:37:02 +00:00
except.c builtins.c (fold_builtin_call_list, [...]): Delete, and replace with... 2007-02-28 14:21:20 -05:00
expr.c
friend.c
g++spec.c Index: gcc/cp/ChangeLog 2007-03-02 21:07:37 +00:00
init.c builtins.c (fold_builtin_call_list, [...]): Delete, and replace with... 2007-02-28 14:21:20 -05:00
lang-specs.h
lex.c re PR c++/26099 (support for type traits is not available) 2007-03-30 19:45:57 +00:00
mangle.c re PR c++/20599 (variadic template support) 2007-03-10 01:58:58 +00:00
method.c re PR c++/26099 (support for type traits is not available) 2007-03-30 19:45:57 +00:00
name-lookup.c ptree.c (cxx_print_type): Use formatting markup for integers when printing template parameter... 2007-03-15 13:51:09 +00:00
name-lookup.h
operators.def re PR c++/20599 (variadic template support) 2007-03-10 01:58:58 +00:00
optimize.c omp-low.c (splay-tree.h): Include. 2007-03-31 14:07:29 +00:00
parser.c re PR c++/31138 (ICE with ellipsis) 2007-03-31 12:41:30 +00:00
pt.c re PR c++/31138 (ICE with ellipsis) 2007-03-31 12:41:30 +00:00
ptree.c ptree.c (cxx_print_type): Use formatting markup for integers when printing template parameter... 2007-03-15 13:51:09 +00:00
repo.c flags.h (flag_random_seed): Remove declaration, in favor of... 2007-03-14 01:47:33 +00:00
rtti.c builtins.c (fold_builtin_call_list, [...]): Delete, and replace with... 2007-02-28 14:21:20 -05:00
search.c
semantics.c re PR c++/26099 (support for type traits is not available) 2007-03-30 19:45:57 +00:00
tree.c invoke.texi (Debugging Options): Add documentation for the -femit-struct-debug options... 2007-04-17 06:19:36 +00:00
typeck.c re PR c++/30847 (ICE with invalid statement expression) 2007-04-03 11:08:00 +02:00
typeck2.c typeck2.c (readonly_error): Always emit a hard error. 2007-03-05 08:26:23 +00:00