diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2025-07-21 16:49:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-21 17:49:45 -0400 |
commit | 4981bc24cff3344d477af04591b699da466e10b8 (patch) | |
tree | 84dde8b1007b573d63c3cc38defe63da77b1050d /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | de011e372dff540056b4abdf02de94061f5ddb86 (diff) | |
download | llvm-4981bc24cff3344d477af04591b699da466e10b8.zip llvm-4981bc24cff3344d477af04591b699da466e10b8.tar.gz llvm-4981bc24cff3344d477af04591b699da466e10b8.tar.bz2 |
[OpenMP] Fixup bugs found during fuzz testing (#143455)
A lot of these only trip when using sanitizers with the library.
* Insert forgotten free()s
* Change (-1) << amount to 0xffffffffu as left shifting a negative is UB
* Fixup integer parser to return INT_MAX when parsing huge string of
digits. e.g., 452523423423423423 returns INT_MAX
* Fixup range parsing for affinity mask so integer overflow does not
occur
* Don't assert when branch bits are 0, instead warn user that is invalid
and use the default value.
* Fixup kmp_set_defaults() so the C version only uses null terminated
strings and the Fortran version uses the string + size version.
* Make sure the KMP_ALIGN_ALLOC is power of two, otherwise use
CACHE_LINE.
* Disallow ability to set KMP_TASKING=1 (task barrier) this doesn't work
and hasn't worked for a long time.
* Limit KMP_HOT_TEAMS_MAX_LEVEL to 1024, an array is allocated based on
this value.
* Remove integer values for OMP_PROC_BIND. The specification only allows
strings and CSV of strings.
* Fix setting KMP_AFFINITY=disabled + OMP_DISPLAY_AFFINITY=TRUE
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions