Emit TableGen's header comment with C-style comments, so it can be used from C89 code.

Should silence warnings when compiling the X86 disassembler.

llvm-svn: 158723
This commit is contained in:
Benjamin Kramer 2012-06-19 17:04:16 +00:00
parent 7f5d79f864
commit 83aa94711b
1 changed files with 19 additions and 5 deletions

View File

@ -11,13 +11,27 @@
//
//===----------------------------------------------------------------------===//
#include "llvm/ADT/Twine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/TableGenBackend.h"
using namespace llvm;
void llvm::emitSourceFileHeader(StringRef Desc, raw_ostream &OS) {
OS << "//===- TableGen'erated file -------------------------------------*-"
" C++ -*-===//\n//\n// " << Desc << "\n//\n// Automatically generate"
"d file, do not edit!\n//\n//===------------------------------------"
"----------------------------------===//\n\n";
static void printLine(raw_ostream &OS, const Twine &Prefix, char Fill,
StringRef Suffix) {
uint64_t Pos = OS.tell();
OS << Prefix;
for (unsigned i = OS.tell() - Pos, e = 80 - Suffix.size(); i != e; ++i)
OS << Fill;
OS << Suffix << '\n';
}
void llvm::emitSourceFileHeader(StringRef Desc, raw_ostream &OS) {
printLine(OS, "/*===- TableGen'erated file ", '-', "*- C++ -*-===*\\");
printLine(OS, "|*", ' ', "*|");
printLine(OS, "|* " + Desc, ' ', "*|");
printLine(OS, "|*", ' ', "*|");
printLine(OS, "|* Automatically generated file, do not edit!", ' ', "*|");
printLine(OS, "|*", ' ', "*|");
printLine(OS, "\\*===", '-', "===*/");
OS << '\n';
}