-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Closed
Description
My environment
- Windows 10 Pro version 1809 OS build 17763.775
- cmake 3.12.18081601-MSVC_2
- cl version 19.16.27034
- clang-cl versions 7.0.0 (tags/RELEASE_700/final), 8.0.0 (tags/RELEASE_800/final) and 9.0.0 (https://github.com/llvm/llvm-project.git 0399d5a9682b3cef71c653373e38890c63c4c365) (self-built clang from 9.0.0 tag)
- googletest 1.10.0
Steps to reproduce
- Start the x64 Native Tools Command Prompt for VS 2017
- Ensure clang-cl can be found in the PATH
- While in the top-level googletest directory, try to build using
mkdir build cd build cmake -Dgmock_build_tests=ON -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -G "NMake Makefiles" .. cmake --build .
Error output (truncated)
[ 43%] Building CXX object googlemock/CMakeFiles/gmock-function-mocker_test.dir/test/gmock-function-mocker_test.cc.obj
C:\TEMP\googletest\googlemock\test\gmock-function-mocker_test.cc(127,3): error: static_assert failed
"(int n) should be enclosed in parentheses."
MOCK_METHOD(void, VoidReturning, (int n)); // NOLINT
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(43,3): note: expanded from macro
'MOCK_METHOD'
GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(82,3): note: expanded from macro
'GMOCK_PP_VARIADIC_CALL'
GMOCK_PP_CAT(_Macro, GMOCK_PP_NARG(__VA_ARGS__))(__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(18,30): note: expanded from macro
'GMOCK_PP_CAT'
#define GMOCK_PP_CAT(_1, _2) GMOCK_PP_INTERNAL_CAT(_1, _2)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(52,3): note: expanded from macro
'GMOCK_INTERNAL_MOCK_METHOD_ARG_3'
GMOCK_INTERNAL_MOCK_METHOD_ARG_4(_Ret, _MethodName, _Args, ())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(55,3): note: expanded from macro
'GMOCK_INTERNAL_MOCK_METHOD_ARG_4'
GMOCK_INTERNAL_ASSERT_PARENTHESIS(_Args); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(84,3): note: expanded from macro
'GMOCK_INTERNAL_ASSERT_PARENTHESIS'
static_assert( \
^
C:\TEMP\googletest\googlemock\test\gmock-function-mocker_test.cc(127,3): error: static_assert failed
"() should be enclosed in parentheses."
MOCK_METHOD(void, VoidReturning, (int n)); // NOLINT
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(43,3): note: expanded from macro
'MOCK_METHOD'
GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(82,3): note: expanded from macro
'GMOCK_PP_VARIADIC_CALL'
GMOCK_PP_CAT(_Macro, GMOCK_PP_NARG(__VA_ARGS__))(__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(18,30): note: expanded from macro
'GMOCK_PP_CAT'
#define GMOCK_PP_CAT(_1, _2) GMOCK_PP_INTERNAL_CAT(_1, _2)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(52,3): note: expanded from macro
'GMOCK_INTERNAL_MOCK_METHOD_ARG_3'
GMOCK_INTERNAL_MOCK_METHOD_ARG_4(_Ret, _MethodName, _Args, ())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(56,3): note: expanded from macro
'GMOCK_INTERNAL_MOCK_METHOD_ARG_4'
GMOCK_INTERNAL_ASSERT_PARENTHESIS(_Spec); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(84,3): note: expanded from macro
'GMOCK_INTERNAL_ASSERT_PARENTHESIS'
static_assert( \
^
C:\TEMP\googletest\googlemock\test\gmock-function-mocker_test.cc(127,3): error: static_assert failed
due to requirement '(0 + 0 + 0 + 0 + 0) == 1' " cannot be recognized as a valid specification modifier."
MOCK_METHOD(void, VoidReturning, (int n)); // NOLINT
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(43,3): note: expanded from macro
'MOCK_METHOD'
GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(82,3): note: expanded from macro
'GMOCK_PP_VARIADIC_CALL'
GMOCK_PP_CAT(_Macro, GMOCK_PP_NARG(__VA_ARGS__))(__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(18,30): note: expanded from macro
'GMOCK_PP_CAT'
#define GMOCK_PP_CAT(_1, _2) GMOCK_PP_INTERNAL_CAT(_1, _2)
^
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(259,32): note: expanded from macro
'GMOCK_PP_INTERNAL_FOR_EACH_IMPL_1'
GMOCK_PP_INTERNAL_CALL_MACRO(_Macro, _i, _Data, GMOCK_PP_HEAD _Tuple)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/internal/gmock-pp.h(256,3): note: expanded from macro
'GMOCK_PP_INTERNAL_CALL_MACRO'
_Macro(_i, _Data, _element)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\TEMP\googletest\googlemock\include\gmock/gmock-function-mocker.h(158,3): note: expanded from macro
'GMOCK_INTERNAL_ASSERT_VALID_SPEC_ELEMENT'
static_assert( \
^
AtnNn, Flow86, daniel-schmidt, xster, kennykelz and 2 more
Metadata
Metadata
Assignees
Labels
No labels