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

Reply via email to