diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2017-08-25 10:00:08 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-08-25 10:06:00 +0200 |
commit | a9846ccc0d559af3db6dba07f2183219c846b617 (patch) | |
tree | 90522feecd55e4f24fc11c2db19a7189e2bfd7de /ConfigureChecks.cmake | |
parent | 7204d2f48556210e3e6894aebb20db24819a3e86 (diff) | |
download | libssh-a9846ccc0d559af3db6dba07f2183219c846b617.tar.gz libssh-a9846ccc0d559af3db6dba07f2183219c846b617.tar.xz libssh-a9846ccc0d559af3db6dba07f2183219c846b617.zip |
cmake: Add check for fallthrough attribute
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r-- | ConfigureChecks.cmake | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index f5645807..3e497dcb 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -243,6 +243,33 @@ int main(void) { }" HAVE_MSC_THREAD_LOCAL_STORAGE) check_c_source_compiles(" +#define FALL_THROUGH __attribute__((fallthrough)) + +enum direction_e { + UP = 0, + DOWN, +}; + +int main(void) { + enum direction_e key = UP; + int i = 10; + int j = 0; + + switch (key) { + case UP: + i = 5; + FALL_THROUGH; + case DOWN: + j = i * 2; + break; + default: + break; + } + + return 0; +}" HAVE_FALLTHROUGH_ATTRIBUTE) + +check_c_source_compiles(" #include <string.h> int main(void) |