summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc/clang-cc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-cc/clang-cc.cpp')
-rw-r--r--clang/tools/clang-cc/clang-cc.cpp8
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>
OpenPOWER on IntegriCloud