Hi Derek, > From: Conrad T. Pino > > > From: Derek Price > > > > Perhaps the problem is in your GCC installation or usage?
A gcc upgrade sure helps. I installed gcc 3.4.2 binary from SunFreeWare. Program test00 works as expected and results are below. Program test01 compile files with #pragma ... error and results are below. Program test02 works proving the #pragma ... works and results are below. We have a clean "lib/glob.c" compile and sucessful build with the results below. Conrad /export/home/cvsusr/ccvs/cvs-1.12:$ cat test00.c; rm test00; gcc -v; gcc -o test00 test00.c; ./test00 #include <stdio.h> #ifdef __PRAGMA_REDEFINE_EXTNAME #define p0value "defined" #else #define p0value "undefined" #endif #ifdef _PRAGMA_REDEFINE_EXTNAME #define p1value "defined" #else #define p1value "undefined" #endif #ifdef PRAGMA_REDEFINE_EXTNAME #define p2value "defined" #else #define p2value "undefined" #endif int main( int argc, char *argv[ ] ) { printf( "__PRAGMA_REDEFINE_EXTNAME is %s\n", p0value ); printf( "_PRAGMA_REDEFINE_EXTNAME is %s\n", p1value ); printf( "PRAGMA_REDEFINE_EXTNAME is %s\n", p2value ); return 0; } Reading specs from /export/home/usr/local/bin/../lib/gcc/i386-pc-solaris2.8/3.4.2/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c+ : (reconfigured) ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++ Thread model: posix gcc version 3.4.2 __PRAGMA_REDEFINE_EXTNAME is defined _PRAGMA_REDEFINE_EXTNAME is undefined PRAGMA_REDEFINE_EXTNAME is undefined /export/home/cvsusr/ccvs/cvs-1.12:$ ==================================================================== /export/home/cvsusr/ccvs/cvs-1.12:$ cat test01.c; rm test01; gcc -o test01 test01.c fidofifo.c; ./test01 #include "fidofifi.h" void test0( void ) { printf( "test0 fido is %s\n", fido( ) ); printf( "test0 fifi is %s\n", fifi( ) ); } #pragma redefine_extname fido fifi #pragma garbage_junk radar run void test1( void ) { printf( "test1 fido is %s\n", fido( ) ); printf( "test1 fifi is %s\n", fifi( ) ); } int main( int argc, char *argv[ ] ) { test0( ); test1( ); return 0; } gcc: fidofifo.c: No such file or directory test01.c:9: warning: #pragma redefine_extname conflicts with declaration test01.c:9: warning: fido renamed after being referenced in assembly test01.c:9: internal compiler error: in change_decl_assembler_name, at cgraph.c:532 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. ksh: ./test01: not found /export/home/cvsusr/ccvs/cvs-1.12:$ ==================================================================== /export/home/cvsusr/ccvs/cvs-1.12:$ cat test02.c; rm test02; gcc -o test02 test02.c fidofifi.c; ./test02 #include "fidofifi.h" #pragma redefine_extname fido fifi #pragma garbage_junk radar run void test1( void ) { printf( "test1 fido is %s\n", fido( ) ); printf( "test1 fifi is %s\n", fifi( ) ); } int main( int argc, char *argv[ ] ) { test1( ); return 0; } test02.c:3: warning: #pragma redefine_extname conflicts with declaration test1 fido is fifi test1 fifi is fifi /export/home/cvsusr/ccvs/cvs-1.12:$ ==================================================================== /export/home/cvsusr/ccvs/cvs-1.12:$ rm lib/glob.o /export/home/cvsusr/ccvs/cvs-1.12:$ make make all-recursive Making all in lib make all-am if gcc -DHAVE_CONFIG_H -I. -I. -I.. -Ino/include -g -O2 -MT glob.o -MD -MP -MF ".deps/glob.Tpo" -c -o glob.o glob.c; \ then mv -f ".deps/glob.Tpo" ".deps/glob.Po"; else rm -f ".deps/glob.Tpo"; exit 1; fi rm -f libcvs.a ar cru libcvs.a sighandle.o allocsa.o cycle-check.o basename.o stripslash.o getnline.o xalloc-die.o xgetcwd.o xgethostname.o xreadlink.o save-cwd.o lstat.o mktime.o strftime.o canonicalize.o chdir-long.o mempcpy.o openat.o memrchr.o closeout.o dirname.o exitfail.o getcwd.o getdate.o getline.o getndelim2.o getopt.o getopt1.o getpass.o gettime.o md5.o pagealign_alloc.o path-concat.o quotearg.o regex.o rpmatch.o setenv.o unsetenv.o dup-safer.o fd-safer.o vasnprintf.o printf-args.o printf-parse.o asnprintf.o vasprintf.o asprintf.o xmalloc.o yesno.o glob.o ranlib libcvs.a Making all in zlib Making all in diff Making all in src gcc -g -O2 -Lno/lib -o cvs add.o admin.o annotate.o buffer.o checkin.o checkout.o classify.o client.o commit.o create_adm.o cvsrc.o diff.o edit.o entries.o error.o exithandle.o expand_path.o fileattr.o filesubr.o find_names.o hardlink.o hash.o history.o ignore.o import.o lock.o log.o log-buffer.o login.o logmsg.o ls.o main.o mkmodules.o modules.o ms-buffer.o myndbm.o no_diff.o parseinfo.o patch.o rcs.o rcscmds.o recurse.o release.o remove.o repos.o root.o rsh-client.o run.o scramble.o server.o socket-client.o stack.o status.o subr.o tag.o update.o version.o vers_ts.o watch.o wrapper.o zlib.o ../diff/libdiff.a ../lib/libcvs.a ../zlib/libz.a -lrt -lrt -lresolv -lxnet -lnsl Making all in man Making all in doc Making all in i18n Making all in pt_BR Making all in contrib Making all in pam Making all in tools Making all in windows-NT Making all in SCC Making all in os2 Making all in emx Making all in vms Making all in maint-aux /export/home/cvsusr/ccvs/cvs-1.12:$ src/cvs version Client: Concurrent Versions System (CVS) 1.12.12.1 (client/server) Server: Concurrent Versions System (CVS) 1.11.15-scast-vc-1.5.2 (client/server) /export/home/cvsusr/ccvs/cvs-1.12:$ _______________________________________________ Bug-cvs mailing list Bug-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/bug-cvs