Bug 39781 - Fail: g++.dg/cpp/_Pragma1.C, gcc.dg/cpp/_Pragma6.c
Summary: Fail: g++.dg/cpp/_Pragma1.C, gcc.dg/cpp/_Pragma6.c
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 4.4.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords: patch
Depends on:
Blocks:
 
Reported: 2009-04-16 01:45 UTC by Jing Yu
Modified: 2009-04-23 00:34 UTC (History)
1 user (show)

See Also:
Host: x86_64-linux-gnu, i686-linux-gnu
Target: arm-unknown-eabi
Build: x86_64-linux-gnu, i686-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2009-04-19 11:37:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jing Yu 2009-04-16 01:45:03 UTC
These two tests require that platform supports pragma pack(push).

For example, gcc.dg/cpp_Pragma6.c:
/* PR c/27747 */
/* This is supposed to succeed only if
   the target defines HANDLE_PRAGMA_PACK_PUSH_POP
   and doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION.  */
/* { dg-do compile { target { ! { powerpc-ibm-aix* *-*-solaris2* fido-*-* m68k-*-* sh*-[us]*-elf m32c-*-* } } } } */

#define push bar
#define foo _Pragma ("pack(push)")
foo
int i;
#pragma pack(pop)

However, config/arm does not define "HANDLE_PRAGMA_PACK_PUSH_POP". So GCC gives the following warning which breaks the dejaGNU test.
  "warning: #pragma pack(push[, id], ) is not supported on this target"

The same failure is also observed on the report:
http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg01473.html

Suggest to filter arm-*-* out of the test target list.

$arm-eabi-gcc -v
Using built-in specs.
Target: arm-eabi
Configured with: /usr/local/google/nightly/sources/arm_toolchain/gcc-4.4/configure --prefix=/usr/local/google/tmp/gcc4.4_dejagnu/install --target=arm-eabi --build=x86_64-linux-gnu --host=x86_64-linux-gnu --with-gmp=/usr/local/google/tmp/gcc4.4_dejagnu/install --with-mpfr=/usr/local/google/tmp/gcc4.4_dejagnu/install --enable-multilib --with-newlib --with-gnu-as --with-gnu-ld --enable-languages=c,c++
Thread model: single
gcc version 4.4.0 20090415 (prerelease) (GCC)
Comment 1 Ramana Radhakrishnan 2009-04-19 11:37:00 UTC
Patch submitted here. 

http://gcc.gnu.org/ml/gcc-patches/2009-04/msg01406.html
Comment 2 Jing Yu 2009-04-23 00:05:16 UTC
Subject: Bug 39781

Author: jingyu
Date: Thu Apr 23 00:05:03 2009
New Revision: 146629

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146629
Log:
	PR testsuite/39781
	* config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm.h

Comment 3 Jing Yu 2009-04-23 00:31:27 UTC
Subject: Bug 39781

Author: jingyu
Date: Thu Apr 23 00:31:13 2009
New Revision: 146634

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146634
Log:
	PR testsuite/39781
	* config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.


Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/config/arm/arm.h

Comment 4 Jing Yu 2009-04-23 00:34:05 UTC
Add HANDLE_PRAGMA_PACK_PUSH_POP to arm.
Tests are done for both gcc trunk and gcc-4.4.
These two failures become pass.
Patch was submitted to trunk and gcc-4.4.