summaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-13 23:11:15 +0000
committerctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-13 23:11:15 +0000
commitd53bb22673261b227d5045c435bd2acd4c87c236 (patch)
treeb87516d5c9ea7c2c70b26f837f1dada3f4c4d0f0 /gcc/rtl.h
parentaa9311a1b831d7e2f0575a09def64eff0dac9f6a (diff)
downloadgcc-d53bb22673261b227d5045c435bd2acd4c87c236.tar.gz
Add ability to track uninitialized variables, and mark uninitialized
variables in the Dwarf debug info. Controlled by compile option -fvar-tracking-uninit git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126630 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 124f5280950..63f65730d10 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -847,6 +847,22 @@ extern const char * const reg_note_name[];
#define NOTE_VAR_LOCATION_LOC(INSN) (XCEXP (XCEXP (INSN, 4, NOTE), \
1, VAR_LOCATION))
+/* Initialization status of the variable in the location. Status
+ can be unknown, uninitialized or initialized. See enumeration
+ type below. */
+#define NOTE_VAR_LOCATION_STATUS(INSN) (XCINT (XCEXP (INSN, 4, NOTE), \
+ 2, VAR_LOCATION))
+
+/* Possible initialization status of a variable. When requested
+ by the user, this information is tracked and recorded in the DWARF
+ debug information, along with the variable's location. */
+enum var_init_status
+{
+ VAR_INIT_STATUS_UNKNOWN,
+ VAR_INIT_STATUS_UNINITIALIZED,
+ VAR_INIT_STATUS_INITIALIZED
+};
+
/* Codes that appear in the NOTE_KIND field for kinds of notes
that are not line numbers. These codes are all negative.