Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win CI: Patch LLVM to fix broken build #9907

Merged
merged 1 commit into from
Nov 12, 2020

Conversation

oprypin
Copy link
Member

@oprypin oprypin commented Nov 12, 2020

Prevents the error:

type_traits.h(181,23): error C2338: inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable (compiling source file

Ref:

@oprypin
Copy link
Member Author

oprypin commented Nov 12, 2020

Launched a run here, expecting it to pass. https://github.com/oprypin/crystal/runs/1388334287

The CI run on this repo will not be representative; still cached.

@bcardiff
Copy link
Member

After the build success the llvm cache key should be bumped as part of this PR I guess.

Good discovery! I must've been hard to find. I'm sorry.

@jhass
Copy link
Member

jhass commented Nov 12, 2020

2020-11-12T03:01:37.0097469Z D:\a\crystal\crystal\llvm-src\include\llvm/Support/type_traits.h(181,23): error C2338: inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp) [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.0105303Z D:\a\crystal\crystal\llvm-src\include\llvm/ADT/SmallVector.h(315): message : see reference to class template instantiation 'llvm::is_trivially_copyable<T>' being compiled [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.0107247Z           with
2020-11-12T03:01:37.0107760Z           [
2020-11-12T03:01:37.0108295Z               T=std::pair<void *,size_t>
2020-11-12T03:01:37.0110055Z           ] (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp)
2020-11-12T03:01:37.0112793Z D:\a\crystal\crystal\llvm-src\include\llvm/ADT/SmallVector.h(837): message : see reference to class template instantiation 'llvm::SmallVectorImpl<T>' being compiled [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.0114314Z           with
2020-11-12T03:01:37.0114804Z           [
2020-11-12T03:01:37.0115368Z               T=std::pair<void *,size_t>
2020-11-12T03:01:37.0116387Z           ] (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp)
2020-11-12T03:01:37.0118849Z D:\a\crystal\crystal\llvm-src\include\llvm/Support/Allocator.h(378): message : see reference to class template instantiation 'llvm::SmallVector<std::pair<void *,size_t>,0>' being compiled (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp) [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.0122854Z D:\a\crystal\crystal\llvm-src\include\llvm/Support/Allocator.h(435): message : see reference to class template instantiation 'llvm::BumpPtrAllocatorImpl<AllocatorT,SlabSize,SizeThreshold>' being compiled (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp) [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.1463017Z D:\a\crystal\crystal\llvm-src\include\llvm/ADT/SmallVector.h(315,32): error C2976: 'llvm::SmallVectorTemplateBase': too few template arguments (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp) [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]
2020-11-12T03:01:37.2113839Z D:\a\crystal\crystal\llvm-src\include\llvm/ADT/SmallVector.h(179): message : see declaration of 'llvm::SmallVectorTemplateBase' (compiling source file D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp) [D:\a\crystal\crystal\llvm-src\lib\ExecutionEngine\RuntimeDyld\LLVMRuntimeDyld.vcxproj]

:(

@oprypin
Copy link
Member Author

oprypin commented Nov 12, 2020

Sorry; let's try again

Prevents the error:

    type_traits.h(181,23): error C2338: inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable (compiling source file
@oprypin
Copy link
Member Author

oprypin commented Nov 12, 2020

This works correctly now, by the way.

@bcardiff, in #9912 I merged both commits to see that together they are enough to work. But I don't intend to clump the two pull requests together. I'll drop that part from #9912

llvm cache key should be bumped as part of this PR I guess

Well it doesn't matter anymore, I think there's no need to do that then.

@bcardiff bcardiff added this to the 1.0.0 milestone Nov 12, 2020
@bcardiff bcardiff merged commit b0d113e into crystal-lang:master Nov 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants