Lines Matching refs:clang

23 #include "clang/AST/ASTContext.h"
25 #include "clang/Basic/TokenKinds.h"
27 #include "clang/Lex/LiteralSupport.h"
28 #include "clang/Lex/Preprocessor.h"
29 #include "clang/Lex/Token.h"
51 void HandlePragma(clang::Preprocessor &PP,
52 clang::PragmaIntroducerKind Introducer,
53 clang::Token &FirstToken) {
63 void HandlePragma(clang::Preprocessor &PP,
64 clang::PragmaIntroducerKind Introducer,
65 clang::Token &FirstToken) {
88 clang::Token &PragmaToken = FirstToken;
94 // Now, the current token must be clang::tok::lpara
95 if (PragmaToken.isNot(clang::tok::l_paren))
98 while (PragmaToken.isNot(clang::tok::eod)) {
108 if (PragmaToken.is(clang::tok::eod) || PragmaToken.is(clang::tok::eof)) {
112 const clang::Token &NextTok = PP.LookAhead(0);
113 if (NextTok.is(clang::tok::r_paren)) {
116 // Lex until meets clang::tok::eod
119 } while (PragmaToken.isNot(clang::tok::eod));
132 void HandlePragma(clang::Preprocessor &PP,
133 clang::PragmaIntroducerKind Introducer,
134 clang::Token &FirstToken) override {
142 const clang::SourceLocation PragmaLocation = FirstToken.getLocation();
144 clang::Token &PragmaToken = FirstToken;
160 while (PragmaToken.is(clang::tok::identifier)) {
166 if (PragmaToken.isNot(clang::tok::eod)) {
169 clang::DiagnosticsEngine::Error,
178 clang::DiagnosticsEngine::Error,
193 clang::DiagnosticsEngine::Error,
206 clang::DiagnosticsEngine::Error,
232 void MarkUsed(clang::Preprocessor &PP, const std::string &FunctionName) {
236 clang::ASTContext &ASTC = mContext->getASTContext();
237 clang::TranslationUnitDecl *TUDecl = ASTC.getTranslationUnitDecl();
239 if (const clang::IdentifierInfo *II = PP.getIdentifierInfo(FunctionName)) {
241 clang::FunctionDecl *FDecl = Decl->getAsFunction();
272 bool ProcessKeywordAndValue(clang::Preprocessor &PP,
273 clang::Token &PragmaToken,
277 if (PragmaToken.isNot(clang::tok::identifier) ||
285 clang::DiagnosticsEngine::Error,
296 clang::DiagnosticsEngine::Error,
303 // The current token must be clang::tok::l_paren
304 if (PragmaToken.isNot(clang::tok::l_paren)) {
307 clang::DiagnosticsEngine::Error,
315 if (PragmaToken.isNot(clang::tok::identifier)) {
318 clang::DiagnosticsEngine::Error,
326 // The current token must be clang::tok::r_paren
327 if (PragmaToken.isNot(clang::tok::r_paren)) {
330 clang::DiagnosticsEngine::Error,
354 void HandlePragma(clang::Preprocessor &PP,
355 clang::PragmaIntroducerKind Introducer,
356 clang::Token &FirstToken) {
363 void handleInt(clang::Preprocessor &PP,
364 clang::Token &Tok,
369 clang::DiagnosticsEngine::Error,
384 void HandlePragma(clang::Preprocessor &PP,
385 clang::PragmaIntroducerKind Introducer,
386 clang::Token &FirstToken) {
399 void HandlePragma(clang::Preprocessor &PP,
400 clang::PragmaIntroducerKind Introducer,
401 clang::Token &Token) {
406 clang::DiagnosticsEngine::Warning,
417 clang::DiagnosticsEngine::Error,
433 void RSPragmaHandler::handleItemListPragma(clang::Preprocessor &PP,
434 clang::Token &FirstToken) {
435 clang::Token &PragmaToken = FirstToken;
440 // Now, the current token must be clang::tok::lpara
441 if (PragmaToken.isNot(clang::tok::l_paren))
444 while (PragmaToken.isNot(clang::tok::eod)) {
447 if (PragmaToken.is(clang::tok::identifier))
452 slangAssert(PragmaToken.isNot(clang::tok::eod));
456 if (PragmaToken.isNot(clang::tok::comma))
461 void RSPragmaHandler::handleNonParamPragma(clang::Preprocessor &PP,
462 clang::Token &FirstToken) {
463 clang::Token &PragmaToken = FirstToken;
469 if (PragmaToken.isNot(clang::tok::eod))
470 if (PragmaToken.isNot(clang::tok::r_paren)) {
473 clang::DiagnosticsEngine::Error,
480 clang::Preprocessor &PP, clang::Token &FirstToken) {
481 clang::Token &PragmaToken = FirstToken;
486 // Now, the current token must be clang::tok::lpara
487 if (PragmaToken.isNot(clang::tok::l_paren))
492 if (PragmaToken.isNot(clang::tok::r_paren)) {
494 clang::StringLiteralParser StringLiteral(PragmaToken, PP);
502 // The current token should be clang::tok::r_para
504 if (PragmaToken.isNot(clang::tok::r_paren)) {
507 clang::DiagnosticsEngine::Error,
518 clang::Preprocessor &PP, clang::Token &FirstToken) {
519 clang::Token &PragmaToken = FirstToken;
524 // Now, the current token must be clang::tok::lpara
525 if (PragmaToken.isNot(clang::tok::l_paren)) {
532 if (PragmaToken.is(clang::tok::numeric_constant)) {
536 clang::NumericLiteralParser NumericLiteral(TokSpelling,
552 if (PragmaToken.isNot(clang::tok::r_paren)) {
555 clang::DiagnosticsEngine::Error,
562 } while (PragmaToken.isNot(clang::tok::eod));
565 void AddPragmaHandlers(clang::Preprocessor &PP, RSContext *RsContext) {