llvm-6502/utils/TableGen/ClangDiagnosticsEmitter.h
Ted Kremenek 8b9d027701 Add another Clang TableGen-backend (-gen-clang-diags-options) for emitting
declarations for controlling groups of warnings. Currently this transforms:

  def UnusedMacrosDiags : Option<"unused-macros", [pp_macro_not_used]>;
  
into:

  static const diag::kind UnusedMacrosDiags[] = { diag::pp_macro_not_used };



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67239 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18 21:16:16 +00:00

47 lines
1.2 KiB
C++

//===- ClangDiagnosticsEmitter.h - Generate Clang diagnostics tables -*- C++ -*-
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// These tablegen backends emit Clang diagnostics tables.
//
//===----------------------------------------------------------------------===//
#ifndef CLANGDIAGS_EMITTER_H
#define CLANGDIAGS_EMITTER_H
#include "TableGenBackend.h"
namespace llvm {
/// ClangDiagsDefsEmitter - The top-level class emits .def files containing
/// declarations of Clang diagnostics.
///
class ClangDiagsDefsEmitter : public TableGenBackend {
RecordKeeper &Records;
const std::string& Component;
public:
explicit ClangDiagsDefsEmitter(RecordKeeper &R, const std::string& component)
: Records(R), Component(component) {}
// run - Output the .def file contents
void run(std::ostream &OS);
};
class ClangOptionsEmitter : public TableGenBackend {
RecordKeeper &Records;
public:
explicit ClangOptionsEmitter(RecordKeeper &R) : Records(R) {}
void run(std::ostream &OS);
};
} // End llvm namespace
#endif