[all-commits] [llvm/llvm-project] 31786e: [flang] Avoid undefined behaviour in Interval::Con...
David Spickett via All-commits
all-commits at lists.llvm.org
Tue Jul 8 06:39:31 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 31786ee89f683721248ef6c41d347a00a5e619f6
https://github.com/llvm/llvm-project/commit/31786ee89f683721248ef6c41d347a00a5e619f6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-08 (Tue, 08 Jul 2025)
Changed paths:
M flang/include/flang/Common/interval.h
Log Message:
-----------
[flang] Avoid undefined behaviour in Interval::Contains (#147505)
If the size of the other Interval was 0, (that.size_ - 1) would wrap
below zero.
I've fixed this so that a zero size interval A is within interval B if
the start of A is within B. There's a few ways you could handle zero
sized intervals in theory but this one passes all tests so I assume it's
the intention.
This fixes the following tests when ubsan is enabled:
Flang :: Lower/OpenMP/PFT/sections-pft.f90
Flang :: Lower/OpenMP/derived-type-allocatable.f90
Flang :: Lower/OpenMP/privatization-proc-ptr.f90
Flang :: Lower/OpenMP/sections.f90
Flang :: Parser/OpenMP/sections.f90
Flang :: Semantics/OpenMP/clause-validity01.f90
Flang :: Semantics/OpenMP/if-clause.f90
Flang :: Semantics/OpenMP/parallel-sections01.f90
Flang :: Semantics/OpenMP/private-assoc.f90
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list