<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61855>61855</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Googletest failing with Clang 16.0 on Windows-MSVC
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
The-Abhishek
</td>
</tr>
</table>
<pre>
- Let's say my project is 'MyProj'.
- I linked my project with GTest & GMock lib & all the compilation & tests are running fine with Clang 15.0 (Using Clang 15.0 coming with Visual Studio 2022 IDE, Generator Toolset: ClangCl).
- But when I upgraded my toolset to LLVM 16.0 & set the external toolset to LLVM 16.0 & tried to build on windows GTest/GMock started failing with the following error:
`In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\windows.h:171:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared\windef.h:24:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared\minwindef.h:182
: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3574,19): error : '_m_prefetchw' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3634,19): error : '__getcallerseflags' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsi cs [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3647,19): error : '__segmentlimit' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3708,19): error : '__movsw' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3709,19): error : '__movsd' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3710,19): error : '__movsq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3745,19): error : '__stosw' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3746,19): error : '__stosd' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(3747,19): error : '__stosq' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(4019,19): error : '__writegsbyte' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(4020,19): error : '__writegsword' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(4021,19): error : '__writegsdword' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(4022,19): error : '__writegsqword' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(4203,35): error : __declspec attribute 'no_init_all' is not supported [-Werror,-Wignored-attributes] [C:\UserWorkspace\MyProjm\winnt.h(45,95): message : expanded from macro 'DECLSPEC_NOINITALL' [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(6518,35): error : __declspec attribute 'no_init_all' is not supported [-Werror,-Wignored-attributes] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(45,95): message : expanded from macro 'DECLSPEC_NOINITALL' [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(6602,35): error : __declspec attribute 'no_init_all' is not supported [-Werror,-Wignored-attributes] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(45,95): message : expanded from macro 'DECLSPEC_NOINITALL' [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h(9431,10): error : the current #pragma pack alignment value is modified in the included file [-Werror,-Wpragma-pack] [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared\pshpack4.h(26,9): message : previous '#pragma pack' directive that modifies alignment is here [C:\UserWorkspace\MyProj\build\_deps\googletest-build\googletest\gtest.vcxproj] fatal error: too many errors emitted, stopping now[-ferror-limit=]`
- This error does not occur with the ClangCl toolset in Visual Studio. i.e Clang 15.0.
- If disable "treat warning as an error" then this warning does not occur & build is successful.
**Steps to reproduce the problem**
- Include Googletest in your project by adding git cloning in your project CMAKE & link your project lib with GTest/Gmock.
- Generated build using CMake GUI as choosing -T= LLVM as a toolset.
- Using visual Studio 2022 to build project & Gtest/Gmock project got failed.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsmlFvozoWxz-N83IUBCaQ5CEPGdJU0W3vjjSdmcfIwAn4xthc2zST_fQrG5pJO3vb1aqZnauNVKnCPpi_f-ePsXLMjOGVRFyQ5ANJViPW2VrpxUON42Vec1PjfpSr8rgYwx1aQqcGDDtCc4RWqz-wsMANEDq9P37U6g9CpwEJVyRcjgE2ILjcY3kefOC2htsHNBYITeH2XhV7EDz3V0wIsDVCoZqWC2a5kr7dorEGmEbQnZRcVrDjEvuxMsFkBVEShEDo7LNxvWdthWpciw_9wk3HBHyyXckV0JBS2KxuCM3gFiVqZpWGB6WEQUviZT9KJgidD1N6mtiHzsKhRgkb6NpKs7Kfou1vBavg7u7LPUSp15SCb6wR8JtFLZn460irOZauOe-4KEFJOHBZqoPpkRG67oEZy7TFEnaMi9P03CN2Sgh1cE2otdIkXp5LJ2m4kbDjAoHLQnRO-E6rBjIXmGQftao0a2DNBbqkzr7NUkLnJMm-DjJ-49aQJItCkmSbfgh_GYQBpWEYBq6ja0iSDcKDmsTLaBo5oL2In6HA1ExjOajAnRdBJ_8jDQ2XZzKiGR2S4Sx2Ee7SBjWhsziZTgjNorkbKl72jgAPgU63zbbVuENb1AdCp-4llsoCA42FqiT_J5behJZLEn-AQknDS9QDMWcwEmdcWs2lm9aNMy0rCjRuHDkeboU-wvDCAEk-jL_2rqTZ-CuvpNJYjlvNqoaNT4EkWbnQgcxng_qr0nvTssLNeFhlksy_ICTJtiW2jkylVCXQLRTjp67vTe7C_Q8ei2-tv391YfRp_Ar6bYW2YEKgNrgTrDI_IQHwf5eByfSVDBisGpRW8IbbX87-lwUzDWevgGnUo7kuCJegPn-Denml_v7Uo_AN6n9eqb8_9Uny2tJr1XWFuQj19A3q1xXmEtRf3WZYdV1h3p_6JIxe-5oeNLdYmfxo8cr-_dnT176pA_uD0tfV5hLso7fZl1f4F4JP34b_5xX-ReDTMCY0i5Mf4G-3JRbCtFgAs1bzvLPoMiLVlktut0yIs3SYrm2V_-n0L-idxjD_CbcXIt22d_4ksUFjWIVeJH5rmTz9ztiwQiuncXWT3X36eJNtf__H5vfNw_Luzkn92ycrTaLZL5isX57b1T-Df9KQXv1z9c9_y2E-if02KfzBP7642GmN0gKhcf-phJYVe2CCV7JxHY9MdOg81KiS7ziWwKW_83u1iAt86anhs-vG-nua6VSvak3tZjHxLGnqPPVvLNVqfOSq87Xf5yidh0qusbD8EcHWzD6RNGeUuYEaNf4UUDtmmThVRMEqBQ2Tx77FADbcWiwJzcBY1bZuMybVwSV450PGfZ0gXpFkRdLweTX4oeZmsFipsF95VFF0-ntVdqgkn-q-XD6vRQfAAzyrWr-oN292UHLDcmc6Sq1GZuHAtC-EMwNMDlOj1D3NeZWbU8ALTYSmQ3GZGzCd32DuOvHsiYS6v08WW-N2oRpbrcquQD-XVqtcYNPHvNDZWwtuT8lwMz2qTp_K__kRWOl3uxW3UAjlNb6Myu6Xv914qYLL_fM-wfOzQwSErm8bVexPhw6GSv6w2S6h6w8E3LM9wu3njeNV1Er51vEDiVd9Bd5hfErPaaz-MMHjj6cGTgX6J1H-KIM903PqqZT1VXosg1G5iMt5PGcjXETpLKQhnUzCUb2IUgwnk2RaYlxG85xNUkZzNo_yIpqxnO5GfEFDGodxHEazZBKGQYlJPJ_FU8ZCnDOWkEmIDeMiEOKxCZSuRtyYDhdpNEuSkWA5CuMPeFAq8QC-k1BKktVIL9w947yrDJmEghtrvo9iuRW4OMvnswMHg2HTIAQlYVhsxvefvmSjTotFbW1r3KtN14SuK27rLg8K1RC6dg8Y_o0HUoSuvSxD6NrL_lcAAAD__1YFLhg">