[LLVMbugs] [Bug 3446] New: aliases with different types

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Jan 30 11:43:03 PST 2009


http://llvm.org/bugs/show_bug.cgi?id=3446

           Summary: aliases with different types
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: minor
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: edwintorok at gmail.com
                CC: llvmbugs at cs.uiuc.edu


$ llvm-gcc testcase-min.i  -c -O1
testcase-min.i:16: error:  Alias ‘__thread_start__key’ used with invalid
type!

Testcase is from dietlibc, gcc accepts this:

typedef signed int int32_t;
     typedef int32_t pid_t;
     typedef struct _pthread_descr_struct*_pthread_descr;
     typedef int pthread_once_t;
     struct _pthread_descr_struct {
     pid_t pid;
   }
     __attribute__((aligned(32)));
     typedef struct __thread_manager_func {
   }
     __thread_manager_func;
     static _pthread_descr manager_thread;
     static pthread_once_t __thread_started=0;
     static int __thread_nop() {
   }
     void __thread_start__key(_pthread_descr td)
__attribute__((weak,alias("__thread_nop")));
     static void* __managed_start(void*arg) {
     _pthread_descr td;
     __thread_start__key(td);
   }
     static void __manager_thread_init() {
     char*stack;
     if
((manager_thread->pid=__clone(__managed_start,stack,(0x00000100|0x00000200|0x00000400|0x00000800)|((64
-1)-1),manager_thread))==-1) __libc_exit(43);
   }
     static void __thread_init() {
     __manager_thread_init();
   }
     static int __MGR_send(void(*f)(void*),void*arg) {
     __pthread_once(&__thread_started,__thread_init);
     return ({
  long ret;
  ret;
  }
  );
   }
     int __thread_send_manager(void(*f)(void*),void*arg)
__attribute__((alias("__MGR_send")))


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list