Prazek added a comment. Thanks for the patch! I think some unit test should be added.
Do you also handle cases like unsigned long long unsigned volatile long const long static etc. The problem here is that the whole type like "unsigned long long" could be in other tokens. I talked with Richard Smith while ago and one of the solutions proposed was to have "isValid()" for source range returning false for cases like this unsigned const long ================ Comment at: include/clang/AST/TypeLoc.h:529 + void setBuiltinLocStart(SourceLocation Loc) { + if (getLocalData()->BuiltinRange.getEnd().isValid()) { + getLocalData()->BuiltinRange.setBegin(Loc); ---------------- Can you add a comment here? It might be because I don't know the AST API, but it is not clear for me what does it do. ================ Comment at: lib/Sema/DeclSpec.cpp:621 TypeSpecWidth = W; + // Remember location of the last 'long' + TSTLoc = Loc; ---------------- What about cases like unsigned int unsigned long This is not only about long. https://reviews.llvm.org/D25363 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits