diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-02-21 00:19:24 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-02-21 00:19:24 +0100 |
commit | 149d6f9edd9430452e81bde4f6e611f5e81c9f2e (patch) | |
tree | d49e4ee1337f2fdce87409b5a2a0ec6e2c56a37b /gcc/varasm.c | |
parent | 4161da12190d52eb1d622354e6ea67f67195c73c (diff) | |
download | gcc-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.c | 13 |
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 |