[cfe-dev] SA Checker language options

Artem Dergachev via cfe-dev cfe-dev at lists.llvm.org
Mon Sep 17 14:04:48 PDT 2018


Yup, querying LangOpts in the registerYourChecker() is the current 
solution. I don't think it's well-thought, but it works and there aren't 
any known problems with it.

You can't do much more than that in this point (eg., query AST for 
presence of STL declarations) because AST is not constructed yet. I'm 
not sure if we want to keep it this way, vs. delay checker registration 
until end of AST construction, but it might turn out to be useful if we 
want to make, say, preprocessor checkers.

On 9/17/18 2:04 AM, Endre Fulop via cfe-dev wrote:
> Hi,
>
> I am maintaining some SA checkers, which are only relevant to specific 
> languages (C++), and crash when called on irrelevant sources (C).
>
> Are there any best practices, or guidelines regarding the language 
> assessment of the current translation unit?
>
> I am aware that GTestChecker uses its register method to check 
> LangOpts to only register in case the current TU is C++. I have also 
> encountered sporadic LangOpts checks inside the checker callback 
> methods. We could also query the build system to map TU-s to language 
> categories, however, inside the clang framework, a more cognizant 
> decision could be made.
>
> I would like to have your suggestions on this matter.
>
> Regards,
> Endre
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180917/465d2098/attachment.html>


More information about the cfe-dev mailing list