aboutsummaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-02-26 12:03:46 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-02-26 12:03:46 +0100
commit6764d92cee35440ff57dec636720bd4a7110b918 (patch)
treefac744086a908f3a248241a609608809305cd3af /gcc/var-tracking.c
parent5a309965110f1d0e18ea005bcf487f08310365fd (diff)
downloadgcc-6764d92cee35440ff57dec636720bd4a7110b918.zip
gcc-6764d92cee35440ff57dec636720bd4a7110b918.tar.gz
gcc-6764d92cee35440ff57dec636720bd4a7110b918.tar.bz2
Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
* Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H). * var-tracking.c: Include diagnostic.h. (debug_dv): New function. (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N. From-SVN: r157085
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 99589e9..59369cb 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -111,6 +111,7 @@
#include "target.h"
#include "toplev.h"
#include "params.h"
+#include "diagnostic.h"
/* var-tracking.c assumes that tree code with the same value as VALUE rtx code
has no chance to appear in REG_EXPR/MEM_EXPRs and isn't a decl.
@@ -822,6 +823,17 @@ dv_from_value (rtx value)
return dv;
}
+extern void debug_dv (decl_or_value dv);
+
+void
+debug_dv (decl_or_value dv)
+{
+ if (dv_is_value_p (dv))
+ debug_rtx (dv_as_value (dv));
+ else
+ debug_generic_stmt (dv_as_decl (dv));
+}
+
typedef unsigned int dvuid;
/* Return the uid of DV. */
@@ -5779,14 +5791,17 @@ dump_var (variable var)
const_tree decl = dv_as_decl (var->dv);
if (DECL_NAME (decl))
- fprintf (dump_file, " name: %s",
- IDENTIFIER_POINTER (DECL_NAME (decl)));
+ {
+ fprintf (dump_file, " name: %s",
+ IDENTIFIER_POINTER (DECL_NAME (decl)));
+ if (dump_flags & TDF_UID)
+ fprintf (dump_file, "D.%u", DECL_UID (decl));
+ }
+ else if (TREE_CODE (decl) == DEBUG_EXPR_DECL)
+ fprintf (dump_file, " name: D#%u", DEBUG_TEMP_UID (decl));
else
fprintf (dump_file, " name: D.%u", DECL_UID (decl));
- if (dump_flags & TDF_UID)
- fprintf (dump_file, " D.%u\n", DECL_UID (decl));
- else
- fprintf (dump_file, "\n");
+ fprintf (dump_file, "\n");
}
else
{