New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
condformats_serialization_generate.py: fix include paths and fail on serious issues #10837
Conversation
…serious issues - The script itself uses libClang for parsing C++ source files, thus we must use include files as seen by Clang. Note, this still points to GNU C++ standard library in GCC package, but there are special headers which are compiler specific, those are picked up from Clang package. - Print severity level names instead numbers. - Fail if there are 'Error' or/and 'Fatal' level diagnotic messages. - Remove obsolete ignore rules. They should not be triggered as long as include paths and arguments passed to libClang are valid. - This should resolve issue where `get_statement` could return `None`, because compiler couldn't do a correct job due to missing/wrong include paths or/and arguments. - Required for Clang 3.7.0. Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
I requested some of this before. I finally bumped into this while testing Clang 3.7.0. We have to make sure that header is compilable with Clang and do not proceed if there are serious issues otherwise this has impact on translation unit. In particular case, Clang was not able to provide SourceRange, because one of SourceLocation was not valid. Because script never checks for |
A new Pull Request was created by @davidlt for CMSSW_7_6_X. condformats_serialization_generate.py: fix include paths and fail on serious issues It involves the following packages: CondFormats/Serialization @ggovi, @cmsbuild can you please review it and eventually sign? Thanks. |
Note, Jenkins testing is running, but it's useless because SCRAM or SCRAM generated Makefile does not check for modifications in |
ping^1 |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar |
+1 |
condformats_serialization_generate.py: fix include paths and fail on serious issues
must use include files as seen by Clang. Note, this still points to GNU
C++ standard library in GCC package, but there are special headers which
are compiler specific, those are picked up from Clang package.
include paths and arguments passed to libClang are valid.
get_statement
could returnNone
,because compiler couldn't do a correct job due to missing/wrong
include paths or/and arguments.
Signed-off-by: David Abdurachmanov David.Abdurachmanov@cern.ch