-
Notifications
You must be signed in to change notification settings - Fork 3k
µVision export: Handle more C++ language standards #11225
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
The head ref may contain hidden characters: "\u00B5vision528c++14"
Conversation
µVision 5.28a now has options for gnu++14, c++14 and c++17, so we can use them rather than falling back to c++14 or gnu++11. This does mean that an export of current master, which uses gnu++14, will now require version 5.28a. I have not tested what happens if 5.27 is given a project file with these new option numbers. However, export of current master is broken for 5.27 anyway, as the fallback to gnu++11 means it fails to compile the C++14 constructs now in the codebase. Fixes ARMmbed#11217, as long as users update µVision too.
I think this should target 5.14, as it does force an update of MDK for people doing export. For 5.13, they get away with the fact it falls back to gnu++11, as the 5.13 codebase has no C++14 constructs. |
(Note I made sure to use |
@kjbracey-arm, thank you for your changes. |
Tagged for 5.14 I tested with 5.26 that I still have locally, errors:
Can we expand here to explain due to the new standard this won't work in earlier versions and fixes the issue (a reason to update) ? |
Expanded the release notes - feel free to edit further. |
@ARMmbed/mbed-os-test This update (5.28 uvision) needs to happen in CI as well |
Indeed, but this isn't a breaking change for CI, as it will be already broken due to the C++14 code on master. |
Just updating uvision in CI should make master green again for uvision exporters tests. We can progress here now anyway |
@ARMmbed/mbed-os-tools Please review |
This fix should land soon to fix uvision exporters nightly failures. |
Pending review 👀 |
CI started |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Build restarted |
Note, we are close to the 5.14 code freeze. This needs update asap to be in 5.14 otherwise will move to the next minor version @kjbracey-arm Let's poke tools team to get their review here |
Test run: FAILEDSummary: 2 of 4 test jobs failed Failed test jobs:
|
CI restarted |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
@kjbracey-arm It's ready, shall this go to 5.14? @ARMmbed/mbed-os-tools Please review |
I believe it has to, or you've no working µVision export. |
Mbed OS 5.14 needs 5.28a - see ARMmbed/mbed-os#11225
Mbed OS 5.14 needs 5.28a - see ARMmbed/mbed-os#11225
Mbed OS 5.14 needs 5.28a - see ARMmbed/mbed-os#11225
Description
µVision 5.28a now has options for gnu++14, c++14 and c++17, so we can use them rather than falling back to c++14 or gnu++11.
This does mean that an export of current master, which uses gnu++14, will now require version 5.28a. I have not tested what happens if 5.27 is given a project file with these new option numbers.
However, export of current master is broken for 5.27 anyway, as the fallback to gnu++11 means it fails to compile the C++14 constructs now in the codebase.
Fixes #11217, as long as users update µVision too.
Pull request type
Release Notes
-std=gnu++14
mode cannot be selected in earlier versions. In Mbed OS 5.13, the µVision exporter was selecting-std=gnu++11
, but this is no longer sufficient.