This is with release 4.5.0 (with reference to trunk also). Maybe I should try trunk. VMS issues: 1) current: http://gcc.gnu.org/viewcvs/trunk/gcc/config/vms/t-vms?revision=150230&view=markup # Temporary restriction: VMS_EXTRA_PARTS must be compiled by DEC C. #VMS_EXTRA_PARTS=vcrt0.o pcrt0.o VMS_EXTRA_PARTS= DECC=`echo $(CC) | sed -e 's/xgcc -B.*/decc$(exeext)/' -e 's/^gcc/decc/' -e 's/^decc/.\/decc/' -e 's/\(.*\)-gcc/\1-decc/'` # Assemble startup files. $(T)vcrt0.o: $(CRT0_S) $(GCC_PASSES) $(DECC) -c /names=as_is $(srcdir)/config/vms/vms-crt0.c -o $(T)vcrt0.o $(T)pcrt0.o: $(CRT0_S) $(GCC_PASSES) $(DECC) -c /names=as_is $(srcdir)/config/vms/vms-psxcrt0.c -o $(T)pcrt0.o This code dates to I believe 2001: introduced partly in http://gcc.gnu.org/viewcvs/trunk/gcc/config/alpha/t-vms?r1=47532&r2=47831 The "temporary" comment I think came with the move from alpha/t-vms to vms/t-vms, 8 months ago. Must it still be compiled with DEC C? I'll try it with gcc. There is this: #if !defined(__DECC) /*You Lose! This file can only be compiled with DEC C.*/ #else of course to deal with. (Is #error not widely enough implemented?) 2) /obj/gcc/avms/./gcc/xgcc -B/obj/gcc/avms/./gcc/ -B/usr/local/alpha-dec-vms/bin/ -B/usr/local/alpha-dec-vms/lib/ -isystem /usr/local/alpha-dec-vms/include -isystem /usr/local/alpha-dec-vms/sys-include -g -O2 -mieee -mcpu=ev6 -O2 -g -O2 -mieee -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mieee -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../.././gcc -I/src/gcc-4.5.0/libgcc -I/src/gcc-4.5.0/libgcc/. -I/src/gcc-4.5.0/libgcc/../gcc -I/src/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c /src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c In file included from /src/gcc-4.5.0/libgcc/../gcc/resource.h:24:0, from /usr/local/alpha-dec-vms/include/wait.h:74, from /usr/local/alpha-dec-vms/include/stdlib.h:51, from /src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-unwind.h:26, from /src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:333: /src/gcc-4.5.0/libgcc/../gcc/hard-reg-set.h:42:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'HARD_REG_ELT_TYPE' Line is: typedef unsigned HOST_WIDEST_FAST_INT HARD_REG_ELT_TYPE; seems to be various problems compiling unwind-dw2.c: /src/gcc-4.5.0/libgcc/../gcc/input.h:25:22: fatal error: line-map.h: No such file or directory and others, gmp.h, symtab.h compilation terminated. for now I removed unwind-dw2.c et al from being compiled. emptying LIB2ADDEH I think it was. I also had to hack the VMS headers a bit, like: #if defined(__GNUC_) && !defined(__int64) #define __int64 long long #endif (typedef doesn't work, due to "unsigned __int64") It would probably behoove gcc to understand "__int64", at least on VMS and NT/Cygwin/MinGW. Probably it already does on the latter. - Jay