Commit 9a23b833 by Geoffrey Keating Committed by Geoffrey Keating

Index: gcc/ChangeLog

2006-08-21  Geoffrey Keating  <geoffk@apple.com>

	PR debug/28692
	* dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
	complex values, nor for generic vector values.

Index: gcc/testsuite/ChangeLog
2006-08-21  Geoffrey Keating  <geoffk@apple.com>

	PR debug/28692
	* gcc.dg/debug/const-1.c: New.
	* gcc.dg/debug/const-2.c: New.
	* gcc.dg/debug/dwarf2/const-1.c: New.
	* gcc.dg/debug/dwarf2/const-2.c: New.
	* gcc.dg/debug/dwarf2/const-2b.c: New.

From-SVN: r116331
parent 5e8c38c2
2006-08-21 Geoffrey Keating <geoffk@apple.com>
PR debug/28692
* dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
complex values, nor for generic vector values.
2006-08-22 Richard Guenther <rguenther@suse.de> 2006-08-22 Richard Guenther <rguenther@suse.de>
PR middle-end/28776 PR middle-end/28776
......
...@@ -9942,10 +9942,13 @@ rtl_for_decl_init (tree init, tree type) ...@@ -9942,10 +9942,13 @@ rtl_for_decl_init (tree init, tree type)
rtl = gen_rtx_CONST_STRING (VOIDmode, rtl = gen_rtx_CONST_STRING (VOIDmode,
ggc_strdup (TREE_STRING_POINTER (init))); ggc_strdup (TREE_STRING_POINTER (init)));
} }
/* Although DWARF could easily handle other kinds of aggregates, we /* Other aggregates, and complex values, could be represented using
have no way to represent such values as RTL constants, so skip CONCAT: FIXME! */
those. */ else if (AGGREGATE_TYPE_P (type) || TREE_CODE (type) == COMPLEX_TYPE)
else if (AGGREGATE_TYPE_P (type)) ;
/* Vectors only work if their mode is supported by the target.
FIXME: generic vectors ought to work too. */
else if (TREE_CODE (type) == VECTOR_TYPE && TYPE_MODE (type) == BLKmode)
; ;
/* If the initializer is something that we know will expand into an /* If the initializer is something that we know will expand into an
immediate RTL constant, expand it now. We must be careful not to immediate RTL constant, expand it now. We must be careful not to
......
2006-08-21 Geoffrey Keating <geoffk@apple.com>
PR debug/28692
* gcc.dg/debug/const-1.c: New.
* gcc.dg/debug/const-2.c: New.
* gcc.dg/debug/dwarf2/const-1.c: New.
* gcc.dg/debug/dwarf2/const-2.c: New.
* gcc.dg/debug/dwarf2/const-2b.c: New.
2006-08-22 Richard Guenther <rguenther@suse.de> 2006-08-22 Richard Guenther <rguenther@suse.de>
PR middle-end/28776 PR middle-end/28776
/* { dg-do compile } */
typedef float FloatVect __attribute__((__vector_size__(16)));
static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
/* { dg-do compile } */
static __complex__ int x = 3.0;
/* { dg-do compile } */
/* { dg-options "-O -gdwarf-2 -dA" } */
/* { dg-final { scan-assembler "DW_AT_const_value" } } */
extern void x();
static void (*f)() = x;
/* { dg-do compile { target powerpc*-*-* } } */
/* { dg-options "-O -gdwarf-2 -dA -maltivec" } */
/* { dg-final { scan-assembler "DW_AT_const_value" } } */
typedef float FloatVect __attribute__((__vector_size__(16)));
static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
/* { dg-do compile { target i386*-*-* } } */
/* { dg-options "-O -gdwarf-2 -dA -msse" } */
/* { dg-final { scan-assembler "DW_AT_const_value" } } */
typedef float FloatVect __attribute__((__vector_size__(16)));
static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
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