-
-
Notifications
You must be signed in to change notification settings - Fork 229
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
gcc/clang: -m* flags when architecture is not explicitly set #379
gcc/clang: -m* flags when architecture is not explicitly set #379
Conversation
The PR appears to have exposed CI build environments not having been properly set up for 32 bit builds. |
d4c347a
to
42fae3a
Compare
Was that the feature where |
Happy accident, as far as I can tell, like anytime when b2 silently ignores your inputs. There is multiple issues with s390x:
So it seems like it would not hurt to set There is also the same issue for riscv, but I don't know how to resolve it. |
@grafikrobot is there a really need to ensure warnings-free build with |
Is this approach going to work for cross compilation scenarios? |
Could you please expand on your question? You mean |
I can't come up with a scenario where this approach will fail, even |
I suppose that if you put the |
42fae3a
to
9ee19b1
Compare
It's caught some errors in the past. But I'm willing to change it. If you can offer some suggestions. |
PS. The failures here for the no-warnings step are not because of warnings though. They appear to be real errors on first glance. |
I mean... What makes sense to me is to disable warning for bootstrap, and test for warnings only on recent compilers. I also think there is no real users that install clang from llvm repository or gcc from ppa on ubuntu, especially on discontinued versions. I would only test default compiler on discontinued platforms and not bother with third-party repositories.
I stopped trying to understand what is needed to install for multilib clang on those failed jobs, but gcc<6 false-positive is there:
|
d1e8c85
to
e93f39c
Compare
My experiments show that Clang support -m32/-m64 universally (and doesn't support -m31 for s390*), so I dropped GCC logic in it and just made Clang put -m* flag solely on value. @grafikrobot the change to azure scripts mostly no-op (dropping |
e93f39c
to
d0be376
Compare
GCC is picky, -m32/-m64 flags are available only on a subset of targets. Clang supports -m32/-m64 universally.
d0be376
to
3c82315
Compare
Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce?
Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...