From: Hans Wennborg Date: Mon, 11 Dec 2017 18:58:18 +0000 (+0000) Subject: Fix warn-enum-compare.cpp on Windows X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8ce11487856e2b0efb34237a9ff4933e2d8672a;p=clang Fix warn-enum-compare.cpp on Windows It's been failing since r319875. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@320405 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/SemaCXX/warn-enum-compare.cpp b/test/SemaCXX/warn-enum-compare.cpp index 95107a0146..21dea5dfcb 100644 --- a/test/SemaCXX/warn-enum-compare.cpp +++ b/test/SemaCXX/warn-enum-compare.cpp @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 %s -fsyntax-only -verify +// RUN: %clang_cc1 %s -fsyntax-only -verify -triple %itanium_abi_triple +// RUN: %clang_cc1 %s -fsyntax-only -verify -triple %ms_abi_triple -DMSABI enum Foo { FooA, FooB, FooC }; enum Bar { BarD, BarE, BarF }; @@ -42,8 +43,10 @@ void test () { while (b == c); while (B1 == name1::B2); while (B2 == name2::B1); +#ifndef MSABI while (x == AnonAA); // expected-warning {{comparison of constant 'AnonAA' (42) with expression of type 'Foo' is always false}} while (AnonBB == y); // expected-warning {{comparison of constant 'AnonBB' (45) with expression of type 'Bar' is always false}} +#endif while (AnonAA == AnonAB); while (AnonAB == AnonBA); while (AnonBB == AnonAA); @@ -69,7 +72,9 @@ void test () { while (B2 == ((((((name2::B1))))))); while (td == Anon1); +#ifndef MSABI while (td == AnonAA); // expected-warning {{comparison of constant 'AnonAA' (42) with expression of type 'TD' is always false}} +#endif while (B1 == B2); // expected-warning {{comparison of two values with different enumeration types ('name1::Baz' and 'name2::Baz')}} while (name1::B2 == name2::B3); // expected-warning {{comparison of two values with different enumeration types ('name1::Baz' and 'name2::Baz')}}