-
Notifications
You must be signed in to change notification settings - Fork 274
Build is broken with clang 3.8 #4699
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
Comments
This (https://github.com/diffblue/cbmc/blob/develop/src/util/reference_counting.h#L184) should be providing the relevant |
@tautschnig: git-bisect was fast, but tautschnig-bisect was faster. @smowton I've been scratching my head over this all afternoon. I finally tried building with clang 9, and it does not complain. I can only conclude that clang 3.8 is miscompiling. (I know saying that "the compiler is wrong" is a cop-out, and this is the second time I've found a clang bug while building CBMC)... Not sure what course of action to take. Close as WONTFIX? But Ubuntu 16.04 is still very common in the wild, it's a long-term support distro. |
I suppose we could at least modify the CMake and Makefile builds to require a non-ancient Clang, and maybe make the build tools print the URL for the official LLVM Ubuntu packages if the build is being run on Ubuntu... |
I'm happy enough if we can find a workaround -- perhaps an explicit template instantiation to nudge clang in the right direction? |
I spent some time on trying to add a template instantiation this afternoon without success. I agree that this solution would be good, but I'm unable to spend more time on this, sorry. I'm going to leave the issue open, up to Diffblue to decide how to close it; I'm just going to install a recent Clang on my machine or use GCC. |
The explicit definition of object_mapt equality was removed recently in pull request diffblue#4694 but it seems necessary when compiling with clang which would complain about it not being defined. Should fix diffblue#4699
We stumbled upon this problem on TG as well. Do we want to keep support for clang 3.8? If so we should add a build on Travis. |
^ @peterschrammel ? |
The explicit definition of object_mapt equality was removed recently in pull request diffblue#4694 but it seems necessary when compiling with clang which would complain about it not being defined. Should fix diffblue#4699
The explicit definition of object_mapt equality was removed recently in pull request diffblue#4694 but it seems necessary when compiling with clang which would complain about it not being defined. Should fix diffblue#4699
The explicit definition of object_mapt equality was removed recently in pull request diffblue#4694 but it seems necessary when compiling with clang which would complain about it not being defined. Should fix diffblue#4699
This is to check that changes do not break compilation using clang++-3.8, as happened with diffblue#4699
This is to check that changes do not break compilation using clang++-3.8, as happened with diffblue#4699
Uh oh!
There was an error while loading. Please reload this page.
I'm assigning @smowton because git blame told me to, but I doubt it's actually your fault. I'll bisect this later today and update the ticket.
The text was updated successfully, but these errors were encountered: