Commit 5d056e9b by Jakub Jelinek Committed by Jakub Jelinek

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
parent 2bf87216
2002-06-10 Jakub Jelinek <jakub@redhat.com>
* varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
(compare_constant): Likewise.
(output_addressed_constants): Likewise.
2002-06-10 Jakub Jelinek <jakub@redhat.com>
* cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
merge bb with itself.
......
......@@ -2,6 +2,8 @@
* gcc.c-torture/compile/20020605-1.c: New test.
* g++.dg/opt/vt1.C: New test.
2002-06-07 Roger Sayle <roger@eyesopen.com>
* gcc.dg/20020607-2.c: New test case.
......
// Test whether vtable for S is not put into read-only section.
// { dg-do compile }
// { dg-options "-O2 -fpic -fno-rtti" }
// Origin: Jakub Jelinek <jakub@redhat.com>
struct S
{
virtual void vm (void) {};
} x;
// { dg-final { scan-assembler-not "section.*_ZTV1S.*\"\[^w\"\]*\"" } }
......@@ -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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment