blob: 5ce1c879efebbe0dfb33ebfe99cad269f747dcc6 [file] [log] [blame]
Sean Hunt16171442010-06-16 23:45:50 +00001//===- ClangAttrEmitter.h - Generate Clang attribute handling =-*- C++ -*--===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// These tablegen backends emit Clang attribute processing code
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef CLANGATTR_EMITTER_H
15#define CLANGATTR_EMITTER_H
16
17#include "TableGenBackend.h"
18
19namespace llvm {
20
21/// ClangAttrClassEmitter - class emits the class defintions for attributes for
22/// clang.
23class ClangAttrClassEmitter : public TableGenBackend {
24 RecordKeeper &Records;
25
26 public:
27 explicit ClangAttrClassEmitter(RecordKeeper &R)
28 : Records(R)
29 {}
30
31 void run(raw_ostream &OS);
32};
33
34/// ClangAttrListEmitter - class emits the enumeration list for attributes for
35/// clang.
36class ClangAttrListEmitter : public TableGenBackend {
37 RecordKeeper &Records;
38
39 public:
40 explicit ClangAttrListEmitter(RecordKeeper &R)
41 : Records(R)
42 {}
43
44 void run(raw_ostream &OS);
45};
46
47}
48
49#endif