void Slang::createDiagnostic() { mDiagClient = new DiagnosticBuffer(); mDiagIDs = new clang::DiagnosticIDs(); mDiagnostics = new clang::Diagnostic(mDiagIDs, mDiagClient, true); initDiagnostic(); return; }
void Slang::init(const std::string &Triple, const std::string &CPU, const std::vector<std::string> &Features, clang::DiagnosticsEngine *DiagEngine, DiagnosticBuffer *DiagClient) { if (mInitialized) return; mDiagEngine = DiagEngine; mDiagClient = DiagClient; mDiag.reset(new clang::Diagnostic(mDiagEngine)); initDiagnostic(); llvm::install_fatal_error_handler(LLVMErrorHandler, mDiagEngine); createTarget(Triple, CPU, Features); createFileManager(); createSourceManager(); mInitialized = true; }