2009-12-16 04:14:24 +08:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
2012-10-19 20:44:48 +08:00
|
|
|
// expected-no-diagnostics
|
2009-05-17 05:43:42 +08:00
|
|
|
typedef void (*thread_continue_t)();
|
|
|
|
|
|
|
|
extern "C" {
|
2009-09-09 23:08:12 +08:00
|
|
|
extern void kernel_thread_start(thread_continue_t continuation);
|
|
|
|
extern void pure_c(void);
|
2009-05-17 05:43:42 +08:00
|
|
|
}
|
|
|
|
|
2009-09-09 23:08:12 +08:00
|
|
|
class _IOConfigThread {
|
2009-05-17 05:43:42 +08:00
|
|
|
public:
|
2009-09-09 23:08:12 +08:00
|
|
|
static void main( void );
|
2009-05-17 05:43:42 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2009-09-09 23:08:12 +08:00
|
|
|
void foo( void ) {
|
|
|
|
kernel_thread_start(&_IOConfigThread::main);
|
|
|
|
kernel_thread_start((thread_continue_t)&_IOConfigThread::main);
|
|
|
|
kernel_thread_start(&pure_c);
|
2009-05-17 05:43:42 +08:00
|
|
|
}
|