From 776dbd8b0e4414e5002ffe6e8bd9a7e79879521d Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 30 Mar 2009 18:13:26 +0000 Subject: [PATCH] Driver: Unbreak ArgList::hasFlag. - [driver] clang does not have -msoft-float hooked up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68044 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/ArgList.cpp | 2 +- test/Driver/flags.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test/Driver/flags.c diff --git a/lib/Driver/ArgList.cpp b/lib/Driver/ArgList.cpp index 2e526ab5d5..6d19f1acc5 100644 --- a/lib/Driver/ArgList.cpp +++ b/lib/Driver/ArgList.cpp @@ -51,7 +51,7 @@ Arg *ArgList::getLastArg(options::ID Id0, options::ID Id1, bool Claim) const { bool ArgList::hasFlag(options::ID Pos, options::ID Neg, bool Default) const { Arg *PosA = getLastArg(Pos); - Arg *NegA = getLastArg(Pos); + Arg *NegA = getLastArg(Neg); if (PosA && NegA) return NegA->getIndex() < PosA->getIndex(); if (PosA) return true; diff --git a/test/Driver/flags.c b/test/Driver/flags.c new file mode 100644 index 0000000000..53f3995f39 --- /dev/null +++ b/test/Driver/flags.c @@ -0,0 +1,9 @@ +// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float %s 2> %t.log && +// RUN: grep '"--soft-float"' %t.log && + +// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float -mno-soft-float %s 2> %t.log && +// RUN: grep '"--soft-float"' %t.log | count 0 && + +// RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -mno-soft-float %s -msoft-float 2> %t.log && +// RUN: grep '"--soft-float"' %t.log +