diff options
author | ed <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
commit | f27e5a09a0d815b8a4814152954ff87dadfdefc0 (patch) | |
tree | ce7d964cbb5e39695b71481698f10cb099c23d4a /lib/Parse/ParsePragma.h | |
download | FreeBSD-src-f27e5a09a0d815b8a4814152954ff87dadfdefc0.zip FreeBSD-src-f27e5a09a0d815b8a4814152954ff87dadfdefc0.tar.gz |
Import Clang, at r72732.
Diffstat (limited to 'lib/Parse/ParsePragma.h')
-rw-r--r-- | lib/Parse/ParsePragma.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/Parse/ParsePragma.h b/lib/Parse/ParsePragma.h new file mode 100644 index 0000000..31b2a5f --- /dev/null +++ b/lib/Parse/ParsePragma.h @@ -0,0 +1,44 @@ +//===---- ParserPragmas.h - Language specific pragmas -----------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines #pragma handlers for language specific pragmas. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_PARSE_PARSEPRAGMA_H +#define LLVM_CLANG_PARSE_PARSEPRAGMA_H + +#include "clang/Lex/Pragma.h" + +namespace clang { + class Action; + class Parser; + +class PragmaPackHandler : public PragmaHandler { + Action &Actions; +public: + PragmaPackHandler(const IdentifierInfo *N, Action &A) : PragmaHandler(N), + Actions(A) {} + + virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); +}; + +class PragmaUnusedHandler : public PragmaHandler { + Action &Actions; + Parser &parser; +public: + PragmaUnusedHandler(const IdentifierInfo *N, Action &A, Parser& p) + : PragmaHandler(N), Actions(A), parser(p) {} + + virtual void HandlePragma(Preprocessor &PP, Token &FirstToken); +}; + +} // end namespace clang + +#endif |