xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp (revision e8a3ddafe063c970df9c23e803812369abde4c82)
189a1d03eSRichard // RUN: %check_clang_tidy %s google-runtime-int %t -- \
2*e8a3ddafSNathan James // RUN:   -config='{CheckOptions: { \
3*e8a3ddafSNathan James // RUN:     google-runtime-int.UnsignedTypePrefix: "std::uint", \
4*e8a3ddafSNathan James // RUN:     google-runtime-int.SignedTypePrefix: "std::int", \
5*e8a3ddafSNathan James // RUN:     google-runtime-int.TypeSuffix: "_t", \
6*e8a3ddafSNathan James // RUN:   }}'
789a1d03eSRichard 
889a1d03eSRichard long a();
989a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'std::int{{..}}_t'
1089a1d03eSRichard 
1189a1d03eSRichard typedef unsigned long long uint64; // NOLINT
1289a1d03eSRichard 
1389a1d03eSRichard long b(long = 1);
1489a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'std::int{{..}}_t'
1589a1d03eSRichard // CHECK-MESSAGES: [[@LINE-2]]:8: warning: consider replacing 'long' with 'std::int{{..}}_t'
1689a1d03eSRichard 
1789a1d03eSRichard template <typename T>
tmpl()1889a1d03eSRichard void tmpl() {
1989a1d03eSRichard   T i;
2089a1d03eSRichard }
2189a1d03eSRichard 
bar(const short,unsigned short)2289a1d03eSRichard short bar(const short, unsigned short) {
2389a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'short' with 'std::int16_t'
2489a1d03eSRichard // CHECK-MESSAGES: [[@LINE-2]]:17: warning: consider replacing 'short' with 'std::int16_t'
2589a1d03eSRichard // CHECK-MESSAGES: [[@LINE-3]]:24: warning: consider replacing 'unsigned short' with 'std::uint16_t'
2689a1d03eSRichard   long double foo = 42;
2789a1d03eSRichard   uint64 qux = 42;
2889a1d03eSRichard   unsigned short port;
2989a1d03eSRichard 
3089a1d03eSRichard   const unsigned short bar = 0;
3189a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'std::uint16_t'
3289a1d03eSRichard   long long *baar;
3389a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'std::int64_t'
3489a1d03eSRichard   const unsigned short &bara = bar;
3589a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'std::uint16_t'
3689a1d03eSRichard   long const long moo = 1;
3789a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'std::int64_t'
3889a1d03eSRichard   long volatile long wat = 42;
3989a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'std::int64_t'
4089a1d03eSRichard   unsigned long y;
4189a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long' with 'std::uint{{..}}_t'
4289a1d03eSRichard   unsigned long long **const *tmp;
4389a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'std::uint64_t'
4489a1d03eSRichard   unsigned long long **const *&z = tmp;
4589a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'std::uint64_t'
4689a1d03eSRichard   unsigned short porthole;
4789a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned short' with 'std::uint16_t'
4889a1d03eSRichard 
4989a1d03eSRichard   uint64 cast = (short)42;
5089a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:18: warning: consider replacing 'short' with 'std::int16_t'
5189a1d03eSRichard 
5289a1d03eSRichard #define l long
5389a1d03eSRichard   l x;
5489a1d03eSRichard 
5589a1d03eSRichard   tmpl<short>();
5689a1d03eSRichard // CHECK-MESSAGES: [[@LINE-1]]:8: warning: consider replacing 'short' with 'std::int16_t'
5789a1d03eSRichard }
58