diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/misc-misplaced-const.cpp')
| -rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-misplaced-const.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/misc-misplaced-const.cpp b/clang-tools-extra/test/clang-tidy/misc-misplaced-const.cpp new file mode 100644 index 00000000000..5483cabae7f --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/misc-misplaced-const.cpp @@ -0,0 +1,37 @@ +// RUN: %check_clang_tidy %s misc-misplaced-const %t + +typedef int plain_i; +typedef int *ip; +typedef const int *cip; + +void func() { + if (const int *i = 0) + ; + if (const plain_i *i = 0) + ; + if (const cip i = 0) + ; + + // CHECK-MESSAGES: :[[@LINE+1]]:16: warning: 'i' declared with a const-qualified typedef type; results in the type being 'int *const' instead of 'const int *' + if (const ip i = 0) + ; +} + +template <typename Ty> +struct S { + const Ty *i; + const Ty &i2; +}; + +template struct S<int>; +template struct S<ip>; // ok +template struct S<cip>; +template struct S<int *>; // ok + +struct T { + typedef void (T::*PMF)(); + + void f() { + const PMF val = &T::f; // ok + } +}; |

