1*89a1d03eSRichard // RUN: %check_clang_tidy -std=c++17-or-later %s misc-definitions-in-headers %t 2*89a1d03eSRichard 3*89a1d03eSRichard class CE { 4*89a1d03eSRichard constexpr static int i = 5; // OK: inline variable definition. 5*89a1d03eSRichard }; 6*89a1d03eSRichard 7*89a1d03eSRichard inline int i = 5; // OK: inline variable definition. 8*89a1d03eSRichard 9*89a1d03eSRichard int b = 1; 10*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: variable 'b' defined in a header file; variable definitions in header files can lead to ODR violations [misc-definitions-in-headers] 11*89a1d03eSRichard 12*89a1d03eSRichard // OK: C++14 variable template. 13*89a1d03eSRichard template <class T> 14*89a1d03eSRichard constexpr T pi = T(3.1415926L); 15