This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR 13358 long long and C++ do not mix well


On Tue, 2008-08-26 at 21:30 +0200, Manuel LÃpez-IbÃÃez wrote:
> 2008/8/25 Mark Mitchell <mark@codesourcery.com>:
> >
> > Why are you using -m32 here?  That's not going to work on lots of CPU
> > targets, and I don't understand why it's a required part of the test.
> 
> Without -m32 I don't get the errors for the unsufixed constants even
> with -pedantic-errors (I guess because sizeof(long long) ==
> sizeof(long). I guess the test would work in 32bits targets without
> -m32 but it will fail in 64bit targets.
> 
> I could restrict the test to 32bits targets with
> require-effective-target ilp32 but then I cannot test it (I only have
> access to x86_64)
> 
> What would be the dg-* magic to:
> 
> * enable -m32 for targets that support it and where sizeof(long long)
> == sizeof(long)
> * enable the test for targets where sizeof(long long) != sizeof(long)
> * disable the test for the rest.

A test should never use -m32 or -m64 explicitly because many people
test with -m32 and again with -m64, for example with

  make -k RUNTESTFLAGS="--target_board=unix'{-m32,-m64}'" check

You could restrict the test to ilp32 (and int16?) with

  { dg-skip-if "long same length as long long" { ! { ilp32 || int16 } } "*" "" }

Janis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]