aboutsummaryrefslogtreecommitdiff
path: root/clang/lib
diff options
context:
space:
mode:
authorMike Rice <michael.p.rice@intel.com>2022-05-11 11:26:07 -0700
committerMike Rice <michael.p.rice@intel.com>2022-05-11 14:02:09 -0700
commit772b0c44a4296a34cbc072c2a7cf294410d07a1a (patch)
tree702616877b0f8954c491a85a9186df263e3e2c76 /clang/lib
parent6055837f6d2941bbc09e44dc88b6a39b934a7453 (diff)
downloadllvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.zip
llvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.tar.gz
llvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.tar.bz2
[OpenMP] Fix mangling for linear parameters with negative stride
The 'n' character is used in place of '-' in the mangled name. Differential Revision: https://reviews.llvm.org/D125406
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGOpenMPRuntime.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index 52f6ca4..f197c33 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -11506,7 +11506,9 @@ static std::string mangleVectorParameters(ArrayRef<ParamAttrTy> ParamAttrs) {
ParamAttr.Kind == LinearUVal || ParamAttr.Kind == LinearVal) {
// Don't print the step value if it is not present or if it is
// equal to 1.
- if (ParamAttr.StrideOrArg != 1)
+ if (ParamAttr.StrideOrArg < 0)
+ Out << 'n' << -ParamAttr.StrideOrArg;
+ else if (ParamAttr.StrideOrArg != 1)
Out << ParamAttr.StrideOrArg;
}