gribozavr2 accepted this revision. gribozavr2 marked an inline comment as done. gribozavr2 added inline comments. This revision is now accepted and ready to land.
================ Comment at: clang/unittests/Tooling/Syntax/TreeTest.cpp:1240 + true; + false; +} ---------------- eduucaldas wrote: > gribozavr2 wrote: > > C99 has bool literals, but the program should include stdbool.h. > > > > I feel like it is better to make the predicate something like > > "hasBoolType()" and change the test to include stdbool.h. > [[ https://clang.llvm.org/doxygen/stdbool_8h_source.html | stdbool ]] > consists on macro definitions, mapping booleans to integers. `true` is > preprocessed into 1 and `false` to 0 . > I don't think there is a reasonable way of getting the proper SyntaxTree > from that macro expansion > > Additional problem, we don't have the test infrastructure for includes, AFAIK > ^^ > > Finally, regarding the predicates, I prefer if they relate to languages, > otherwise we might create many predicates that test for exactly the same > thing, e.g. we would have `hasBoolType()` and `hasNullPtr()` that ultimately > do the same thing, test if Language is not C > true is preprocessed into 1 and false to 0 . I see -- yes, that would make a completely different syntax tree. > Finally, regarding the predicates, I prefer if they relate to languages, > otherwise we might create many predicates that test for exactly the same thing Generally, testing for features instead of product versions is considered better, as that leads to more future-proof code (for example, we learned this lesson again in the area of web extensions and standards). In future, Clang can start supporting a language feature in other language modes as an extension (for example, supporting `_Atomic` in C++ is already a thing), or the language standard itself can decide to incorporate the feature (for example, C 2035 could adopt the `nullptr` keyword). It is highly unlikely for complex features like templates, but may reasonably happen for simpler features. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82310/new/ https://reviews.llvm.org/D82310 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits