Apologies, forget what I sent before. Here is what you need direct from
config.log:
configure:9785: checking whether .byte V and .p2align N,V are supported
configure:9824: c++ -o conftest -fno-exceptions -fno-implicit-templates conftest.C -lz -lgmp -ldl -lm -lsocket -lnsl 1>&5
/usr/ccs/bin/as: "/var/tmp//ccz9SkPi.s", line 72: error: unknown opcode ".p2align"
/usr/ccs/bin/as: "/var/tmp//ccz9SkPi.s", line 72: error: statement syntax
/usr/ccs/bin/as: "/var/tmp//ccz9SkPi.s", line 73: error: location counter not on word boundary
configure: failed program was:
#line 9793 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
#endif
void** check(void**);
int main()
{
check((void**)0);
return (check((void**)1) == (void**)1) ? 0 : 1;
}
static void* table[2];
void** check(void**label)
{
table[0] = && one;
table[1] = && two;
if (label==(void**)0 || label==(void**)1) return label;
goto **label;
one:
asm volatile(".byte 3");
asm volatile(".p2align 8,3");
return label+1;
two:
return label+2;
}
configure:9849: checking whether .byte V and .align N,V are supported
configure:9888: c++ -o conftest -fno-exceptions -fno-implicit-templates conftest.C -lz -lgmp -ldl -lm -lsocket -lnsl 1>&5
/usr/ccs/bin/as: "/var/tmp//ccOFwBPm.s", line 72: error: invalid alignment boundary
configure: failed program was:
#line 9857 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
#endif
void** check(void**);
int main()
{
check((void**)0);
return (check((void**)1) == (void**)1) ? 0 : 1;
}
static void* table[2];
void** check(void**label)
{
table[0] = && one;
table[1] = && two;
if (label==(void**)0 || label==(void**)1) return label;
goto **label;
one:
asm volatile(".byte 3");
asm volatile(".align 8,3");
return label+1;
two:
return label+2;
}
configure:10006: checking whether the opcode map can be inlined
configure:10178: checking alignment of secondary tag for const terms
configure:10203: c++ -o conftest -fno-exceptions -fno-implicit-templates conftest.C -lz -lgmp -ldl -lm -lsocket -lnsl 1>&5
configure:10218: checking if alignment of secondary tags for extensions needs padding
configure:10251: c++ -o conftest -fno-exceptions -fno-implicit-templates conftest.C -lz -lgmp -ldl -lm -lsocket -lnsl 1>&5
configure: failed program was:
#line 10224 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
#endif
class Tag {
public:
unsigned int tag;
};
class Ext : public Tag {
public:
void* ptr;
virtual void foo() {}
};
class User : public Ext {
public:
void* uptr;
public:
virtual void baz(){}
};
int main()
{
User u;
return (((((char*)(void*)(Tag*)&u) - ((char*)(void*)&u)) % 8) == 0)?0:-1;
}
configure:10270: checking if padding works
configure:10306: c++ -o conftest -fno-exceptions -fno-implicit-templates conftest.C -lz -lgmp -ldl -lm -lsocket -lnsl 1>&5
aldebaran!glynn [87]
duchier@ps.uni-sb.de writes:
> glynn@info.ucl.ac.be (Kevin Glynn) writes:
>
> > aldebaran!glynn [13] gcc -c tmp.c
> > tmp.c: In function `check':
> > tmp.c:13: warning: ISO C forbids taking the address of a label
> > tmp.c:14: warning: ISO C forbids taking the address of a label
> > tmp.c:16: warning: ISO C forbids `goto *expr;'
> > tmp.c:18: error: `asm' undeclared (first use in this function)
> > tmp.c:18: error: (Each undeclared identifier is reported only once
> > tmp.c:18: error: for each function it appears in.)
> > tmp.c:18: error: parse error before "volatile"
>
> It seems that this version of gcc was configured to use -ansi by
> default: this turns off support for gcc extensions. Try compiling
> with:
>
> gcc -std=gnu89 -c tmp.c
>
> and let me know what happens.
>
> Cheers,
>
> PS: what does "gcc -v" print out?
>
> --
> Denys Duchier - quipe Calligramme - LORIA, Nancy, France
> -
> Please send submissions to hackers@mozart-oz.org
> and administriva mail to hackers-request@mozart-oz.org.
> The Mozart Oz web site is at http://www.mozart-oz.org/.
-
Please send submissions to hackers@mozart-oz.org
and administriva mail to hackers-request@mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.