]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Fix clang's variadic macro warnings
authorJohannes Lorenz <j.git@lorenz-ho.me>
Fri, 18 Oct 2019 03:17:23 +0000 (05:17 +0200)
committerJohannes Lorenz <j.git@lorenz-ho.me>
Fri, 18 Oct 2019 03:25:05 +0000 (05:25 +0200)
Using variadic macros like `qCWarning()` without any parameter for "..."
is a GNU extension, which causes a lot of `clang` warnings:

```
desktop/src/common/ownsql.cpp:74:24: warning: must specify at least one
 argument for '...' parameter of variadic macro
 [-Wgnu-zero-variadic-macro-arguments]
        qCWarning(lcSql) << "Error:" << _error << "for" << filename;
                       ^
/usr/include/qt/QtCore/qloggingcategory.h:140:11: note: macro 'qCWarning'
 defined here
          ^
```

This patch tells `clang` to be silent.

Signed-off-by: Johannes Lorenz <j.git@lorenz-ho.me>
src/CMakeLists.txt

index 68952605a76a2c045e1c224042c2ab598cbe7e45..37cfd73250e89eaae766c94ef13a36d626e03bd0 100644 (file)
@@ -31,6 +31,11 @@ if(NOT MSVC)
   endif()
 endif()
 
+# Calling Qt's qCWarning(category, ...) with no params for "..." is a GNU
+# extension (C++11 ยง16.3/4 forbids them). Silence clang's warnings.
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-gnu-zero-variadic-macro-arguments")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments")
+
 if(WIN32)
   # Enable DEP & ASLR
   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /nxcompat /dynamicbase")