forked from OSchip/llvm-project
Build LLVM with -Wstrict-prototypes enabled
Clang 5 supports -Wstrict-prototypes. We should use it to catch any C declarations that declare a non-prototype function. rdar://33705313 Differential Revision: https://reviews.llvm.org/D36669 llvm-svn: 312240
This commit is contained in:
parent
56572c6a5e
commit
fbac1ae062
|
@ -92,7 +92,7 @@ static int fd = -1;
|
|||
/*
|
||||
* A list of functions to write out the data.
|
||||
*/
|
||||
typedef void (*writeout_fn)();
|
||||
typedef void (*writeout_fn)(void);
|
||||
|
||||
struct writeout_fn_node {
|
||||
writeout_fn fn;
|
||||
|
@ -105,7 +105,7 @@ static struct writeout_fn_node *writeout_fn_tail = NULL;
|
|||
/*
|
||||
* A list of flush functions that our __gcov_flush() function should call.
|
||||
*/
|
||||
typedef void (*flush_fn)();
|
||||
typedef void (*flush_fn)(void);
|
||||
|
||||
struct flush_fn_node {
|
||||
flush_fn fn;
|
||||
|
|
|
@ -63,8 +63,8 @@ const char *__llvm_profile_begin_names(void);
|
|||
const char *__llvm_profile_end_names(void);
|
||||
uint64_t *__llvm_profile_begin_counters(void);
|
||||
uint64_t *__llvm_profile_end_counters(void);
|
||||
ValueProfNode *__llvm_profile_begin_vnodes();
|
||||
ValueProfNode *__llvm_profile_end_vnodes();
|
||||
ValueProfNode *__llvm_profile_begin_vnodes(void);
|
||||
ValueProfNode *__llvm_profile_end_vnodes(void);
|
||||
|
||||
/*!
|
||||
* \brief Clear profile counters to zero.
|
||||
|
@ -164,7 +164,7 @@ void __llvm_profile_initialize_file(void);
|
|||
* merge mode is turned on for instrumented programs with shared libs).
|
||||
* Side-effect: this API call will invoke malloc with dynamic memory allocation.
|
||||
*/
|
||||
const char *__llvm_profile_get_path_prefix();
|
||||
const char *__llvm_profile_get_path_prefix(void);
|
||||
|
||||
/*! \brief Get the magic token for the file format. */
|
||||
uint64_t __llvm_profile_get_magic(void);
|
||||
|
|
|
@ -86,7 +86,7 @@ COMPILER_RT_WEAK lprofFilename lprofCurFilename = {0, 0, 0, {0}, {0},
|
|||
0, 0, 0, PNS_unknown};
|
||||
|
||||
int getpid(void);
|
||||
static int getCurFilenameLength();
|
||||
static int getCurFilenameLength(void);
|
||||
static const char *getCurFilename(char *FilenameBuf);
|
||||
static unsigned doMerging() { return lprofCurFilename.MergePoolSize; }
|
||||
|
||||
|
|
|
@ -155,27 +155,27 @@ int lprofWriteDataImpl(ProfDataWriter *Writer,
|
|||
void lprofMergeValueProfData(struct ValueProfData *SrcValueProfData,
|
||||
__llvm_profile_data *DstData);
|
||||
|
||||
VPDataReaderType *lprofGetVPDataReader();
|
||||
VPDataReaderType *lprofGetVPDataReader(void);
|
||||
|
||||
/* Internal interface used by test to reset the max number of
|
||||
* tracked values per value site to be \p MaxVals.
|
||||
*/
|
||||
void lprofSetMaxValsPerSite(uint32_t MaxVals);
|
||||
void lprofSetupValueProfiler();
|
||||
void lprofSetupValueProfiler(void);
|
||||
|
||||
/* Return the profile header 'signature' value associated with the current
|
||||
* executable or shared library. The signature value can be used to for
|
||||
* a profile name that is unique to this load module so that it does not
|
||||
* collide with profiles from other binaries. It also allows shared libraries
|
||||
* to dump merged profile data into its own profile file. */
|
||||
uint64_t lprofGetLoadModuleSignature();
|
||||
uint64_t lprofGetLoadModuleSignature(void);
|
||||
|
||||
/*
|
||||
* Return non zero value if the profile data has already been
|
||||
* dumped to the file.
|
||||
*/
|
||||
unsigned lprofProfileDumped();
|
||||
void lprofSetProfileDumped();
|
||||
unsigned lprofProfileDumped(void);
|
||||
void lprofSetProfileDumped(void);
|
||||
|
||||
COMPILER_RT_VISIBILITY extern void (*FreeHook)(void *);
|
||||
COMPILER_RT_VISIBILITY extern uint8_t *DynamicBufferIOBuffer;
|
||||
|
|
|
@ -54,9 +54,9 @@ void *lprofPtrFetchAdd(void **Mem, long ByteIncr);
|
|||
/* Temporarily suspend SIGKILL. Return value of 1 means a restore is needed.
|
||||
* Other return values mean no restore is needed.
|
||||
*/
|
||||
int lprofSuspendSigKill();
|
||||
int lprofSuspendSigKill(void);
|
||||
|
||||
/* Restore previously suspended SIGKILL. */
|
||||
void lprofRestoreSigKill();
|
||||
void lprofRestoreSigKill(void);
|
||||
|
||||
#endif /* PROFILE_INSTRPROFILINGUTIL_H */
|
||||
|
|
|
@ -119,9 +119,9 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern bool logAPIs();
|
||||
extern bool logUnwinding();
|
||||
extern bool logDWARF();
|
||||
extern bool logAPIs(void);
|
||||
extern bool logUnwinding(void);
|
||||
extern bool logDWARF(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -23,7 +23,7 @@ extern "C" {
|
|||
// implemented elsewhere.
|
||||
|
||||
extern struct _Unwind_FunctionContext *
|
||||
__Unwind_SjLj_GetTopOfFunctionStack();
|
||||
__Unwind_SjLj_GetTopOfFunctionStack(void);
|
||||
|
||||
extern void
|
||||
__Unwind_SjLj_SetTopOfFunctionStack(struct _Unwind_FunctionContext *fc);
|
||||
|
|
|
@ -581,6 +581,8 @@ if (LLVM_ENABLE_WARNINGS AND (LLVM_COMPILER_IS_GCC_COMPATIBLE OR CLANG_CL))
|
|||
|
||||
# Enable -Wstring-conversion to catch misuse of string literals.
|
||||
add_flag_if_supported("-Wstring-conversion" STRING_CONVERSION_FLAG)
|
||||
# Enable -Wstrict-prototypes to catch incorrectly declared functions in C.
|
||||
add_flag_if_supported("-Wstrict-prototypes" STRICT_PROTOTYPES_FLAG)
|
||||
endif (LLVM_ENABLE_WARNINGS AND (LLVM_COMPILER_IS_GCC_COMPATIBLE OR CLANG_CL))
|
||||
|
||||
if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT LLVM_ENABLE_WARNINGS)
|
||||
|
|
Loading…
Reference in New Issue