diff options
Diffstat (limited to 'clang/tools/clang-cc/clang-cc.cpp')
-rw-r--r-- | clang/tools/clang-cc/clang-cc.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp index 2843848f313..cca2e2cc145 100644 --- a/clang/tools/clang-cc/clang-cc.cpp +++ b/clang/tools/clang-cc/clang-cc.cpp @@ -620,6 +620,11 @@ OptLevel("O", llvm::cl::Prefix, llvm::cl::desc("Optimization level"), llvm::cl::init(0)); +static llvm::cl::opt<unsigned> +PICLevel("pic-level", llvm::cl::Prefix, + llvm::cl::desc("Value for __PIC__"), + llvm::cl::init(0)); + // FIXME: add: // -fdollars-in-identifiers static void InitializeLanguageStandard(LangOptions &Options, LangKind LK, @@ -769,6 +774,9 @@ static void InitializeLanguageStandard(LangOptions &Options, LangKind LK, // -Os implies -O2 if (Options.OptimizeSize || OptLevel) Options.Optimize = 1; + + assert(PICLevel <= 2 && "Invalid value for -pic-level"); + Options.PICLevel = PICLevel; } static llvm::cl::opt<bool> |