Oz and Mozart Hackers Mailing List

Re: good news from the inline-opcode-map branch


From: Kevin Glynn (glynn@info.ucl.ac.be)
Date: Wed Dec 03 2003 - 16:27:03 CET


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/.



This archive was generated by hypermail 2b29.