tianshilei1992 added inline comments.
================ Comment at: clang/lib/Sema/SemaOpenMP.cpp:11663 X = BO->getLHS(); - D = BO->getRHS(); + D = BO->getRHS()->IgnoreImpCasts(); ---------------- ABataev wrote: > Why do we need to use `IgnoreImpCasts()` here and in other places? Clang usually inserts implicit casts. For example, if we have: ``` char a, b, c; #pragma omp atomic compare capture { r = a; if (a > c) { a = b; } } ``` Clang inserts an implicit cast from `char` to `int` for all statements except `r = a`. In this case, what should be the right solution? I'm not quite sure actually. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120290/new/ https://reviews.llvm.org/D120290 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits