Wrap C APIs with pragmas enforcing -Werror=strict-prototypes
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 14 Nov 2019 21:57:57 +0000 (13:57 -0800)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 19 Nov 2019 21:18:43 +0000 (13:18 -0800)
commit8c48405069085a2c8b6b80816eda99e5dad31fc1
treeaf6a315cb0f8eecea89547b692c07964b0238ba1
parent3a8104a9ea3d88fb4d0ef17185e420c814757bfd
Wrap C APIs with pragmas enforcing -Werror=strict-prototypes

Force `-Werror=strict-prototypes` so that C API tests fail to compile if
we add a non-prototype declaration.  This should help avoid regressions
like bddecba4b333f7772029b4937d2c34f9f2fda6ca was fixing.

https://reviews.llvm.org/D70285
rdar://problem/57203137
40 files changed:
clang/include/clang-c/BuildSystem.h
clang/include/clang-c/CXCompilationDatabase.h
clang/include/clang-c/CXErrorCode.h
clang/include/clang-c/CXString.h
clang/include/clang-c/Documentation.h
clang/include/clang-c/ExternC.h [new file with mode: 0644]
clang/include/clang-c/FatalErrorHandler.h
clang/include/clang-c/Index.h
clang/include/clang-c/Platform.h
llvm/include/llvm-c/Analysis.h
llvm/include/llvm-c/BitReader.h
llvm/include/llvm-c/BitWriter.h
llvm/include/llvm-c/Comdat.h
llvm/include/llvm-c/Core.h
llvm/include/llvm-c/DebugInfo.h
llvm/include/llvm-c/Disassembler.h
llvm/include/llvm-c/Error.h
llvm/include/llvm-c/ErrorHandling.h
llvm/include/llvm-c/ExecutionEngine.h
llvm/include/llvm-c/ExternC.h [new file with mode: 0644]
llvm/include/llvm-c/IRReader.h
llvm/include/llvm-c/Initialization.h
llvm/include/llvm-c/LinkTimeOptimizer.h
llvm/include/llvm-c/Linker.h
llvm/include/llvm-c/Object.h
llvm/include/llvm-c/OrcBindings.h
llvm/include/llvm-c/Remarks.h
llvm/include/llvm-c/Support.h
llvm/include/llvm-c/Target.h
llvm/include/llvm-c/TargetMachine.h
llvm/include/llvm-c/Transforms/AggressiveInstCombine.h
llvm/include/llvm-c/Transforms/Coroutines.h
llvm/include/llvm-c/Transforms/IPO.h
llvm/include/llvm-c/Transforms/InstCombine.h
llvm/include/llvm-c/Transforms/PassManagerBuilder.h
llvm/include/llvm-c/Transforms/Scalar.h
llvm/include/llvm-c/Transforms/Utils.h
llvm/include/llvm-c/Transforms/Vectorize.h
llvm/include/llvm-c/Types.h
llvm/include/llvm-c/lto.h