re PR c++/21454 (const array doesn't live in the rodata section in C++)

PR c++/21454
	* decl.c (maybe_deduce_size_from_array_init): Call
	cp_apply_type_quals_to_decl after completing array type.

	* g++.dg/opt/const4.C: New test.

From-SVN: r99817
This commit is contained in:
Jakub Jelinek 2005-05-17 08:51:48 +02:00 committed by Jakub Jelinek
parent 7cbd12b88f
commit f23b850118
4 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-05-17 Jakub Jelinek <jakub@redhat.com>
PR c++/21454
* decl.c (maybe_deduce_size_from_array_init): Call
cp_apply_type_quals_to_decl after completing array type.
2005-05-16 Richard Henderson <rth@redhat.com>
* decl.c (build_library_fn_1): Move setting TREE_NOTHROW ...

View File

@ -3939,6 +3939,8 @@ maybe_deduce_size_from_array_init (tree decl, tree init)
if (failure == 3)
error ("zero-size array %qD", decl);
cp_apply_type_quals_to_decl (cp_type_quals (TREE_TYPE (decl)), decl);
layout_decl (decl, 0);
}
}

View File

@ -1,5 +1,8 @@
2005-05-17 Jakub Jelinek <jakub@redhat.com>
PR c++/21454
* g++.dg/opt/const4.C: New test.
PR middle-end/21492
* g++.dg/opt/crossjump1.C: New test.

View File

@ -0,0 +1,9 @@
// PR c++/21454
// Test whether A is put into .rodata section on platforms
// that have it.
// { dg-do compile }
const int a[] __attribute__ ((__used__)) = { 0, 1, 2, 3 };
// The MMIX port always switches to the .data section at the end of a file.
// { dg-final { scan-assembler-not "\\.data(?!\\.rel\\.ro)" { xfail powerpc*-*-aix* mmix-*-* } } }