Repository navigation
Commit d4ff345
authored
[release/9.0-staging] Add flags when the clang's major version is > 20.0 (#121151)
## Customer Impact
- [x] Customer reported
- [ ] Found internally
These issues were reported in
#119706 as problems with
clang-21 on Fedora 43. The investigation uncovered that clang introduced
a potentially breaking change in clang-20 that we do not currently
consume. These build changes impact VMR related builds when linux
distrobutions performing source build adopt clang-21.
clang-20 breaking change log -
https://releases.llvm.org/20.1.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes.
This PR contains the minimal changes needed to fix issues from the
following PR #120775.
.NET 10: #121124
.NET 8: #121150
## Regression
- [ ] Yes
- [x] No
Build with the new clang-21 compiler will cause the runtime to crash.
## Testing
This has been validated using various legs and examples to demonstrate
the usage of undefined behavior these flags convert into "defined"
behavior in C/C++.
## Risk
Low. This has zero impact on our production build since we specifically
target clang-18. This is only valid for those partners that are using
clang-20+.1 parent e9313ed commit d4ff345
3 files changed
Lines changed: 23 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
529 | | - | |
530 | | - | |
531 | | - | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
532 | 544 | | |
533 | 545 | | |
534 | 546 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6404 | 6404 | | |
6405 | 6405 | | |
6406 | 6406 | | |
6407 | | - | |
6408 | | - | |
| 6407 | + | |
| 6408 | + | |
6409 | 6409 | | |
6410 | 6410 | | |
6411 | 6411 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
786 | | - | |
| 786 | + | |
787 | 787 | | |
788 | 788 | | |
789 | 789 | | |
| |||
887 | 887 | | |
888 | 888 | | |
889 | 889 | | |
890 | | - | |
| 890 | + | |
891 | 891 | | |
892 | 892 | | |
893 | 893 | | |
| |||
3721 | 3721 | | |
3722 | 3722 | | |
3723 | 3723 | | |
3724 | | - | |
| 3724 | + | |
3725 | 3725 | | |
3726 | 3726 | | |
3727 | | - | |
| 3727 | + | |
3728 | 3728 | | |
3729 | 3729 | | |
3730 | 3730 | | |
3731 | | - | |
| 3731 | + | |
3732 | 3732 | | |
3733 | 3733 | | |
3734 | 3734 | | |
| |||
3739 | 3739 | | |
3740 | 3740 | | |
3741 | 3741 | | |
3742 | | - | |
| 3742 | + | |
3743 | 3743 | | |
3744 | 3744 | | |
3745 | 3745 | | |
| |||
0 commit comments