Skip to content

Error compiling with ClangCL - unknown types #2271

@ValeV008

Description

@ValeV008

Describe the bug

I am using Windows 10, Visual Studio 2019 with Clang 11 installed through Visual Studio Installer. I need to build awssdk-cpp version 1.9.172.

Using:

  1. cmake .. -D CMAKE_BUILD_TYPE=Debug -D BUILD_ONLY="secretsmanager" -D CMAKE_PREFIX_PATH="C:\\Users\\C081745\\Desktop\\libs\\awssdk\\awssdk_install_debug" -G "Visual Studio 16 2019" -T ClangCL
  2. "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Debug

I get errors like unknown type name '__m256i', use of undeclared identifier '__m256i', use of undeclared identifier 'mask', etc., when compiling file aws-sdk-cpp\crt\aws-crt-cpp\crt\aws-c-common\source\arch\intel\encoding_avx2.c.

From here on, are my thoughts and speculations:
Type __m256i is defined in C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\Llvm\lib\clang\11.0.0\include\avxintrin.h. I see that encoding_avx2.c is including immintrin.h in line 7, which conditionally includes avxintrin.h in line 60. I checked the macros of that if condition: _MSC_VER is defined, while others are not. So avxintrin.h is not getting included, and hence type __m256i not getting defined.

Expected Behavior

I expected to build the project successfully.

Current Behavior

I get errors like unknown type name '__m256i'.

Reproduction Steps

  1. cmake .. -D CMAKE_BUILD_TYPE=Debug -D BUILD_ONLY="secretsmanager" -D CMAKE_PREFIX_PATH="C:\\Users\\C081745\\Desktop\\libs\\awssdk\\awssdk_install_debug" -G "Visual Studio 16 2019" -T ClangCL
  2. "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Debug

Possible Solution

No response

Additional Information/Context

No response

AWS CPP SDK version used

1.9.172

Compiler and Version used

Visual Studio 2019, clang version 11.0.0

Operating System and version

Windows 10 64bit

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.needs-reproductionThis issue needs reproduction.p2This is a standard priority issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions