Make c3po compile with std=gnu99
authorKevin Klues <klueska@cs.berkeley.edu>
Wed, 23 Feb 2011 03:45:56 +0000 (19:45 -0800)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:59 +0000 (17:35 -0700)
user/c3po/Makefile
user/c3po/threads/blocking_graph.c
user/c3po/threads/resource_stats.h
user/c3po/threads/threadlib.h
user/c3po/threads/threadlib_internal.h

index 84868ea..efbbc74 100644 (file)
@@ -1,5 +1,5 @@
 TARGET_ARCH ?= i686
-CFLAGS = -O2 -static -fomit-frame-pointer -DOPTIMIZE=2 -DNO_TIMING
+CFLAGS = -O2 -static -std=gnu99 -fomit-frame-pointer -DOPTIMIZE=2 -DNO_TIMING
 LIBNAME = c3po
 SUBDIRS = util stack coro threads #aio 
 V ?= @
index 24f4771..7d29451 100644 (file)
@@ -75,7 +75,7 @@ static inline bg_node_t* bg_newnode(bg_node_type_t type)
 
   node->type = type;
   node->node_num = bg_num_nodes++;
-  node->latch = LATCH_INITIALIZER_UNLOCKED;
+  node->latch = (latch_t)LATCH_INITIALIZER_UNLOCKED;
 
   // set the system call
   node->system_call = (cap_current_syscall ? cap_current_syscall : "unknown");
@@ -281,7 +281,7 @@ void bg_update_stats()
       bzero(edge, sizeof(bg_edge_t));
       edge->src  = prev_node;
       edge->dest = this_node;
-      edge->latch = LATCH_INITIALIZER_UNLOCKED;
+      edge->latch = (latch_t)LATCH_INITIALIZER_UNLOCKED;
       PL_HashTableAdd(prev_node->edgehash, this_node, edge);
     }
     thread_unlatch( prev_node->latch );
index 81457c1..7b5c6c7 100644 (file)
@@ -28,16 +28,16 @@ typedef struct thread_resources_st {
 } thread_stats_t;
 
 
-extern inline void thread_stats_open_socket();
-extern inline void thread_stats_close_socket(cpu_tick_t lifetime);
-extern inline void thread_stats_open_file();
-extern inline void thread_stats_close_file(cpu_tick_t lifetime);
+extern void thread_stats_open_socket();
+extern void thread_stats_close_socket(cpu_tick_t lifetime);
+extern void thread_stats_open_file();
+extern void thread_stats_close_file(cpu_tick_t lifetime);
 
-extern inline int check_admission_control(struct bg_node_st *node);
+extern int check_admission_control(struct bg_node_st *node);
 
 
 #define OVERLOAD_CHECK_INTERVAL (200*ticks_per_millisecond)
-extern inline void check_overload( cpu_tick_t now );
+extern void check_overload( cpu_tick_t now );
 
 
 /**
index 5801190..ae926d1 100644 (file)
@@ -90,11 +90,11 @@ int thread_suspend_self(unsigned long long timeout);
 
 // resume is made idempotent - resuming an already runnable thread does nothing
 void thread_resume(thread_t* t);
-inline char* thread_name(thread_t *t);
+char* thread_name(thread_t *t);
 int thread_join(thread_t *t, void **val);
 void thread_set_daemon(thread_t *t);
 
-extern thread_t *current_thread;
+extern __thread thread_t *current_thread;
 static inline thread_t* thread_self() { return current_thread; }
 
 // Key-based thread specific storage
@@ -109,10 +109,10 @@ void *thread_key_getdata(thread_key_t key);
 void thread_usleep(unsigned long long timeout);
 
 // Mutex - return TRUE on success
-inline int thread_mutex_init(mutex_t *m, char *name);
-inline int thread_mutex_lock(mutex_t *m);
-inline int thread_mutex_trylock(mutex_t *m);    // do not block, return FALSE when mutex held but others
-inline int thread_mutex_unlock(mutex_t *m);
+int thread_mutex_init(mutex_t *m, char *name);
+int thread_mutex_lock(mutex_t *m);
+int thread_mutex_trylock(mutex_t *m);    // do not block, return FALSE when mutex held but others
+int thread_mutex_unlock(mutex_t *m);
 
 // Rwlocks
 enum rwlock_op {
@@ -146,8 +146,8 @@ int thread_kill(thread_t* t, int sig);
 int thread_kill_all(int sig);
 int thread_sigwait(const sigset_t *set, int *sig);
 
-extern inline void thread_stats_add_heap(long size);
-extern inline void thread_stats_add_fds(int num);
+extern void thread_stats_add_heap(long size);
+extern void thread_stats_add_fds(int num);
 
 
 typedef struct {
@@ -216,8 +216,8 @@ do { \
 #define thread_latch_init(latch) do {(void)(latch);} while(0)
 #endif
 
-#define LATCH_INITIALIZER_UNLOCKED ((latch_t) { LATCH_UNLOCKED })
-#define LATCH_INITIALIZER_LOCKED   ((latch_t) { LATCH_UNKNOWN })
+#define LATCH_INITIALIZER_UNLOCKED { LATCH_UNLOCKED }
+#define LATCH_INITIALIZER_LOCKED   { LATCH_UNKNOWN }
 
 #endif /* THREADLIB_H */
 
index dfba1a7..256ab96 100644 (file)
@@ -147,7 +147,7 @@ extern void dump_thread_state();
 extern long long total_stack_in_use;
 
 // process all pending signals.  returns 1 is any actually handled, 0 otherwise
-extern inline int sig_process_pending();
+extern int sig_process_pending();
 
 extern thread_t *scheduler_thread;