Use decl size in Solaris ASM_DECLARE_OBJECT_NAME [PR102296]

Solaris has modified versions of ASM_DECLARE_OBJECT_NAME on both i386
and sparc.  When

commit ce597aedd7
Author: Ilya Enkovich <ilya.enkovich@intel.com>
Date:   Thu Aug 7 08:04:55 2014 +0000

    elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size.

was applied, those were missed.  At the same time, the testcase was
restricted to Linux though there's nothing Linux-specific in there, so
the error remained undetected.

This patch fixes the definitions to match elfos.h and enables the test
on Solaris, too.

Bootstrapped without regressions on i386-pc-solaris2.11 and
sparc-sun-solaris2.11.

2024-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	gcc/testsuite:
	PR target/102296
	* gcc.target/i386/struct-size.c: Enable on *-*-solaris*.

	gcc:
	PR target/102296
	* config/i386/sol2.h (ASM_DECLARE_OBJECT_NAME): Use decl size
	instead of type size.
	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Likewise.
This commit is contained in:
Rainer Orth 2024-11-21 13:41:19 +01:00
parent 1c4d39ada3
commit 116b1c5489
3 changed files with 3 additions and 3 deletions

View File

@ -179,7 +179,7 @@ along with GCC; see the file COPYING3. If not see
&& (DECL) && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
size = int_size_in_bytes (TREE_TYPE (DECL)); \
size = tree_to_uhwi (DECL_SIZE_UNIT (DECL)); \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
} \
\

View File

@ -377,7 +377,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
&& (DECL) && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
size = int_size_in_bytes (TREE_TYPE (DECL)); \
size = tree_to_uhwi (DECL_SIZE_UNIT (DECL)); \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
} \
\

View File

@ -1,4 +1,4 @@
/* { dg-do compile { target *-*-linux* } } */
/* { dg-do compile { target *-*-linux* *-*-solaris* } } */
/* { dg-options "-Wno-pedantic" } */
struct S {