Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/20040708-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR rtl-optimization/16199 */ /* Origin: Olaf Klein <oklein@smallo.ruhr.de> */ typedef enum { APR_LOCK_FCNTL, APR_LOCK_FLOCK, APR_LOCK_SYSVSEM, APR_LOCK_PROC_PTHREAD, APR_LOCK_POSIXSEM, APR_LOCK_DEFAULT } apr_lockmech_e; struct apr_proc_mutex_unix_lock_methods_t { unsigned int flags; const char *name; }; typedef struct apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_lock_methods_t; extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_sysv_methods; struct apr_proc_mutex_t { const apr_proc_mutex_unix_lock_methods_t *inter_meth; int curr_locked; char *fname; }; typedef struct apr_proc_mutex_t apr_proc_mutex_t; extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_proc_pthread_methods; extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_fcntl_methods; static int proc_mutex_choose_method(apr_proc_mutex_t *new_mutex, apr_lockmech_e mech) { switch (mech) { case APR_LOCK_FCNTL: new_mutex->inter_meth = &apr_proc_mutex_unix_fcntl_methods; break; case APR_LOCK_FLOCK: return ((20000 + 50000) + 23); break; case APR_LOCK_SYSVSEM: new_mutex->inter_meth = &apr_proc_mutex_unix_sysv_methods; break; case APR_LOCK_POSIXSEM: return ((20000 + 50000) + 23); break; case APR_LOCK_PROC_PTHREAD: new_mutex->inter_meth = &apr_proc_mutex_unix_proc_pthread_methods; break; case APR_LOCK_DEFAULT: new_mutex->inter_meth = &apr_proc_mutex_unix_proc_pthread_methods; break; default: return ((20000 + 50000) + 23); } return 0; } const char* apr_proc_mutex_defname(void) { apr_proc_mutex_t mutex; if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT) != 0) { return "unknown"; } }