[Bug c/42224] New: 32bit pointers to 32bit pointers abort on 64bit VMS
rupp at gnat dot com
gcc-bugzilla@gcc.gnu.org
Sun Nov 29 22:25:00 GMT 2009
This is a major bug on VMS, it prevents gnatlib compilation. Please fix.
Ubuntu Linux Desktop 8.04 LTS
Target: ia64-hp-openvms8_3
Configured with: ../gcc-head-src/configure --target=ia64-hp-openvms8_3
--prefix=/vmsbuild/gcc/gnatxx --with-local-prefix=/vmsbuild/gcc/gnatxx/local
--with-gnu-as --enable-threads=posix --disable-shared --disable-nls
--disable-multilib --disable-libssp --disable-libada --disable-decimal-float
--disable-fixed-point --enable-checking=release --enable-languages=c
--with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
--with-mpfr-include=/us/local/include --with-mpfr-lib=/usr/local/lib
Thread model: posix
gcc version 4.5.0 20091129 (experimental) (GCC)
--------------
$ ./cc1 foo.c
to_ptr32 to_int to_ptr32_ptr32
foo.c: In function 'to_ptr32_ptr32':
foo.c:28:3: internal compiler error: in int_or_pointer_precision, at
tree.c:10583
--------------> Reproducer:
$ cat foo.c
typedef char* __char_ptr32 __attribute__ (( mode (SI) ));
typedef __char_ptr32 *__char_ptr_char_ptr32 __attribute__ ((mode (SI)));
void to_ptr32 (int x)
{
__char_ptr32 ptr = (__char_ptr32) x;
}
void to_int (__char_ptr32 ptr)
{
int x = (int) ptr;
}
__char_ptr_char_ptr32
to_ptr32_ptr32 (char **ptr64)
{
int argc;
__char_ptr_char_ptr32 short_argv;
for (argc=0; ptr64[argc]; argc++);
short_argv = (__char_ptr_char_ptr32) malloc32
(sizeof (__char_ptr32) * (argc + 1));
for (argc=0; ptr64[argc]; argc++)
short_argv[argc] = (__char_ptr32) strdup32 (ptr64[argc]);
short_argv[argc] = (__char_ptr32) 0;
return short_argv;
}
--
Summary: 32bit pointers to 32bit pointers abort on 64bit VMS
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rupp at gnat dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: ia64-hp-openvms8_3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42224
More information about the Gcc-bugs
mailing list