[PATCH] D129872: [clang][OpenMP] Fix runtime crash in the call to __kmp_alloc.

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 25 11:07:15 PDT 2022


ABataev added inline comments.


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:16379
+    // UnsignedPointerDiffType avoid truncate.
+    AllocatorHT = Context.getUnsignedPointerDiffType();
+  Allocator = PerformImplicitConversion(Allocator.get(), AllocatorHT,
----------------
jyu2 wrote:
> ABataev wrote:
> > jyu2 wrote:
> > > ABataev wrote:
> > > > jyu2 wrote:
> > > > > ABataev wrote:
> > > > > > It must be int type, no?
> > > > > unsigned int?
> > > > Check the standard, IIRC it says just int.
> > > I see that is enum type.
> > > 
> > > Runtime library definitions: The enum types for omp_allocator_handle_t:
> > > 
> > > The type omp_allocator_handle_t, which must be an implementation-defined (for C++
> > > possibly scoped) enum type with at least the omp_null_allocator enumerator with the
> > > value zero and an enumerator for each predefined memory allocator in Table 2.10;
> > IIRC, in C enums are always int-based.
> That is right.  But not for C++.
For C++ need to get the base int type.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129872/new/

https://reviews.llvm.org/D129872



More information about the cfe-commits mailing list