#ifndef LLVM_TABLEGEN_DIRECTIVEEMITTER_H #define LLVM_TABLEGEN_DIRECTIVEEMITTER_H #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/TableGen/Record.h" #include <algorithm> #include <string> #include <vector> namespace llvm { // Wrapper class that contains DirectiveLanguage's information defined in // DirectiveBase.td and provides helper methods for accessing it. class DirectiveLanguage { … }; // Base record class used for Directive and Clause class defined in // DirectiveBase.td. class BaseRecord { … }; // Wrapper class that contains a Directive's information defined in // DirectiveBase.td and provides helper methods for accessing it. class Directive : public BaseRecord { … }; // Wrapper class that contains Clause's information defined in DirectiveBase.td // and provides helper methods for accessing it. class Clause : public BaseRecord { … }; // Wrapper class that contains VersionedClause's information defined in // DirectiveBase.td and provides helper methods for accessing it. class VersionedClause { … }; class ClauseVal : public BaseRecord { … }; } // namespace llvm #endif