@@ -114,7 +114,14 @@
check_and_add_compiler_flag(-Wstrict-prototypes StrictPrototypes)
check_and_add_compiler_flag(-Wold-style-definition OldStyleDefinition)
# We are not ready for this
- #add_compile_options(-Wconversion -Wno-sign-conversion -Wsign-compare)
+ #add_compile_options(-Wconversion -Wno-sign-conversion)
+ add_compile_options(-Wextra -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter)
+ # clang doesn't have the different levels but also doesn't include it in -Wextra
+ check_and_add_compiler_flag(-Wimplicit-fallthrough=2 GCCImplicitFallthrough)
+ if (WIN32)
+ # Not sure how to deal with GetProcAddress
+ add_compile_options(-Wno-cast-function-type)
+ endif ()
if (USE_WERROR)
add_compile_options(-Werror)
endif ()
@@ -1398,6 +1398,13 @@
ACL_CHECK_ADD_COMPILE_FLAGS([-Wstrict-prototypes])
ACL_CHECK_ADD_COMPILE_FLAGS([-Wold-style-definition])
ACL_CHECK_ADD_COMPILE_FLAGS([-Wall])
+ACL_CHECK_ADD_COMPILE_FLAGS([-Wextra -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter])
+# clang doesn't have the different levels but also doesn't include it in -Wextra
+ACL_CHECK_ADD_COMPILE_FLAGS([-Wimplicit-fallthrough=2])
+if test "${WIN32}" = "yes"; then
+ # Not sure how to deal with GetProcAddress
+ ACL_CHECK_ADD_COMPILE_FLAGS([-Wno-cast-function-type])
+fi
if test "${enable_pedantic}" = "yes"; then
enable_strict="yes"
@@ -733,7 +733,7 @@
{
return false;
}
-
+ /* Intentional [[fallthrough]]; */
case 2:
/* after the '=', replace non-printable or shell meta with '_' */
if (!isprint(c) || isspace(c) || c == '$' || c == '(' || c == '`')
@@ -84,10 +84,10 @@
#ifdef _WIN32
-const static GUID GUID_DEVCLASS_NET = {
+static const GUID GUID_DEVCLASS_NET = {
0x4d36e972L, 0xe325, 0x11ce, { 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18 }
};
-const static GUID GUID_DEVINTERFACE_NET = {
+static const GUID GUID_DEVINTERFACE_NET = {
0xcac88484, 0x7515, 0x4c03, { 0x82, 0xe6, 0x71, 0xa8, 0x7a, 0xba, 0xc3, 0x61 }
};
@@ -40,11 +40,11 @@
#endif
-const static GUID GUID_DEVCLASS_NET = {
+static const GUID GUID_DEVCLASS_NET = {
0x4d36e972L, 0xe325, 0x11ce, { 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18 }
};
-const static WCHAR szAdapterRegKeyPathTemplate[] =
+static const WCHAR szAdapterRegKeyPathTemplate[] =
L"SYSTEM\\CurrentControlSet\\Control\\Network\\%ls\\%ls\\Connection";
#define ADAPTER_REGKEY_PATH_MAX \
(_countof(L"SYSTEM\\CurrentControlSet\\Control\\Network\\") - 1 + 38 + _countof(L"\\") - 1 \
@@ -164,7 +164,7 @@
init_tas_auth(int key_direction)
{
struct tls_auth_standalone tas = { 0 };
- struct frame frame = { { .headroom = 200, .payload_size = 1400 }, 0 };
+ struct frame frame = { .buf = { .headroom = 200, .payload_size = 1400 }, 0 };
tas.frame = frame;
tas.tls_wrap.mode = TLS_WRAP_AUTH;
@@ -591,7 +591,7 @@
enum first_packet_verdict verdict;
tas.tls_wrap.mode = TLS_WRAP_NONE;
- struct frame frame = { { .headroom = 200, .payload_size = 1400 }, 0 };
+ struct frame frame = { .buf = { .headroom = 200, .payload_size = 1400 }, 0 };
tas.frame = frame;
tas.workbuf = alloc_buf(1600);