]> granicus.if.org Git - clang/commitdiff
Handle '-r' option properly
authorReid Kleckner <rnk@google.com>
Thu, 10 Sep 2015 22:31:45 +0000 (22:31 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 10 Sep 2015 22:31:45 +0000 (22:31 +0000)
Summary:
This fixs the bug
https://llvm.org/bugs/show_bug.cgi?id=12587

Patch by Yunlian Jiang

Reviewers: Bigcheese, rnk

Differential Revision: http://reviews.llvm.org/D10279

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247351 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/Options.td
test/Driver/Xlinker-args.c

index 8f69c5b88df17a91f6fd44576af623cfc3c940c4..af46a8eeda6752e64ee968b57658f5790738e751 100644 (file)
@@ -1609,7 +1609,7 @@ def resource_dir_EQ : Joined<["-"], "resource-dir=">, Flags<[DriverOption]>,
   Alias<resource_dir>;
 def rpath : Separate<["-"], "rpath">, Flags<[LinkerInput]>;
 def rtlib_EQ : Joined<["-", "--"], "rtlib=">;
-def r : Flag<["-"], "r">;
+def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>;
 def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[DriverOption]>,
   HelpText<"Save intermediate compilation results.">;
 def save_temps : Flag<["-", "--"], "save-temps">, Flags<[DriverOption]>,
index 87b238b3b9d828378e6e1fc4066427750b7a1b4f..a828f15b2b9a9d804b8c307547f4c1dc5f827d05 100644 (file)
@@ -3,17 +3,17 @@
 
 // RUN: %clang -target i386-apple-darwin9 -### \
 // RUN:   -Xlinker one -Xlinker --no-demangle \
-// RUN:   -Wl,two,--no-demangle,three -Xlinker four -z five %s 2> %t
+// RUN:   -Wl,two,--no-demangle,three -Xlinker four -z five -r %s 2> %t
 // RUN: FileCheck -check-prefix=DARWIN < %t %s
 //
 // RUN: %clang -target x86_64-pc-linux-gnu -### \
 // RUN:   -Xlinker one -Xlinker --no-demangle \
-// RUN:   -Wl,two,--no-demangle,three -Xlinker four -z five %s 2> %t
+// RUN:   -Wl,two,--no-demangle,three -Xlinker four -z five -r %s 2> %t
 // RUN: FileCheck -check-prefix=LINUX < %t %s
 //
 // DARWIN-NOT: --no-demangle
-// DARWIN: "one" "two" "three" "four" "-z" "five"
-// LINUX: "--no-demangle" "one" "two" "three" "four" "-z" "five"
+// DARWIN: "one" "two" "three" "four" "-z" "five" "-r"
+// LINUX: "--no-demangle" "one" "two" "three" "four" "-z" "five" "-r"
 
 // Check that we forward '-Xlinker' and '-Wl,' on Windows.
 // RUN: %clang -target i686-pc-win32 -### \