aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-02-21 00:19:24 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-02-21 00:19:24 +0100
commit149d6f9edd9430452e81bde4f6e611f5e81c9f2e (patch)
treed49e4ee1337f2fdce87409b5a2a0ec6e2c56a37b /gcc/varasm.c
parent4161da12190d52eb1d622354e6ea67f67195c73c (diff)
downloadgcc-149d6f9edd9430452e81bde4f6e611f5e81c9f2e.zip
gcc-149d6f9edd9430452e81bde4f6e611f5e81c9f2e.tar.gz
gcc-149d6f9edd9430452e81bde4f6e611f5e81c9f2e.tar.bz2
re PR debug/4461 (Invalid dawrf2 debug code)
PR debug/4461 * varasm.c (get_pool_constant_mark): New. * rtl.h (get_pool_constant_mark): Add prototype. * dwarf2out.c (mem_loc_descriptor): A pool constant cannot be represented if it has not been output. * gcc.dg/debug/20020220-1.c: New test. From-SVN: r49921
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 67d64e6..46810c6 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3900,6 +3900,19 @@ get_pool_constant (addr)
return (find_pool_constant (cfun, addr))->constant;
}
+/* Given a constant pool SYMBOL_REF, return the corresponding constant
+ and whether it has been output or not. */
+
+rtx
+get_pool_constant_mark (addr, pmarked)
+ rtx addr;
+ bool *pmarked;
+{
+ struct pool_constant *pool = find_pool_constant (cfun, addr);
+ *pmarked = (pool->mark != 0);
+ return pool->constant;
+}
+
/* Likewise, but for the constant pool of a specific function. */
rtx