aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-01-27 01:28:45 -0800
committerRichard Henderson <rth@gcc.gnu.org>2005-01-27 01:28:45 -0800
commitdad2a933ba0fe99918377dc328ce87325365fb91 (patch)
treeb06cc8f8944057cfd57dcd5faf93040dd75dae74 /gcc/tree.h
parent17c21957198083a5787308566dff7526d1307bc5 (diff)
downloadgcc-dad2a933ba0fe99918377dc328ce87325365fb91.zip
gcc-dad2a933ba0fe99918377dc328ce87325365fb91.tar.gz
gcc-dad2a933ba0fe99918377dc328ce87325365fb91.tar.bz2
re PR c++/14329 ([4.1 only] badly formatted warnings for SRA replacements used uninitialized)
PR tree-opt/14329 * tree.h (struct tree_decl): Add debug_expr_is_from. (DECL_DEBUG_EXPR_IS_FROM): New. (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF. * dwarf2out.c (dwarf2out_var_location): Update to match. * tree-outof-ssa.c (create_temp): Likewise. * var-tracking.c (track_expr_p): Likewise. * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR. * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR. * toplev.c (default_tree_printer): Likewise. From-SVN: r94317
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index b393cab..a4c590b 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2018,9 +2018,13 @@ struct tree_binfo GTY (())
writing debugging information about vfield and vbase decls for C++. */
#define DECL_FCONTEXT(NODE) (FIELD_DECL_CHECK (NODE)->decl.vindex)
-/* For VAR_DECL, this is set to the variable we were split from, due to
- optimization. */
-#define DECL_DEBUG_ALIAS_OF(NODE) (DECL_CHECK (NODE)->decl.vindex)
+/* For VAR_DECL, this is set to either an expression that it was split
+ from (if DECL_DEBUG_EXPR_IS_FROM is true), otherwise a tree_list of
+ subexpressions that it was split into. */
+#define DECL_DEBUG_EXPR(NODE) (DECL_CHECK (NODE)->decl.vindex)
+
+#define DECL_DEBUG_EXPR_IS_FROM(NODE) \
+ (DECL_CHECK (NODE)->decl.debug_expr_is_from)
/* Every ..._DECL node gets a unique number. */
#define DECL_UID(NODE) (DECL_CHECK (NODE)->decl.uid)
@@ -2361,7 +2365,8 @@ struct tree_decl GTY(())
unsigned possibly_inlined : 1;
unsigned preserve_flag: 1;
unsigned gimple_formal_temp : 1;
- /* 13 unused bits. */
+ unsigned debug_expr_is_from : 1;
+ /* 12 unused bits. */
union tree_decl_u1 {
/* In a FUNCTION_DECL for which DECL_BUILT_IN holds, this is