]> granicus.if.org Git - clang/commitdiff
Revert "Driver: Change Option parsing to always create arguments referring to
authorDaniel Dunbar <daniel@zuster.org>
Wed, 9 Jun 2010 19:27:07 +0000 (19:27 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 9 Jun 2010 19:27:07 +0000 (19:27 +0000)
unaliased", this isn't quite right yet.

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

include/clang/Driver/Options.td
lib/Driver/Option.cpp
test/Driver/option-aliases.c [deleted file]

index d15be8ad4a5cd931d4a2420d0ab80bef45115d04..2000d403abdbebcacf850be41c28954d3e5212b9 100644 (file)
@@ -713,4 +713,4 @@ def _warn__EQ : Joined<"--warn-=">, Alias<W_Joined>, Flags<[Unsupported]>;
 def _warn_ : Joined<"--warn-">, Alias<W_Joined>, Flags<[Unsupported]>;
 def _write_dependencies : Flag<"--write-dependencies">, Alias<MD>;
 def _write_user_dependencies : Flag<"--write-user-dependencies">, Alias<MMD>;
-def _ : Joined<"--">, Flags<[Unsupported]>;
+def _ : Joined<"--">, Alias<f>, Flags<[Unsupported]>;
index d438c30b53e4cb22e1f1dd21ab314b557725817c..5a967ea3df788f96b39951e11b17b9e4daea3bb1 100644 (file)
@@ -123,7 +123,7 @@ Arg *FlagOption::accept(const InputArgList &Args, unsigned &Index) const {
   if (strlen(getName()) != strlen(Args.getArgString(Index)))
     return 0;
 
-  return new FlagArg(getUnaliasedOption(), Index++);
+  return new FlagArg(this, Index++);
 }
 
 JoinedOption::JoinedOption(OptSpecifier ID, const char *Name,
@@ -133,7 +133,7 @@ JoinedOption::JoinedOption(OptSpecifier ID, const char *Name,
 
 Arg *JoinedOption::accept(const InputArgList &Args, unsigned &Index) const {
   // Always matches.
-  return new JoinedArg(getUnaliasedOption(), Index++, strlen(getName()));
+  return new JoinedArg(this, Index++, strlen(getName()));
 }
 
 CommaJoinedOption::CommaJoinedOption(OptSpecifier ID, const char *Name,
@@ -150,7 +150,7 @@ Arg *CommaJoinedOption::accept(const InputArgList &Args,
   // Get the suffix string.
   // FIXME: Avoid strlen, and move to helper method?
   const char *Suffix = Args.getArgString(Index) + strlen(getName());
-  return new CommaJoinedArg(getUnaliasedOption(), Index++, Suffix);
+  return new CommaJoinedArg(this, Index++, Suffix);
 }
 
 SeparateOption::SeparateOption(OptSpecifier ID, const char *Name,
@@ -168,7 +168,7 @@ Arg *SeparateOption::accept(const InputArgList &Args, unsigned &Index) const {
   if (Index > Args.getNumInputArgStrings())
     return 0;
 
-  return new SeparateArg(getUnaliasedOption(), Index - 2, 1);
+  return new SeparateArg(this, Index - 2, 1);
 }
 
 MultiArgOption::MultiArgOption(OptSpecifier ID, const char *Name,
@@ -188,7 +188,7 @@ Arg *MultiArgOption::accept(const InputArgList &Args, unsigned &Index) const {
   if (Index > Args.getNumInputArgStrings())
     return 0;
 
-  return new SeparateArg(getUnaliasedOption(), Index - 1 - NumArgs, NumArgs);
+  return new SeparateArg(this, Index - 1 - NumArgs, NumArgs);
 }
 
 JoinedOrSeparateOption::JoinedOrSeparateOption(OptSpecifier ID,
@@ -203,14 +203,14 @@ Arg *JoinedOrSeparateOption::accept(const InputArgList &Args,
   // If this is not an exact match, it is a joined arg.
   // FIXME: Avoid strlen.
   if (strlen(getName()) != strlen(Args.getArgString(Index)))
-    return new JoinedArg(getUnaliasedOption(), Index++, strlen(getName()));
+    return new JoinedArg(this, Index++, strlen(getName()));
 
   // Otherwise it must be separate.
   Index += 2;
   if (Index > Args.getNumInputArgStrings())
     return 0;
 
-  return new SeparateArg(getUnaliasedOption(), Index - 2, 1);
+  return new SeparateArg(this, Index - 2, 1);
 }
 
 JoinedAndSeparateOption::JoinedAndSeparateOption(OptSpecifier ID,
@@ -228,6 +228,6 @@ Arg *JoinedAndSeparateOption::accept(const InputArgList &Args,
   if (Index > Args.getNumInputArgStrings())
     return 0;
 
-  return new JoinedAndSeparateArg(getUnaliasedOption(), Index - 2,
-                                  strlen(getName()));
+  return new JoinedAndSeparateArg(this, Index - 2, strlen(getName()));
 }
+
diff --git a/test/Driver/option-aliases.c b/test/Driver/option-aliases.c
deleted file mode 100644 (file)
index 38bf4b1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// RUN: %clang -ccc-print-options \
-// RUN:  --save-temps --undefine-macro=FOO --undefine-macro FOO \
-// RUN: --param=FOO --output=FOO 2> %t
-// RUN: FileCheck --check-prefix=CHECK-OPTIONS < %t %s
-
-// CHECK-OPTIONS: Option 0 - Name: "-ccc-print-options", Values: {}
-// CHECK-OPTIONS: Option 1 - Name: "-save-temps", Values: {}
-// CHECK-OPTIONS: Option 2 - Name: "-U", Values: {"FOO"}
-// CHECK-OPTIONS: Option 3 - Name: "-U", Values: {"FOO"}
-// CHECK-OPTIONS: Option 4 - Name: "--param", Values: {"FOO"}
-// CHECK-OPTIONS: Option 5 - Name: "-o", Values: {"FOO"}