]> xenbits.xensource.com Git - libvirt.git/commitdiff
Enable use of -Wmissing-noreturn
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 16 Jul 2010 16:16:19 +0000 (17:16 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 5 Apr 2011 10:39:58 +0000 (11:39 +0100)
* src/internal.h: Define a ATTRIBUTE_NO_RETURN annotation
* src/lxc/lxc_container.c: Annotate lxcContainerDummyChild
  with ATTRIBUTE_NO_RETURN
* tests/eventtest.c: Mark async thread as ATTRIBUTE_NO_RETURN
* m4/virt-compile-warnings.m4: Enable -Wmissing-noreturn

m4/virt-compile-warnings.m4
src/internal.h
src/lxc/lxc_container.c
tests/eventtest.c

index 0431074cb6ed626727c9f76ce35d3f3e9b03a47e..27413b09f233beef9bffa78445f9320422dbdfbc 100644 (file)
@@ -63,7 +63,6 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
         dontwarn="$dontwarn -Wconversion"
         dontwarn="$dontwarn -Wsign-conversion"
         dontwarn="$dontwarn -Wold-style-definition"
-        dontwarn="$dontwarn -Wmissing-noreturn"
         dontwarn="$dontwarn -Wpacked"
         dontwarn="$dontwarn -Wunused-macros"
         dontwarn="$dontwarn -Woverlength-strings"
index 2afbd8db427b6aa91abf3d5b63ffe616e6ad9521..4641fc154015af5cb5c0012762f55842e5e14911 100644 (file)
 #   define ATTRIBUTE_UNUSED __attribute__((__unused__))
 #  endif
 
+/**
+ * ATTRIBUTE_NORETURN:
+ *
+ * Macro to indicate that a function won't return to the caller
+ */
+#  ifndef ATTRIBUTE_NORETURN
+#   define ATTRIBUTE_NORETURN __attribute__((__noreturn__))
+#  endif
+
 /**
  * ATTRIBUTE_SENTINEL:
  *
index 9830b71c2a4f3a61115ab26b391a9a764b19ce6e..af453f34461d8ccfc66d29206690bfc3a5327257 100644 (file)
@@ -914,7 +914,8 @@ int lxcContainerStart(virDomainDefPtr def,
     return pid;
 }
 
-static int lxcContainerDummyChild(void *argv ATTRIBUTE_UNUSED)
+ATTRIBUTE_NORETURN static int
+lxcContainerDummyChild(void *argv ATTRIBUTE_UNUSED)
 {
     _exit(0);
 }
index 4d22070c70def585b8e9d2fc39b8ecdf73de7c78..eb4b7552a915ab8c386f08c2ead7843f3db6e358 100644 (file)
@@ -119,7 +119,7 @@ static pthread_cond_t eventThreadJobCond = PTHREAD_COND_INITIALIZER;
 static int eventThreadJobDone = 0;
 
 
-static void *eventThreadLoop(void *data ATTRIBUTE_UNUSED) {
+ATTRIBUTE_NORETURN static void *eventThreadLoop(void *data ATTRIBUTE_UNUSED) {
     while (1) {
         pthread_mutex_lock(&eventThreadMutex);
         while (!eventThreadRunOnce) {
@@ -135,7 +135,6 @@ static void *eventThreadLoop(void *data ATTRIBUTE_UNUSED) {
         pthread_cond_signal(&eventThreadJobCond);
         pthread_mutex_unlock(&eventThreadMutex);
     }
-    return NULL;
 }