[Spice-devel] [PATCH] Fix two build errors for clang

Christophe de Dinechin christophe at dinechin.org
Tue Jul 17 12:10:24 UTC 2018


From: Christophe de Dinechin <dinechin at redhat.com>

Clang complains about:
1. [[noreturn]] used on implementation instead of header
2. errno used without <errno.h>

Details:

clang complains about [[noreturn]] not being on the first declaration.

cursor-updater.cpp:77:3: error: function declared '[[noreturn]]' after its first declaration
[[noreturn]] void CursorUpdater::operator()()
  ^
./cursor-updater.hpp:24:10: note: declaration missing '[[noreturn]]' attribute is here
    void operator()();
         ^
1 error generated.

Indeed, it makes no sense to mark a function as [[noreturn]] at a
point which the call sites cannot see.

Also add missing <errno.h> before use of errno

frame-log.cpp:27:96: error: use of undeclared identifier 'errno'
            throw Error(std::string("Failed to open log file '") + log_name + "': " + strerror(errno));

Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
---
 src/cursor-updater.cpp | 2 +-
 src/cursor-updater.hpp | 2 +-
 src/frame-log.cpp      | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/cursor-updater.cpp b/src/cursor-updater.cpp
index 8f65e83..9f39c7b 100644
--- a/src/cursor-updater.cpp
+++ b/src/cursor-updater.cpp
@@ -74,7 +74,7 @@ CursorUpdater::CursorUpdater(StreamPort *stream_port) : stream_port(stream_port)
     XFixesSelectCursorInput(display, DefaultRootWindow(display), XFixesDisplayCursorNotifyMask);
 }
 
-[[noreturn]] void CursorUpdater::operator()()
+void CursorUpdater::operator()()
 {
     unsigned long last_serial = 0;
 
diff --git a/src/cursor-updater.hpp b/src/cursor-updater.hpp
index d5f00af..6dbadac 100644
--- a/src/cursor-updater.hpp
+++ b/src/cursor-updater.hpp
@@ -21,7 +21,7 @@ class CursorUpdater
 public:
     CursorUpdater(StreamPort *stream_port);
 
-    void operator()();
+    [[noreturn]] void operator()();
 
 private:
     StreamPort *stream_port;
diff --git a/src/frame-log.cpp b/src/frame-log.cpp
index 63a8ac0..cc993cd 100644
--- a/src/frame-log.cpp
+++ b/src/frame-log.cpp
@@ -12,6 +12,7 @@
 #include <chrono>
 #include <cstdarg>
 #include <string.h>
+#include <errno.h>
 
 
 namespace spice {
-- 
2.13.5 (Apple Git-94)



More information about the Spice-devel mailing list