tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] some gcc testsuite results for tcc-0.9.16


From: Mitchell N Charity
Subject: [Tinycc-devel] some gcc testsuite results for tcc-0.9.16
Date: Wed, 1 Jan 2003 18:04:44 -0500

Tcc continues to make delightful progress.

Here are a couple of the things the gcc testsuite turned up...

a segfault

   ____ gcc.c-torture/compile/20001116-1.c ____
       int x[60];
       char *y = ((char*)&(x[2*8 + 2]) - 8);
       int z = (&"Foobar"[1] - &"Foobar"[0]);
   ____ eof ____


asm() related

   ';' expected
   ____ gcc.c-torture/compile/20011119-1.c ____
       extern inline int foo (void) { return 23; }
   **> int xxx(void) __asm__("xxx");
       int xxx(void) { return 23; }
       extern int foo (void) __attribute__ ((weak, alias ("xxx")));
   ____ eof ____

   unknown constraint '%'
   ____ gcc.c-torture/execute/960830-1.c ____
       #ifdef __i386__
       f (rp)
            unsigned int *rp;
       {
   **>   __asm__ ("mull %3" : "=a" (rp[0]), "=d" (rp[1]) : "%0" (7), "rm" (7));
       }
       #endif
   ____ eof ____(truncated)

   invalid clobber register 'st(1)'
   ____ gcc.c-torture/execute/990413-2.c ____
       /* This tests for a bug in regstack that was breaking glibc's math... */

       extern void abort (void);

       static __inline double
       minus_zero (void)
       {
         union { double __d; int __i[2]; } __x;
         __x.__i[0] = 0x0;
         __x.__i[1] = 0x80000000;
         return __x.__d;
       }

       static __inline long double
       __atan2l (long double __y, long double __x)
       {
         register long double __value;
         __asm __volatile__ ("fpatan\n\t"
                             : "=t" (__value)
                             : "0" (__x), "u" (__y)
   **>                       : "st(1)");
         return __value;
       }
   ____ eof ____(truncated)

   ';' expected
   ____ gcc.c-torture/compile/20010112-1.c ____
       /* Test that putting an initialized variable in a register works. */

       #ifdef __i386__
       #define REGISTER asm ("eax")
       #elif defined (__arm__)
       #define REGISTER asm ("r0")
       #else
       /* Put examples for other architectures here. */
       #define REGISTER
       #endif

       void f() {
   **>   register int i REGISTER = 3;
       }
   ____ eof ____


unknown type size

   ____ gcc.c-torture/compile/920624-1.c ____
   **> int B[],Q[];
       f(){int s;for(s=0;s<=1;s++)switch(s){case 2:case 3:++B[s];case 4:case 
5:++Q[
   s];}}
   ____ eof ____

   ____ gcc.c-torture/compile/921203-1.c ____
   **> char dispstr[];
       f()
       {
         strcpy(dispstr,"xxxxxxxxxxx");
       }
   ____ eof ____


')' expected

   ____ gcc.c-torture/compile/20010124-1.c ____
       /* Origin: testcase from Joseph Myers <address@hidden>, problem pointed
          out in a post to comp.std.c
          <address@hidden>
          by Dibyendu Majumdar <address@hidden>.
          Compound literals should be parsed as postfix expressions, rather than
          as cast expressions.  In particular, they are valid operands of 
sizeof.  
   */

       struct s { int a; int b; };
   **> char x[((sizeof (struct s){ 1, 2 }) == sizeof (struct s)) ? 1 : -1];
   ____ eof ____


There was other stuff too, but I don't want to be overwhelming. :)
Further, or full, results upon request.

Delightful progress.

Thank you Fabrice!

Happy New Year,
Mitchell



reply via email to

[Prev in Thread] Current Thread [Next in Thread]