util/Compiler.h: add gcc_fallthrough

Works around build failures with ccache which may feed processed code
to GCC, which doesn't have the "fall through" code comments.
This commit is contained in:
Max Kellermann 2019-12-23 17:47:01 +01:00
parent fe598e7d30
commit a1afe9afc6
3 changed files with 10 additions and 0 deletions

View File

@ -46,6 +46,7 @@
#include "CrossFade.hxx"
#include "tag/Tag.hxx"
#include "Idle.hxx"
#include "util/Compiler.h"
#include "util/Domain.hxx"
#include "thread/Name.hxx"
#include "Log.hxx"
@ -1171,6 +1172,7 @@ try {
}
/* fall through */
gcc_fallthrough;
case PlayerCommand::PAUSE:
next_song.reset();

View File

@ -143,6 +143,12 @@
#define gcc_flatten
#endif
#if CLANG_OR_GCC_VERSION(7,0)
#define gcc_fallthrough __attribute__((fallthrough))
#else
#define gcc_fallthrough
#endif
#ifndef __cplusplus
/* plain C99 has "restrict" */
#define gcc_restrict restrict

View File

@ -19,6 +19,7 @@
*/
#include "format.h"
#include "util/Compiler.h"
#include <stdbool.h>
#include <stdio.h>
@ -238,6 +239,7 @@ format_object2(const char *format, const char **last, const void *object,
}
/* fall through */
gcc_fallthrough;
default:
/* pass-through non-escaped portions of the format string */