Skip to content

Conversation

BillyONeal
Copy link
Member

No description provided.

@strega-nil
Copy link
Contributor

It looks like the latest version of VC++ broke __is_trivially_copyable, which is why LLVM fails to compile... yay

@dragly
Copy link

dragly commented Aug 18, 2020

It looks like the latest version of VC++ broke __is_trivially_copyable, which is why LLVM fails to compile... yay

Yes. This is probably the same issue as reported in #12814 . @strega-nil I think the changes you made in c97ff2e did the trick to fix that issue. At least building llvm with VS2019 worked for me again after checking out your commit.

@etheory
Copy link

etheory commented Aug 24, 2020

Hi all! Any idea when this will be merged so I can try it? Thanks!

@BillyONeal
Copy link
Member Author

Hi all! Any idea when this will be merged so I can try it? Thanks!

Not exactly, it's blocked on getting a fully clean run, and there are still failures.

@BillyONeal BillyONeal changed the title Update VMs for 2020-08-12 (including VS 16.7) [skia, ompl, capnproto] Update VMs for 2020-08-12 (including VS 16.7) Aug 27, 2020
@steven-johnson
Copy link

Looking into why LLVM 10 isn't buildng under MSVC 16.7.x led me here...

Not everyone who builds LLVM from source is using vcpkg, so this workaround is, uh, suboptimal?

Can anyone shed light on why the 16.7.x update seems to have broken this?

And (even better) suggest whether a patch to 16.7.x (and/or LLVM 10 release branch) is already underway?

I can replicate this hack locally for our project to temporarily unbreak us, but that's not an acceptable long term fix.

@BillyONeal
Copy link
Member Author

Can anyone shed light on why the 16.7.x update seems to have broken this?

MSVC++ in 16.7 was changed to make is trivially copyable more closely follow what the standard says, and LLVM has assumptions that it does not do what the standard says. I believe there was already a patch out for this but they probably won't patch an old release over it.

I can replicate this hack locally for our project to temporarily unbreak us, but that's not an acceptable long term fix.

vcpkg is in the business of keeping things working, we aren't part of the project governance of any of the individual ports. You should take up any discussion here with LLVM folks directly.

@danilaml
Copy link

danilaml commented Oct 30, 2020

@steven-johnson It looks like there is a patch pending review here (not for 10/11 though): https://reviews.llvm.org/D86126

oprypin added a commit to oprypin/crystal that referenced this pull request 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:
* https://github.com/microsoft/vcpkg/pull/12884/files
* microsoft/vcpkg#12884 (comment)
Kartiku added a commit to Kartiku/llvm-project that referenced this pull request Dec 20, 2020
dg0yt added a commit to dg0yt/vcpkg that referenced this pull request Feb 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:infrastructure Pertaining to the CI/Testing infrastrucutre
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants