aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-08-30 19:09:16 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-08-30 19:09:16 +0000
commit02d548063dec05650364fed2369d8f7d94c48fd8 (patch)
treeae6f7165f15840269e24e851ea73816957f1a8ae /gcc/varasm.c
parente0bd5a2824b13532b5377b52b90dfcd4cfce9c0d (diff)
downloadgcc-02d548063dec05650364fed2369d8f7d94c48fd8.zip
gcc-02d548063dec05650364fed2369d8f7d94c48fd8.tar.gz
gcc-02d548063dec05650364fed2369d8f7d94c48fd8.tar.bz2
* varasm.c (decode_addr_const): Deal with INDIRECT_REF <INTEGER_CST>.
From-SVN: r251545
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index adf99fb7..e539337 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2924,6 +2924,13 @@ decode_addr_const (tree exp, struct addr_const *value)
x = output_constant_def (target, 1);
break;
+ case INDIRECT_REF:
+ /* This deals with absolute addresses. */
+ offset += tree_to_shwi (TREE_OPERAND (target, 0));
+ x = gen_rtx_MEM (QImode,
+ gen_rtx_SYMBOL_REF (Pmode, "origin of addresses"));
+ break;
+
default:
gcc_unreachable ();
}