Skip to content

Compatibilize ArmC6 with ArmC5-built archives #8803

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

Merged
merged 1 commit into from
Nov 24, 2018

Conversation

theotherjimmy
Copy link
Contributor

@theotherjimmy theotherjimmy commented Nov 19, 2018

Description

Arm compiler 5 builds with "short" enums and "short" wchars. This means
that C/C++ enums will be packed into the smallest power of 2 number of
bytes by the compiler and the wchar_t is 2 bytes. Arm compiler 6
defaults to packing enums into 4 bytes and wchar_t is 4 bytes.

Further, Arm Compiler 5's -O0 (no optimizations) bulids will actually
do some amount of optimizing, similar to Arm Compiler 6's -O1. I have
switched the debug profile to -O1 for maximum compatibility with our
prior behavior.

NOTE: "Compatibilize" is a word

Pull request type

[x] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

### Description

Arm compiler 5 builds with "short" enums and "short" wchars. This means
that C/C++ enums will be packed into the smallest power of 2 number of
bytes by the compiler and the `wchar_t` is 2 bytes. Arm compiler 6
defaults to packing enums into 4 bytes and `wchar_t` is 4 bytes.

Further, Arm Compiler 5's `-O0` (no optimizations) bulids will actually
do some amount of optimizing, similar to Arm Compiler 6's `-O1`. I have
switched the debug profile to `-O1` for maximum compatibility with our
prior behavior.

NOTE: "Compatibilize" is a word

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
@cmonr
Copy link
Contributor

cmonr commented Nov 19, 2018

@theotherjimmy Looks like your script missed a new line.

@cmonr cmonr changed the title Compatibilize ArmC6 with ArmC5-built archives ### Description Compatibilize ArmC6 with ArmC5-built archives Nov 19, 2018
@cmonr cmonr requested a review from a team November 19, 2018 20:31
@theotherjimmy
Copy link
Contributor Author

@cmonr Thanks for the reformatting.

@cmonr cmonr requested a review from a team November 19, 2018 22:13
Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Short diff is short

Copy link
Contributor

@kegilbert kegilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Collected some rudimentary benchmarks at @theotherjimmy 's request, changes look solid to me.

@0xc0170
Copy link
Contributor

0xc0170 commented Nov 22, 2018

CI started

@mbed-ci
Copy link

mbed-ci commented Nov 23, 2018

Test run: SUCCESS

Summary: 4 of 4 test jobs passed
Build number : 1
Build artifacts
Build logs

@0xc0170
Copy link
Contributor

0xc0170 commented Nov 23, 2018

Restarted test + dynamic CI jobs

@0xc0170 0xc0170 merged commit e72b7c3 into ARMmbed:master Nov 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants