diff options
Diffstat (limited to 'gcc/dwarf2out.c')
| -rw-r--r-- | gcc/dwarf2out.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 896f85386b6..76fd7f07f9e 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -9942,10 +9942,13 @@ rtl_for_decl_init (tree init, tree type) rtl = gen_rtx_CONST_STRING (VOIDmode, ggc_strdup (TREE_STRING_POINTER (init))); } - /* Although DWARF could easily handle other kinds of aggregates, we - have no way to represent such values as RTL constants, so skip - those. */ - else if (AGGREGATE_TYPE_P (type)) + /* Other aggregates, and complex values, could be represented using + CONCAT: FIXME! */ + else if (AGGREGATE_TYPE_P (type) || TREE_CODE (type) == COMPLEX_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 immediate RTL constant, expand it now. We must be careful not to |

