Manuel Klimek | b91bee0 | 2015-10-22 11:31:44 +0000 | [diff] [blame] | 1 | // RUN: %check_clang_tidy %s google-runtime-int %t |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 2 | |
| 3 | long a(); |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 4 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'int{{..}}' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 5 | |
| 6 | typedef unsigned long long uint64; // NOLINT |
| 7 | |
| 8 | long b(long = 1); |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 9 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'int{{..}}' |
| 10 | // CHECK-MESSAGES: [[@LINE-2]]:8: warning: consider replacing 'long' with 'int{{..}}' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 11 | |
| 12 | template <typename T> |
| 13 | void tmpl() { |
| 14 | T i; |
| 15 | } |
| 16 | |
| 17 | short bar(const short, unsigned short) { |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 18 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'short' with 'int16' |
| 19 | // CHECK-MESSAGES: [[@LINE-2]]:17: warning: consider replacing 'short' with 'int16' |
| 20 | // CHECK-MESSAGES: [[@LINE-3]]:24: warning: consider replacing 'unsigned short' with 'uint16' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 21 | long double foo = 42; |
| 22 | uint64 qux = 42; |
| 23 | unsigned short port; |
| 24 | |
| 25 | const unsigned short bar = 0; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 26 | // CHECK-MESSAGES: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'uint16' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 27 | long long *baar; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 28 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 29 | const unsigned short &bara = bar; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 30 | // CHECK-MESSAGES: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'uint16' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 31 | long const long moo = 1; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 32 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 33 | long volatile long wat = 42; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 34 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 35 | unsigned long y; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 36 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long' with 'uint{{..}}' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 37 | unsigned long long **const *tmp; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 38 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'uint64' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 39 | unsigned long long **const *&z = tmp; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 40 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'uint64' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 41 | unsigned short porthole; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 42 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'unsigned short' with 'uint16' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 43 | |
Benjamin Kramer | 3500845 | 2014-09-02 09:46:43 +0000 | [diff] [blame] | 44 | uint64 cast = (short)42; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 45 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: consider replacing 'short' with 'int16' |
Benjamin Kramer | 3500845 | 2014-09-02 09:46:43 +0000 | [diff] [blame] | 46 | |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 47 | #define l long |
| 48 | l x; |
| 49 | |
| 50 | tmpl<short>(); |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 51 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: consider replacing 'short' with 'int16' |
Alexander Kornienko | 4d48e1e | 2015-09-16 15:08:46 +0000 | [diff] [blame] | 52 | return 0; |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 53 | } |
| 54 | |
Benjamin Kramer | 3500845 | 2014-09-02 09:46:43 +0000 | [diff] [blame] | 55 | void p(unsigned short port); |
| 56 | |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 57 | void qux() { |
| 58 | short port; |
Alexander Kornienko | 106c8e0 | 2014-10-26 02:58:07 +0000 | [diff] [blame] | 59 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: consider replacing 'short' with 'int16' |
Benjamin Kramer | 06e323a | 2014-08-29 14:38:46 +0000 | [diff] [blame] | 60 | } |
Alexander Kornienko | 4d48e1e | 2015-09-16 15:08:46 +0000 | [diff] [blame] | 61 | |
| 62 | // FIXME: This shouldn't warn, as UD-literal operators require one of a handful |
| 63 | // of types as an argument. |
| 64 | struct some_value {}; |
| 65 | constexpr some_value operator"" _some_literal(unsigned long long int i); |
| 66 | // CHECK-MESSAGES: [[@LINE-1]]:47: warning: consider replacing 'unsigned long long' |
| 67 | |