[cfe-commits] r154064 - in /cfe/trunk: include/clang/Driver/Options.td lib/Driver/Tools.cpp test/Driver/fno-pic.c

Nico Weber nicolasweber at gmx.de
Wed Apr 4 16:00:14 PDT 2012


Author: nico
Date: Wed Apr  4 18:00:14 2012
New Revision: 154064

URL: http://llvm.org/viewvc/llvm-project?rev=154064&view=rev
Log:
Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE.

Review at http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120402/055759.html


Added:
    cfe/trunk/test/Driver/fno-pic.c
Modified:
    cfe/trunk/include/clang/Driver/Options.td
    cfe/trunk/lib/Driver/Tools.cpp

Modified: cfe/trunk/include/clang/Driver/Options.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=154064&r1=154063&r2=154064&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Options.td (original)
+++ cfe/trunk/include/clang/Driver/Options.td Wed Apr  4 18:00:14 2012
@@ -264,6 +264,7 @@
 def exported__symbols__list : Separate<"-exported_symbols_list">;
 def e : JoinedOrSeparate<"-e">;
 def fPIC : Flag<"-fPIC">, Group<f_Group>;
+def fno_PIC : Flag<"-fno-PIC">, Group<f_Group>;
 def fPIE : Flag<"-fPIE">, Group<f_Group>, Flags<[NoArgumentUnused]>;
 def fno_PIE : Flag<"-fno-PIE">, Group<f_Group>, Flags<[NoArgumentUnused]>;
 def faccess_control : Flag<"-faccess-control">, Group<f_Group>;
@@ -497,6 +498,7 @@
 def fpascal_strings : Flag<"-fpascal-strings">, Group<f_Group>;
 def fpch_preprocess : Flag<"-fpch-preprocess">, Group<f_Group>;
 def fpic : Flag<"-fpic">, Group<f_Group>;
+def fno_pic : Flag<"-fno-pic">, Group<f_Group>;
 def fpie : Flag<"-fpie">, Group<f_Group>, Flags<[NoArgumentUnused]>;
 def fno_pie : Flag<"-fno-pie">, Group<f_Group>, Flags<[NoArgumentUnused]>;
 def fprofile_arcs : Flag<"-fprofile-arcs">, Group<f_Group>;

Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=154064&r1=154063&r2=154064&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Wed Apr  4 18:00:14 2012
@@ -1477,7 +1477,11 @@
                      Args.hasArg(options::OPT_fPIE) ||
                      Args.hasArg(options::OPT_fpie));
   bool PICDisabled = (Args.hasArg(options::OPT_mkernel) ||
-                      Args.hasArg(options::OPT_static));
+                      Args.hasArg(options::OPT_static) ||
+                      Args.hasArg(options::OPT_fno_PIC) ||
+                      Args.hasArg(options::OPT_fno_pic) ||
+                      Args.hasArg(options::OPT_fno_PIE) ||
+                      Args.hasArg(options::OPT_fno_pie));
   const char *Model = getToolChain().GetForcedPicModel();
   if (!Model) {
     if (Args.hasArg(options::OPT_mdynamic_no_pic))

Added: cfe/trunk/test/Driver/fno-pic.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fno-pic.c?rev=154064&view=auto
==============================================================================
--- cfe/trunk/test/Driver/fno-pic.c (added)
+++ cfe/trunk/test/Driver/fno-pic.c Wed Apr  4 18:00:14 2012
@@ -0,0 +1,5 @@
+// RUN: %clang -c %s -target i386-apple-darwin -### 2>&1 | FileCheck %s --check-prefix=PIC_ON_BY_DEFAULT
+// PIC_ON_BY_DEFAULT: "-pic-level" "1"
+
+// RUN: %clang -c %s -target i386-apple-darwin -### -fno-pic 2>&1 | FileCheck %s --check-prefix=FNO_PIC
+// FNO_PIC: "-mrelocation-model" "static"





More information about the cfe-commits mailing list