Skip to content

Commit a40a2dd

Browse files
committed
happy linter
1 parent 5e1ff58 commit a40a2dd

1 file changed

Lines changed: 46 additions & 77 deletions

File tree

include/third_party/incbin.h

Lines changed: 46 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,9 @@
144144
#include "TargetConditionals.h"
145145
#if defined(TARGET_OS_IPHONE) && !defined(INCBIN_SILENCE_BITCODE_WARNING)
146146
#warning
147-
"incbin is incompatible with bitcode. Using the library will break upload to App Store if you have bitcode enabled. Add `#define INCBIN_SILENCE_BITCODE_WARNING` before including this header to silence this warning."
147+
"incbin is incompatible with bitcode. Using the library will break upload to App Store if you have "
148+
"bitcode enabled. Add `#define INCBIN_SILENCE_BITCODE_WARNING` before including this header to "
149+
"silence this warning."
148150
#endif
149151
/* The directives are different for Apple branded compilers */
150152
#define INCBIN_SECTION INCBIN_OUTPUT_SECTION "\n"
@@ -236,35 +238,19 @@
236238
#define INCBIN_STYLE_1_SIZE _size
237239

238240
/* Style lookup: returning identifier */
239-
#define INCBIN_STYLE_IDENT(TYPE) \
240-
INCBIN_CONCATENATE( \
241-
INCBIN_STYLE_, \
242-
INCBIN_CONCATENATE( \
243-
INCBIN_EVAL(INCBIN_STYLE), \
244-
INCBIN_CONCATENATE(_, TYPE)))
241+
#define INCBIN_STYLE_IDENT(TYPE) \
242+
INCBIN_CONCATENATE(INCBIN_STYLE_, \
243+
INCBIN_CONCATENATE(INCBIN_EVAL(INCBIN_STYLE), INCBIN_CONCATENATE(_, TYPE)))
245244

246245
/* Style lookup: returning string literal */
247-
#define INCBIN_STYLE_STRING(TYPE) \
248-
INCBIN_STRINGIZE( \
249-
INCBIN_STYLE_IDENT(TYPE)) \
246+
#define INCBIN_STYLE_STRING(TYPE) INCBIN_STRINGIZE(INCBIN_STYLE_IDENT(TYPE))
250247

251248
/* Generate the global labels by indirectly invoking the macro with our style
252249
* type and concatenating the name against them. */
253-
#define INCBIN_GLOBAL_LABELS(NAME, TYPE) \
254-
INCBIN_INVOKE( \
255-
INCBIN_GLOBAL, \
256-
INCBIN_CONCATENATE( \
257-
NAME, \
258-
INCBIN_INVOKE( \
259-
INCBIN_STYLE_IDENT, \
260-
TYPE))) \
261-
INCBIN_INVOKE( \
262-
INCBIN_TYPE, \
263-
INCBIN_CONCATENATE( \
264-
NAME, \
265-
INCBIN_INVOKE( \
266-
INCBIN_STYLE_IDENT, \
267-
TYPE)))
250+
#define INCBIN_GLOBAL_LABELS(NAME, TYPE) \
251+
INCBIN_INVOKE(INCBIN_GLOBAL, \
252+
INCBIN_CONCATENATE(NAME, INCBIN_INVOKE(INCBIN_STYLE_IDENT, TYPE))) \
253+
INCBIN_INVOKE(INCBIN_TYPE, INCBIN_CONCATENATE(NAME, INCBIN_INVOKE(INCBIN_STYLE_IDENT, TYPE)))
268254

269255
/**
270256
* @brief Externally reference binary data included in another translation unit.
@@ -286,34 +272,27 @@
286272
* // extern const unsigned char *const <prefix>Foo<end>;
287273
* // extern const unsigned int <prefix>Foo<size>;
288274
* @endcode
289-
*
275+
*
290276
* You may specify a custom optional data type as well as the first argument.
291277
* @code
292278
* INCBIN_EXTERN(custom_type, Foo);
293-
*
279+
*
294280
* // Now you have the following symbols:
295281
* // extern const custom_type <prefix>Foo<data>[];
296282
* // extern const custom_type *const <prefix>Foo<end>;
297283
* // extern const unsigned int <prefix>Foo<size>;
298284
* @endcode
299285
*/
300-
#define INCBIN_EXTERN(...) \
286+
#define INCBIN_EXTERN(...) \
301287
INCBIN_CONCATENATE(INCBIN_EXTERN_, INCBIN_VA_ARGC(__VA_ARGS__))(__VA_ARGS__)
302-
#define INCBIN_EXTERN_1(NAME, ...) \
303-
INCBIN_EXTERN_2(unsigned char, NAME)
304-
#define INCBIN_EXTERN_2(TYPE, NAME) \
305-
INCBIN_EXTERNAL const INCBIN_ALIGN TYPE \
306-
INCBIN_CONCATENATE( \
307-
INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), \
308-
INCBIN_STYLE_IDENT(DATA))[]; \
309-
INCBIN_EXTERNAL const INCBIN_ALIGN TYPE *const \
310-
INCBIN_CONCATENATE( \
311-
INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), \
312-
INCBIN_STYLE_IDENT(END)); \
313-
INCBIN_EXTERNAL const unsigned int \
314-
INCBIN_CONCATENATE( \
315-
INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), \
316-
INCBIN_STYLE_IDENT(SIZE))
288+
#define INCBIN_EXTERN_1(NAME, ...) INCBIN_EXTERN_2(unsigned char, NAME)
289+
#define INCBIN_EXTERN_2(TYPE, NAME) \
290+
INCBIN_EXTERNAL const INCBIN_ALIGN TYPE INCBIN_CONCATENATE( \
291+
INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), INCBIN_STYLE_IDENT(DATA))[]; \
292+
INCBIN_EXTERNAL const INCBIN_ALIGN TYPE *const INCBIN_CONCATENATE( \
293+
INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), INCBIN_STYLE_IDENT(END)); \
294+
INCBIN_EXTERNAL const unsigned int INCBIN_CONCATENATE(INCBIN_CONCATENATE(INCBIN_PREFIX, NAME), \
295+
INCBIN_STYLE_IDENT(SIZE))
317296

318297
/**
319298
* @brief Externally reference textual data included in another translation unit.
@@ -335,8 +314,7 @@
335314
* // extern const unsigned int <prefix>Foo<size>;
336315
* @endcode
337316
*/
338-
#define INCTXT_EXTERN(NAME) \
339-
INCBIN_EXTERN_2(char, NAME)
317+
#define INCTXT_EXTERN(NAME) INCBIN_EXTERN_2(char, NAME)
340318

341319
/**
342320
* @brief Include a binary file into the current translation unit.
@@ -359,7 +337,7 @@
359337
* // const unsigned char *const <prefix>Icon<end>;
360338
* // const unsigned int <prefix>Icon<size>;
361339
* @endcode
362-
*
340+
*
363341
* You may specify a custom optional data type as well as the first argument.
364342
* These macros are specialized by arity.
365343
* @code
@@ -378,46 +356,39 @@
378356
* please @see INCBIN_EXTERN.
379357
*/
380358
#ifdef _WIN32
381-
#define INCBIN(NAME, FILENAME) \
382-
INCBIN_EXTERN(NAME)
359+
#define INCBIN(NAME, FILENAME) INCBIN_EXTERN(NAME)
383360
#else
384-
#define INCBIN(...) \
385-
INCBIN_CONCATENATE(INCBIN_, INCBIN_VA_ARGC(__VA_ARGS__))(__VA_ARGS__)
361+
#define INCBIN(...) INCBIN_CONCATENATE(INCBIN_, INCBIN_VA_ARGC(__VA_ARGS__))(__VA_ARGS__)
386362
#if defined(__GNUC__)
387363
#define INCBIN_1(...) _Pragma("GCC error \"Single argument INCBIN not allowed\"")
388364
#elif defined(__clang__)
389365
#define INCBIN_1(...) _Pragma("clang error \"Single argument INCBIN not allowed\"")
390366
#else
391367
#define INCBIN_1(...) /* Cannot do anything here */
392368
#endif
393-
#define INCBIN_2(NAME, FILENAME) \
394-
INCBIN_3(unsigned char, NAME, FILENAME)
395-
#define INCBIN_3(TYPE, NAME, FILENAME) INCBIN_COMMON(TYPE, NAME, FILENAME, /* No terminator for binary data */)
396-
#define INCBIN_COMMON(TYPE, NAME, FILENAME, TERMINATOR) \
397-
__asm__(INCBIN_SECTION \
398-
INCBIN_GLOBAL_LABELS(NAME, DATA) \
399-
INCBIN_ALIGN_HOST \
400-
INCBIN_MANGLE INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(DATA) ":\n" \
401-
INCBIN_MACRO " \"" FILENAME "\"\n" \
402-
TERMINATOR \
403-
INCBIN_GLOBAL_LABELS(NAME, END) \
404-
INCBIN_ALIGN_BYTE \
405-
INCBIN_MANGLE INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(END) ":\n" \
406-
INCBIN_BYTE "1\n" \
407-
INCBIN_GLOBAL_LABELS(NAME, SIZE) \
408-
INCBIN_ALIGN_HOST \
409-
INCBIN_MANGLE INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(SIZE) ":\n" \
410-
INCBIN_INT INCBIN_MANGLE INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(END) " - " \
411-
INCBIN_MANGLE INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(DATA) "\n" \
412-
INCBIN_ALIGN_HOST \
413-
".text\n" \
414-
); \
369+
#define INCBIN_2(NAME, FILENAME) INCBIN_3(unsigned char, NAME, FILENAME)
370+
#define INCBIN_3(TYPE, NAME, FILENAME) \
371+
INCBIN_COMMON(TYPE, NAME, FILENAME, /* No terminator for binary data */)
372+
#define INCBIN_COMMON(TYPE, NAME, FILENAME, TERMINATOR) \
373+
__asm__( \
374+
INCBIN_SECTION INCBIN_GLOBAL_LABELS(NAME, DATA) INCBIN_ALIGN_HOST INCBIN_MANGLE \
375+
INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING( \
376+
DATA) ":\n" INCBIN_MACRO " \"" FILENAME "\"\n" TERMINATOR \
377+
INCBIN_GLOBAL_LABELS(NAME, END) INCBIN_ALIGN_BYTE INCBIN_MANGLE \
378+
INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING( \
379+
END) ":\n" INCBIN_BYTE "1\n" INCBIN_GLOBAL_LABELS(NAME, SIZE) \
380+
INCBIN_ALIGN_HOST INCBIN_MANGLE INCBIN_STRINGIZE( \
381+
INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(SIZE) ":\n" INCBIN_INT \
382+
INCBIN_MANGLE INCBIN_STRINGIZE( \
383+
INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING(END) " - " INCBIN_MANGLE \
384+
INCBIN_STRINGIZE(INCBIN_PREFIX) #NAME INCBIN_STYLE_STRING( \
385+
DATA) "\n" INCBIN_ALIGN_HOST ".text\n"); \
415386
INCBIN_EXTERN(TYPE, NAME)
416387
#endif
417388

418389
/**
419390
* @brief Include a textual file into the current translation unit.
420-
*
391+
*
421392
* This behaves the same as INCBIN except it produces char compatible arrays
422393
* and implicitly adds a null-terminator byte, thus the size of data included
423394
* by this is one byte larger than that of INCBIN.
@@ -447,11 +418,9 @@
447418
* please @see INCBIN_EXTERN.
448419
*/
449420
#if defined(_WIN32)
450-
#define INCTXT(NAME, FILENAME) \
451-
INCBIN_EXTERN(NAME)
421+
#define INCTXT(NAME, FILENAME) INCBIN_EXTERN(NAME)
452422
#else
453-
#define INCTXT(NAME, FILENAME) \
454-
INCBIN_COMMON(char, NAME, FILENAME, INCBIN_BYTE "0\n")
423+
#define INCTXT(NAME, FILENAME) INCBIN_COMMON(char, NAME, FILENAME, INCBIN_BYTE "0\n")
455424
#endif
456425

457426
#endif

0 commit comments

Comments
 (0)