@@ -60,42 +60,31 @@ static const int DOCTEST_ANON_VAR_15771531 = \
6060#define CIFUZZ_C_LINKAGE
6161#endif
6262
63- #ifndef CIFUZZ_TEST_NAME
64- #define CIFUZZ_TEST_NAME NULL
65- #endif
66- #ifndef CIFUZZ_SEED_CORPUS
67- #define CIFUZZ_SEED_CORPUS NULL
68- #endif
69- #ifndef CIFUZZ_GENERATED_CORPUS
70- #define CIFUZZ_GENERATED_CORPUS NULL
71- #endif
63+ static void LLVMFuzzerTestOneInputNoReturn (const uint8_t *data, size_t size);
64+
65+ CIFUZZ_C_LINKAGE int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size) {
66+ LLVMFuzzerTestOneInputNoReturn (data, size);
67+ return 0 ;
68+ }
69+
70+ #define FUZZ_TEST void LLVMFuzzerTestOneInputNoReturn
7271
73- #define FUZZ_TEST \
74- static void LLVMFuzzerTestOneInputNoReturn (const uint8_t *data, size_t size); \
75- CIFUZZ_C_LINKAGE int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size) { \
76- LLVMFuzzerTestOneInputNoReturn (data, size); \
77- return 0 ; \
78- } \
79- CIFUZZ_C_LINKAGE const char *cifuzz_test_name (void ) { \
80- return CIFUZZ_TEST_NAME; \
81- } \
82- CIFUZZ_C_LINKAGE const char *cifuzz_seed_corpus (void ) { \
83- return CIFUZZ_SEED_CORPUS; \
84- } \
85- CIFUZZ_C_LINKAGE const char *cifuzz_generated_corpus (void ) { \
86- return CIFUZZ_GENERATED_CORPUS; \
87- } \
88- CLION_TEST_PLAY_BUTTON \
89- void LLVMFuzzerTestOneInputNoReturn
72+ #ifdef __APPLE__
73+ #define DECLARE_LLVM_FUZZER_INITIALIZE_NO_RETURN \
74+ CIFUZZ_C_LINKAGE void LLVMFuzzerInitializeNoReturn (void )
75+ #else
76+ #define DECLARE_LLVM_FUZZER_INITIALIZE_NO_RETURN \
77+ __attribute__ ((weak)) void LLVMFuzzerInitializeNoReturn(void )
78+ #endif
9079
91- #define FUZZ_TEST_SETUP \
92- static void LLVMFuzzerInitializeNoReturn ( void ); \
93- CIFUZZ_C_LINKAGE int LLVMFuzzerInitialize (int *argc, char ***argv) { \
94- (void ) argc; \
95- (void ) argv; \
96- LLVMFuzzerInitializeNoReturn (); \
97- return 0 ; \
98- } \
99- void LLVMFuzzerInitializeNoReturn
80+ #define FUZZ_TEST_SETUP \
81+ DECLARE_LLVM_FUZZER_INITIALIZE_NO_RETURN; \
82+ CIFUZZ_C_LINKAGE int LLVMFuzzerInitialize (int *argc, char ***argv) { \
83+ (void )argc; \
84+ (void )argv; \
85+ LLVMFuzzerInitializeNoReturn (); \
86+ return 0 ; \
87+ } \
88+ void LLVMFuzzerInitializeNoReturn
10089
101- #endif // CIFUZZ_CIFUZZ_H
90+ #endif // CIFUZZ_CIFUZZ_H
0 commit comments