-
Notifications
You must be signed in to change notification settings - Fork 203
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 dashes directly in compiler optimization flags #4698
base: 5.0.x
Are you sure you want to change the base?
Conversation
35d3b7b
to
24cfdc6
Compare
I finally found the place that actually adds the extra - It boils down to using FlagList, and possible CommandFlagList. I need to find a scenario where CommandFlagList was used withmore than a single argument, but it's all so very deeply hidden and obscured it's impossible to tell where the heck these are coming from. Tests indicate it works like
so i need to find a scenario where this actually used, to ensure i did fix it correctly. |
614757a
to
f9fba39
Compare
} | ||
|
||
COMPILER_CC = 'clang' | ||
COMPILER_CXX = 'clang++' | ||
COMPILER_C_UNIQUE_FLAGS = [] | ||
COMPILER_C_UNIQUE_OPTIONS = [] |
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.
Hmm, do we really need to change this?
We have to take into account that people may have their own/custom implementations of classes that derive from Compiler
, they will need to be adjusted accordingly (and we have no easy way to produce a clean error message there, I think)...
test/framework/toolchain.py
Outdated
@@ -3144,21 +3145,6 @@ def test_env_vars_external_module(self): | |||
expected = {} | |||
self.assertEqual(res, expected) | |||
|
|||
def test_get_flag(self): |
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.
Why is this test removed?
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 think we can keep the test? It's a simpler function of course but can still be tested.
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.
makes sense, I consider get_flag
to be part of the public API
old_var = getattr(self, f'COMPILER{variant}_FLAGS', None) | ||
if old_var is not None: | ||
self.log.deprecated(f'COMPILER{variant}_FLAGS has been renamed to COMPILER{variant}_OPTIONS.', '6.0') | ||
setattr(self, f'COMPILER{variant}_OPTIONS', old_var) |
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.
Added warnings and backwards compat to handle the renamed variables to address @boegel review
13aa8c8
to
4d83479
Compare
Fixes #4269
It was extremely difficult to read this code, partly because a bunch of variables like:
were, in fact, not flags, but options. I renamed these variables because it was so misleading. To add to this, we also have two COMPILER_FLAGS used for different things (neither of them are flags)