diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-11-10 04:29:45 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-11-10 04:29:45 +0000 |
commit | 0a7394bc1ac70f2a16ee15731457af04fb0b6e48 (patch) | |
tree | 6fdac42a5241d2f4e1527d266faf70cae27bb05d /gcc/c-common.c | |
parent | abffe289db68ad3968cd592dc33a00500a07aaba (diff) | |
download | gcc-0a7394bc1ac70f2a16ee15731457af04fb0b6e48.zip gcc-0a7394bc1ac70f2a16ee15731457af04fb0b6e48.tar.gz gcc-0a7394bc1ac70f2a16ee15731457af04fb0b6e48.tar.bz2 |
Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
(c-dump.o): New target.
* c-common.h (flag_dump_translation_unit): New variable.
(C_TYPE_QUALS): New macro.
(strip_array_types): New function.
(DECL_C_BIT_FIELD): New macro.
(SET_DECL_C_BIT_FIELD): Likewise.
(CLEAR_DECL_C_BIT_FIELD): Likewise.
(dump_info_p): New typedef.
(dump_tree_fn): Likewise.
(lang_dump_tree): New variable.
(dump_node_to_file): New function.
* c-common.c (flag_dump_translation_unit): Define it.
(strip_array_types): New function.
* c-decl.c (c_decode_option): Handle -fdump-translation-unit.
* c-lang.c (finish_file): Call dump_node_to_file if
flag_dump_translation_unit.
* c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
* c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
* c-dump.c: New file.
* Make-lang.in (CXX_C_OBJS): Add c-dump.o.
(dump.o): Update dependency list.
* cp-tree.h (DECL_MAYBE_TEMPLATE): Remove.
(flag_dump_translation_unit): Likewise.
(CP_TYPE_QUALS): Adjust definition.
(DECL_C_BIT_FIELD): Remove.
(SET_DECL_C_BIT_FIELD): Likewise.
(CLEAR_DECL_C_BIT_FIELD): Likewise.
(add_maybe_template): Likewise.
(strip_array_types): Likewise.
(dump_node_to_file): Likewise.
(cp_dump_tree): New function.
* decl.c (init_decl_processing): Set lang_dump_tree.
* decl2.c (flag_dump_translation_unit): Remove.
* dump.c: Move most of it to ../c-dump.c.
(cp_dump_tree): New function.
* pt.c (add_maybe_template): Remove.
* typeck.c (strip_array_types): Likewise.
From-SVN: r37358
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index 0482a83..c8e9c12 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -149,6 +149,11 @@ int flag_no_builtin; int flag_no_nonansi_builtin; +/* If non-NULL, dump the tree structure for the entire translation + unit to this file. */ + +const char *flag_dump_translation_unit; + /* Nonzero means warn about possible violations of sequence point rules. */ int warn_sequence_point; @@ -5398,6 +5403,19 @@ self_promoting_args_p (parms) return 1; } +/* Recursively examines the array elements of TYPE, until a non-array + element type is found. */ + +tree +strip_array_types (type) + tree type; +{ + while (TREE_CODE (type) == ARRAY_TYPE) + type = TREE_TYPE (type); + + return type; +} + /* Recognize certain built-in functions so we can make tree-codes other than CALL_EXPR. We do this when it enables fold-const.c to do something useful. */ |