[Bug target/92499] nios2 backend needs to consider allocated object size, not C object size for gprel optimization
sandra at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 2 03:52:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92499
--- Comment #9 from sandra at gcc dot gnu.org ---
Author: sandra
Date: Mon Dec 2 03:52:15 2019
New Revision: 278891
URL: https://gcc.gnu.org/viewcvs?rev=278891&root=gcc&view=rev
Log:
2019-12-01 Sandra Loosemore <sandra@codesourcery.com>
Fix bugs relating to flexibly-sized objects in nios2 backend.
PR target/92499
gcc/c/
* c-decl.c (flexible_array_type_p): Move to common code.
gcc/
* config/nios2/nios2.c (nios2_in_small_data_p): Do not consider
objects of flexible types to be small if they have internal linkage
or are declared extern.
* config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with...
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this. Use targetm.in_small_data_p
instead of the size of the object initializer.
* tree.c (flexible_array_type_p): Move from C front end, and
generalize to handle fields in non-C structures.
* tree.h (flexible_array_type_p): Declare.
gcc/testsuite/
* gcc.target/nios2/pr92499-1.c: New.
* gcc.target/nios2/pr92499-2.c: New.
* gcc.target/nios2/pr92499-3.c: New.
Added:
trunk/gcc/testsuite/gcc.target/nios2/pr92499-1.c
trunk/gcc/testsuite/gcc.target/nios2/pr92499-2.c
trunk/gcc/testsuite/gcc.target/nios2/pr92499-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/config/nios2/nios2.c
trunk/gcc/config/nios2/nios2.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.c
trunk/gcc/tree.h
More information about the Gcc-bugs
mailing list