blob: 9a2fd9d59a164ee4f67a1198527b559f2ef916a7 [file] [log] [blame]
Daniel Dunbar0498cfc2009-11-10 19:51:53 +00001//===-- Options.h - clang-cc Option Handling --------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_CLANGCC_OPTIONS_H
11#define LLVM_CLANGCC_OPTIONS_H
12
Daniel Dunbarfbe2faf2009-11-13 02:06:12 +000013#include "clang/Frontend/FrontendOptions.h"
Daniel Dunbar29a790b2009-11-11 09:38:56 +000014#include "llvm/ADT/StringRef.h"
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000015
16namespace clang {
17
Daniel Dunbar339c1342009-11-11 08:13:55 +000018class AnalyzerOptions;
Chandler Carruth2811ccf2009-11-12 17:24:48 +000019class CodeGenOptions;
Daniel Dunbar0e0bae82009-11-11 21:43:12 +000020class DependencyOutputOptions;
Daniel Dunbar0db4b762009-11-11 08:13:40 +000021class DiagnosticOptions;
Daniel Dunbar26266882009-11-12 23:52:32 +000022class FrontendOptions;
Daniel Dunbarf7973292009-11-11 08:13:32 +000023class HeaderSearchOptions;
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000024class LangOptions;
Daniel Dunbarb52d2432009-11-11 06:10:03 +000025class PreprocessorOptions;
Daniel Dunbar29cf7462009-11-11 10:07:44 +000026class PreprocessorOutputOptions;
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000027class TargetInfo;
Daniel Dunbard58c03f2009-11-15 06:48:46 +000028class TargetOptions;
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000029
Daniel Dunbar339c1342009-11-11 08:13:55 +000030void InitializeAnalyzerOptions(AnalyzerOptions &Opts);
31
Daniel Dunbar6143ea22009-11-16 22:38:14 +000032void InitializeCodeGenOptions(CodeGenOptions &Opts,
33 const LangOptions &Lang,
34 bool TimePasses);
35
Daniel Dunbar0e0bae82009-11-11 21:43:12 +000036void InitializeDependencyOutputOptions(DependencyOutputOptions &Opts);
37
Daniel Dunbar0db4b762009-11-11 08:13:40 +000038void InitializeDiagnosticOptions(DiagnosticOptions &Opts);
39
Daniel Dunbar26266882009-11-12 23:52:32 +000040void InitializeFrontendOptions(FrontendOptions &Opts);
41
Daniel Dunbarf7973292009-11-11 08:13:32 +000042void InitializeHeaderSearchOptions(HeaderSearchOptions &Opts,
Daniel Dunbarc363cb12009-11-16 22:38:40 +000043 llvm::StringRef BuiltinIncludePath);
Daniel Dunbarf7973292009-11-11 08:13:32 +000044
Daniel Dunbarfbe2faf2009-11-13 02:06:12 +000045void InitializeLangOptions(LangOptions &Options,
46 FrontendOptions::InputKind LK,
Daniel Dunbar6143ea22009-11-16 22:38:14 +000047 TargetInfo &Target);
Daniel Dunbar56749082009-11-11 07:26:12 +000048
Daniel Dunbarb52d2432009-11-11 06:10:03 +000049void InitializePreprocessorOptions(PreprocessorOptions &Opts);
50
Daniel Dunbar29cf7462009-11-11 10:07:44 +000051void InitializePreprocessorOutputOptions(PreprocessorOutputOptions &Opts);
52
Daniel Dunbard58c03f2009-11-15 06:48:46 +000053void InitializeTargetOptions(TargetOptions &Opts);
54
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000055} // end namespace clang
56
57#endif