Lines Matching refs:Clang
56 #include <clang/AST/ASTContext.h>
57 #include <clang/AST/ASTConsumer.h>
58 #include <clang/Basic/Builtins.h>
59 #include <clang/Basic/FileSystemOptions.h>
60 #include <clang/Basic/FileManager.h>
61 #include <clang/Basic/TargetOptions.h>
62 #include <clang/Basic/TargetInfo.h>
63 #include <clang/Basic/Version.h>
64 #include <clang/Driver/Compilation.h>
65 #include <clang/Driver/Driver.h>
66 #include <clang/Driver/Tool.h>
67 #include <clang/Frontend/CompilerInstance.h>
68 #include <clang/Frontend/CompilerInvocation.h>
70 #include <clang/Basic/DiagnosticOptions.h>
72 #include <clang/Frontend/DiagnosticOptions.h>
74 #include <clang/Frontend/TextDiagnosticPrinter.h>
75 #include <clang/Frontend/Utils.h>
76 #include <clang/Lex/HeaderSearch.h>
78 #include <clang/Lex/PreprocessorOptions.h>
80 #include <clang/Frontend/PreprocessorOptions.h>
82 #include <clang/Lex/Preprocessor.h>
83 #include <clang/Parse/ParseAST.h>
84 #include <clang/Sema/Sema.h>
94 using namespace clang;
95 using namespace clang::driver;
116 CLANG_PREFIX "/lib/clang/" CLANG_VERSION_STRING;
208 namespace clang { namespace driver { class Job; } }
210 /* Clang changed its API from 3.5 to 3.6 and once more in 3.7.
273 const char *binary = CLANG_PREFIX"/bin/clang";
283 if (strcmp(cmd->getCreator().getName(), "clang"))
323 static TargetInfo *create_target_info(CompilerInstance *Clang,
326 shared_ptr<TargetOptions> TO = Clang->getInvocation().TargetOpts;
333 static TargetInfo *create_target_info(CompilerInstance *Clang,
336 TargetOptions &TO = Clang->getTargetOpts();
343 static TargetInfo *create_target_info(CompilerInstance *Clang,
346 TargetOptions &TO = Clang->getTargetOpts();
355 static void create_diagnostics(CompilerInstance *Clang)
357 Clang->createDiagnostics(0, NULL, construct_printer());
362 static void create_diagnostics(CompilerInstance *Clang)
364 Clang->createDiagnostics(construct_printer());
371 static void create_preprocessor(CompilerInstance *Clang)
373 Clang->createPreprocessor(TU_Complete);
378 static void create_preprocessor(CompilerInstance *Clang)
380 Clang->createPreprocessor();
430 static void set_lang_defaults(CompilerInstance *Clang)
432 PreprocessorOptions &PO = Clang->getPreprocessorOpts();
433 TargetOptions &TO = Clang->getTargetOpts();
435 SETLANGDEFAULTS::setLangDefaults(Clang->getLangOpts(), IK_C, T,
442 static void set_lang_defaults(CompilerInstance *Clang)
444 CompilerInvocation::setLangDefaults(Clang->getLangOpts(), IK_C,
452 static void set_invocation(CompilerInstance *Clang,
455 Clang->setInvocation(std::make_shared<CompilerInvocation>(*invocation));
460 static void set_invocation(CompilerInstance *Clang,
463 Clang->setInvocation(invocation);
501 static const FileEntry *getFile(CompilerInstance *Clang, std::string Filename)
503 return ignore_error(Clang->getFileManager().getFile(Filename));
542 CompilerInstance *Clang = new CompilerInstance();
543 create_diagnostics(Clang);
544 DiagnosticsEngine &Diags = Clang->getDiagnostics();
546 TargetInfo *target = create_target_info(Clang, Diags);
547 Clang->setTarget(target);
548 set_lang_defaults(Clang);
552 set_invocation(Clang, invocation);
553 Clang->createFileManager();
554 Clang->createSourceManager(Clang->getFileManager());
555 HeaderSearchOptions &HSO = Clang->getHeaderSearchOpts();
556 LangOptions &LO = Clang->getLangOpts();
557 PreprocessorOptions &PO = Clang->getPreprocessorOpts();
573 create_preprocessor(Clang);
574 Preprocessor &PP = Clang->getPreprocessor();
578 const FileEntry *file = getFile(Clang, InputFilename);
580 create_main_file_id(Clang->getSourceManager(), file);
582 Clang->createASTContext();
584 Sema *sema = new Sema(PP, Clang->getASTContext(), consumer);
590 generate(consumer, Clang->getSourceManager());
593 delete Clang;