blob: b3fe36f0d32631b98279e1341dec595b1c3ff932 [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;
28
Daniel Dunbar339c1342009-11-11 08:13:55 +000029void InitializeAnalyzerOptions(AnalyzerOptions &Opts);
30
Daniel Dunbar0e0bae82009-11-11 21:43:12 +000031void InitializeDependencyOutputOptions(DependencyOutputOptions &Opts);
32
Daniel Dunbar0db4b762009-11-11 08:13:40 +000033void InitializeDiagnosticOptions(DiagnosticOptions &Opts);
34
Daniel Dunbar26266882009-11-12 23:52:32 +000035void InitializeFrontendOptions(FrontendOptions &Opts);
36
Chandler Carruth2811ccf2009-11-12 17:24:48 +000037void InitializeCodeGenOptions(CodeGenOptions &Opts,
Daniel Dunbar29a790b2009-11-11 09:38:56 +000038 const TargetInfo &Target);
Daniel Dunbar0498cfc2009-11-10 19:51:53 +000039
Daniel Dunbarf7973292009-11-11 08:13:32 +000040void InitializeHeaderSearchOptions(HeaderSearchOptions &Opts,
41 llvm::StringRef BuiltinIncludePath,
Daniel Dunbarf7973292009-11-11 08:13:32 +000042 const LangOptions &Lang);
43
Daniel Dunbarfbe2faf2009-11-13 02:06:12 +000044void InitializeLangOptions(LangOptions &Options,
45 FrontendOptions::InputKind LK,
Daniel Dunbar56749082009-11-11 07:26:12 +000046 TargetInfo &Target,
Chandler Carruth2811ccf2009-11-12 17:24:48 +000047 const CodeGenOptions &CodeGenOpts);
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 Dunbar0498cfc2009-11-10 19:51:53 +000053} // end namespace clang
54
55#endif