Remove replacing -I with -isystem #1130
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Building OLA with a GCC 6 cross-toolchain fails:
The C++ library in GCC 6 now provides its own
<stdlib.h>
header thatwraps the C library header of the same name, so in
<cstdlib>
theheader include
has become
#include_next
is sensitive to the order of directories in thepreprocessor's search path, so if that order is changed with
-isystem
then the compiler can't find the right header:
<cstdlib>
is located in [2] whereas<stdlib.h>
(C library header) isin [1]. In this case, the
#include_next <stdlib.h>
statement in<cstdlib>
, located in [2], is evaluated after the search path [1],so the compiler does not find the right system header.
The problem is that the OLA build system replaces the
-I
in the CFLAGSfrom libprotobuf with
-isystem
to fix some warnings treated as errorsin the libprotobuf header files.
-isystem
should be used to suppress warnings in system headers onlyand the libprotobuf header files are not system files.
The correct fix is to compile with less restrictions and remove
-Werror
for the build.As using
-isystem
is reordering GCCs search path and using-isystem
is really not necessary, remove the faulty replacement of
-I
.Closes: #1125