diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Parse/ParsePragma.h')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Parse/ParsePragma.h | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h b/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h index 0feaa99..bee6af3 100644 --- a/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h +++ b/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h @@ -25,7 +25,8 @@ class PragmaAlignHandler : public PragmaHandler { public: explicit PragmaAlignHandler(Sema &A) : PragmaHandler("align"), Actions(A) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; class PragmaGCCVisibilityHandler : public PragmaHandler { @@ -34,7 +35,8 @@ public: explicit PragmaGCCVisibilityHandler(Sema &A) : PragmaHandler("visibility"), Actions(A) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; class PragmaOptionsHandler : public PragmaHandler { @@ -43,7 +45,8 @@ public: explicit PragmaOptionsHandler(Sema &A) : PragmaHandler("options"), Actions(A) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; class PragmaPackHandler : public PragmaHandler { @@ -52,7 +55,8 @@ public: explicit PragmaPackHandler(Sema &A) : PragmaHandler("pack"), Actions(A) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; class PragmaUnusedHandler : public PragmaHandler { @@ -62,7 +66,8 @@ public: PragmaUnusedHandler(Sema &A, Parser& p) : PragmaHandler("unused"), Actions(A), parser(p) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; class PragmaWeakHandler : public PragmaHandler { @@ -71,9 +76,32 @@ public: explicit PragmaWeakHandler(Sema &A) : PragmaHandler("weak"), Actions(A) {} - virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); }; +class PragmaOpenCLExtensionHandler : public PragmaHandler { + Sema &Actions; + Parser &parser; +public: + PragmaOpenCLExtensionHandler(Sema &S, Parser& p) : + PragmaHandler("EXTENSION"), Actions(S), parser(p) {} + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); +}; + + +class PragmaFPContractHandler : public PragmaHandler { + Sema &Actions; + Parser &parser; +public: + PragmaFPContractHandler(Sema &S, Parser& p) : + PragmaHandler("FP_CONTRACT"), Actions(S), parser(p) {} + virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, + Token &FirstToken); +}; + + } // end namespace clang #endif |