http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52611

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.0
      Known to fail|                            |4.6.3

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2012-03-18 
16:13:31 UTC ---
Reduced test case:

$ ./xgcc --version
xgcc (GCC) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$
$
$ ./xgcc -B. -S -v pr52611.i 
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: ia64-hp-hpux11.31
Configured with: ../gcc-4.6.3/configure --with-mpfr=/opt/cfarm/mpfr-2.3.1
--with-gmp=/opt/cfarm/gmp-4.2.4 --with-mpc=/opt/cfarm/mpc-0.8
--enable-languages=c --disable-libmudflap --disable-libssp --disable-libitm
--disable-lto --disable-bootstrap --target=ia64-hp-hpux11.31 --enable-checking
Thread model: posix
gcc version 4.6.3 (GCC) 
COLLECT_GCC_OPTIONS='-B' '.' '-S' '-v'
 ./cc1 -fpreprocessed pr52611.i -quiet -dumpbase pr52611.i -auxbase pr52611
-version -o pr52611.s
GNU C (GCC) version 4.6.3 (ia64-hp-hpux11.31)
        compiled by GNU C version 4.3.2, GMP version 4.2.4, MPFR version 2.3.1,
MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.6.3 (ia64-hp-hpux11.31)
        compiled by GNU C version 4.3.2, GMP version 4.2.4, MPFR version 2.3.1,
MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b14f6f9b99e71d9e506f7502606725db
pr52611.i: In function ‘foo’:
pr52611.i:5:1: error: invalid types in nop conversion
UINT64
void *
D.1263 = (UINT64) x;

pr52611.i:5:1: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
$
$
$ cat pr52611.i 
typedef void *PTR64 __attribute__((mode(DI)));
typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));

UINT64
foo (void *x)
{
  return (UINT64)(PTR64)x;
}

I cannot reproduce this with trunk of today (r185505).

Reply via email to