[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