Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL)
-
None
-
Arch Linux, gcc8
Description
The CMake code of the tokudb build files sets and checks the following cflags:
set_cflags_if_supported(
|
-Wextra
|
-Wbad-function-cast
|
-Wno-missing-noreturn
|
-Wstrict-prototypes
|
-Wmissing-prototypes
|
-Wmissing-declarations
|
-Wpointer-arith
|
#-Wshadow will fail with GCC-8
|
${OPTIONAL_CFLAGS}
|
## other flags to try:
|
#-Wunsafe-loop-optimizations
|
#-Wpointer-arith
|
#-Wc++-compat
|
#-Wc++11-compat
|
#-Wwrite-strings
|
#-Wzero-as-null-pointer-constant
|
#-Wlogical-op
|
#-Wvector-optimization-performance
|
)
|
Of those, the following produce a warning with gcc8 with cause CMake to abort the compilation. Therefore they have to be removed. This pertains all versions. It probably does not trigger with old CMake versions or older gcc versions that do not print those warnings.
-Wbad-function-cast
|
-Wstrict-prototypes
|
-Wmissing-prototypes
|
Warnings:
|
cc1plus: warning: command line option '-Wbad-function-cast' is valid for C/ObjC but not for C++
|
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
|
cc1plus: warning: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++
|
Attachments
Issue Links
- duplicates
-
MDEV-18273 CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:178
- Closed
- relates to
-
MDEV-19690 Use different macros for C and C++ compiler flag setting to make sure incompatible flags aren't mixed
- Closed
- links to