diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/cppcoreguidelines-macro-usage.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/cppcoreguidelines-macro-usage.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/cppcoreguidelines-macro-usage.cpp b/clang-tools-extra/test/clang-tidy/cppcoreguidelines-macro-usage.cpp new file mode 100644 index 00000000000..ea92e19f7ee --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/cppcoreguidelines-macro-usage.cpp @@ -0,0 +1,18 @@ +// RUN: %check_clang_tidy %s cppcoreguidelines-macro-usage %t + +#ifndef INCLUDE_GUARD +#define INCLUDE_GUARD + +#define PROBLEMATIC_CONSTANT 0 +// CHECK-MESSAGES: [[@LINE-1]]:9: warning: macro used to declare a constant; consider using a 'constexpr' constant + +#define PROBLEMATIC_FUNCTION(x, y) ((a) > (b) ? (a) : (b)) +// CHECK-MESSAGES: [[@LINE-1]]:9: warning: function-like macro used; consider a 'constexpr' template function + +#define PROBLEMATIC_VARIADIC(...) (__VA_ARGS__) +// CHECK-MESSAGES: [[@LINE-1]]:9: warning: variadic macro used; consider using a 'constexpr' variadic template function + +#define PROBLEMATIC_VARIADIC2(x, ...) (__VA_ARGS__) +// CHECK-MESSAGES: [[@LINE-1]]:9: warning: variadic macro used; consider using a 'constexpr' variadic template function + +#endif |