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
Add Clang builds with assertions #5243
Conversation
infra PR: compiler-explorer/infra#1047 |
etc/config/c++.amazon.properties
Outdated
group.clangx86assert.intelAsm=-mllvm --x86-asm-syntax=intel | ||
group.clangx86assert.options= | ||
group.clangx86assert.groupName=Clang x86-64 (assertions) | ||
group.clangx86assert.instructionSet=amd64 | ||
group.clangx86assert.baseName=x86-64 clang | ||
group.clangx86assert.isSemVer=true | ||
group.clangx86assert.compilerType=clang | ||
group.clangx86assert.unwiseOptions=-march=native | ||
group.clangx86assert.supportsPVS-Studio=true | ||
group.clangx86assert.supportsSonar=true | ||
group.clangx86assert.licenseName=LLVM Apache 2 | ||
group.clangx86assert.licenseLink=https://github.com/llvm/llvm-project/blob/main/LICENSE.TXT | ||
group.clangx86assert.licensePreamble=The LLVM Project is under the Apache License v2.0 with LLVM Exceptions | ||
group.clangx86assert.supportsBinaryObject=true | ||
group.clangx86assert.compilerCategories=clang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of this could be shared with &clang. So we could have a clang group that declares common props and include only 2 subgroups: the existing clang compilers (current &clang
) and the new &clangx86assert
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an example I can follow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something like what we have for cross compilers:
# Cross Compilers (mostly GCC & Clang) |
ppcs have even a deeper nesting :
compiler-explorer/etc/config/c.amazon.properties
Line 1176 in d1bb248
group.cppcs.compilers=&cppc:&cppc64:&cppc64le |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I decided not to touch existing Clang compilers, and also avoid inventing a new name for them (clangx86release
?). Is that fine by you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
100% correct. The compiler names must not change as they are the ids used in shared links. Only the groups can be renamed/moved around.
It's already nice that you took the time to reduce a bit your new properties, thanks very much !
I expect maintainers to re-upload archives in infra to CE-owned S3 instance, and appropriately update infra PR. Am I right about that? |
Yes, you're correct. We must first merge the changes in infra, check all compilers can be installed + are working, then we can merge the config change ! |
Please do. I've checked that on my side (and fixed a bug regarding 2.6), so I expect it to go smoothly. |
July 7, 2023 11:57 AM, "Vlad Serebrennikov" ***@***.***> wrote:
> Yes, you're correct. We must first merge the changes in infra, check all compilers can be installed
> + are working, then we can merge the config change !
Please do. I've checked that on my side (and fixed a bug regarding 2.6), so I expect it to went
smoothly.
I'll try to have a look at your infra change on sunday, unless someone else does before that :)
|
Thanks so much for this! However, I have some concerns about where we're getting these important compilers from: I posted on the infra thread. Happy to discuss more there, or on Discord. |
I'm still slowly working on/struggling to sort out builds earlier than 10.* But this is still on the todo list |
So -- I meerged this but we will need to revisit to re-add in the others, pre clang 5 (which I think I've admitted defeat on and will use your built versions!) |
Add full range (2.6 - 16) of assertion builds of Clang as a new compiler group.
It is accompanied by a PR to infra which adds new links to
cpp.yaml
. Detailed information about how those artifacts were produced is available in my gist.All assertion builds use period-correct GCC toolchain by default, based on major version (i.e. ignoring minor version changes).
This PR addresses #5113