/* { dg-do run } */ /* { dg-require-effective-target hwaddress_exec } */ /* { dg-additional-options "-lpthread" } */ /* Just ensure that a basic threaded program works while running with hwasan. */ #include extern int printf (const char *, ...); typedef __UINTPTR_TYPE__ uintptr_t; typedef __UINT64_TYPE__ uint64_t; void * successful_thread_function (void * argument) { int *deref = (int *)argument; if (deref[0] == 100) deref[1] = 10; return (void *)0; } int main (int argc, char **argv) { int argument[100] = {0}; argument[1] = 10; pthread_t thread_index; pthread_create (&thread_index, NULL, successful_thread_function, (void*)argument); void *retval; pthread_join (thread_index, &retval); return (uintptr_t)retval; }