Chromium Code Reviews| Index: tools/clang/plugins/tests/enum_last_value_from_c.c |
| diff --git a/tools/clang/plugins/tests/enum_last_value_from_c.c b/tools/clang/plugins/tests/enum_last_value_from_c.c |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7da59ce883ed4787861e18887a1e9c2367cf6a58 |
| --- /dev/null |
| +++ b/tools/clang/plugins/tests/enum_last_value_from_c.c |
| @@ -0,0 +1,40 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// We warn when xxxLAST constants aren't last. |
| +enum BadOne { |
| + kBadOneInvalid = -1, |
| + kBadOneRed, |
| + kBadOneGreen, |
| + kBadOneBlue, |
| + kBadOneLast = kBadOneGreen |
| +}; |
| + |
| +// We don't handle this case when called from C due to sign mismatch issues. |
| +// No matter; we're not looking for this issue outside of C++. |
| +enum FailOne { |
| + FAIL_ONE_INVALID, |
| + FAIL_ONE_RED, |
| + FAIL_ONE_GREEN, |
| + FAIL_ONE_BLUE = 0xfffffffc, |
| + FAIL_ONE_LAST = FAIL_ONE_GREEN |
| +}; |
| + |
| +// We dont warn when xxxLAST constants are last. |
|
Nico
2014/03/28 03:31:51
don't
|
| +enum GoodOne { |
| + kGoodOneInvalid = -1, |
| + kGoodOneRed, |
| + kGoodOneGreen, |
| + kGoodOneBlue, |
| + kGoodOneLast = kGoodOneBlue |
| +}; |
| + |
| +// We dont warn when xxx_LAST constants are last. |
|
Nico
2014/03/28 03:31:51
don't
|
| +enum GoodTwo { |
| + GOOD_TWO_INVALID, |
| + GOOD_TWO_RED, |
| + GOOD_TWO_GREEN, |
| + GOOD_TWO_BLUE = 0xfffffffc, |
| + GOOD_TWO_LAST = GOOD_TWO_BLUE |
| +}; |