aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-06-10 23:43:26 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-06-10 23:43:26 +0200
commit5d056e9be5ad2b652f1f76dc4e31621a16e541d6 (patch)
tree606abaa1e5613352580b071f799c87cba94b9fce /gcc/varasm.c
parent2bf87216b2fe2fa2dca9c565771006d355e4f6d8 (diff)
downloadgcc-5d056e9be5ad2b652f1f76dc4e31621a16e541d6.zip
gcc-5d056e9be5ad2b652f1f76dc4e31621a16e541d6.tar.gz
gcc-5d056e9be5ad2b652f1f76dc4e31621a16e541d6.tar.bz2
varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
* varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR. (compare_constant): Likewise. (output_addressed_constants): Likewise. * g++.dg/opt/vt1.C: New test. From-SVN: r54459
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 908f166..1b35811 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2320,6 +2320,7 @@ const_hash (exp)
}
case ADDR_EXPR:
+ case FDESC_EXPR:
{
struct addr_const value;
@@ -2485,6 +2486,7 @@ compare_constant (t1, t2)
}
case ADDR_EXPR:
+ case FDESC_EXPR:
{
struct addr_const value1, value2;
@@ -3653,6 +3655,7 @@ output_addressed_constants (exp)
switch (TREE_CODE (exp))
{
case ADDR_EXPR:
+ case FDESC_EXPR:
/* Go inside any operations that get_inner_reference can handle and see
if what's inside is a constant: no need to do anything here for
addresses of variables or functions. */