Commit Graph

5 Commits

Author SHA1 Message Date
Mikael Holmen 35f0890c4e [clang-tidy] Remove extra ";" in ModernizeModuleTest.cpp
Without this fix we get

../../clang-tools-extra/unittests/clang-tidy/ModernizeModuleTest.cpp:270:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
 ^
1 error generated.

when compiling with -Werror.
2022-06-02 12:50:00 +02:00
Richard b418ef5cb9 [clang-tidy] Reject invalid enum initializers in C files
C requires that enum values fit into an int.  Scan the macro tokens
present in an initializing expression and reject macros that contain
tokens that have suffixes making them larger than int.

C forbids the comma operator in enum initializing expressions, so
optionally reject comma operator.

Differential Revision: https://reviews.llvm.org/D125622

Fixes #55467
2022-06-01 22:25:39 -06:00
Richard 9d99cf59a1 [clang-tidy] Restore test parameter operator<< function (NFC)
Clang erroneously flagged the function as "unused", but it is most
definitely used by gtest to pretty print the parameter value when
a test fails.

Make the pretty printing function a friend function in the parameter
class similar to other clang unit tests.
2022-05-14 14:04:32 -06:00
Simon Pilgrim ffacaa0bec Fix unused function 'operator<<' -Wunused-function warning introduced in D124500 2022-05-14 13:48:26 +01:00
Richard 5122738331 [clang-tidy] Support expressions of literals in modernize-macro-to-enum
Add a recursive descent parser to match macro expansion tokens against
fully formed valid expressions of integral literals.  Partial
expressions will not be matched -- they can't be valid initializing
expressions for an enum.

Differential Revision: https://reviews.llvm.org/D124500

Fixes #55055
2022-05-13 18:45:54 -06:00