ABataev added a comment. In D129872#3672332 <https://reviews.llvm.org/D129872#3672332>, @jyu2 wrote:
> In D129872#3671847 <https://reviews.llvm.org/D129872#3671847>, @ABataev wrote: > >> Why does it get truncated if the type must be integer? Probably, something >> incorrect in sema. > > This is only failed with C. But not for C++. So I don't think we have > problem for Seam. I may missing something... > The different is in reprehensive of enum type between c vs c++: > For C: > > | -EnumDecl 0x1193f838 <line:18:9, line:33:1> line:18:14 > omp_allocator_handle_t | > | > | -EnumConstantDecl 0x1193f940 <line:19:3, col:24> col:3 referenced > omp_null_allocator 'int' | > | > | `-ConstantExpr 0x1193f920 <col:24> 'int' > | > | > | > | -value: Int 0 | > | > | `-IntegerLiteral 0x1193f900 <col:24> 'int' 0 > | > | > | -EnumConstantDecl 0x1193f9d0 <line:20:7, col:31> col:7 referenced > omp_default_mem_alloc 'int' | > | > | `-ConstantExpr 0x1193f9b0 <col:31> 'int' > | > | > | > | -value: Int 1 | > | > | `-IntegerLiteral 0x1193f990 <col:31> 'int' 1 > | > | > > for C++: > > | -EnumDecl 0x11b31d88 <line:18:9, line:33:1> line:18:14 > omp_allocator_handle_t | > | > | -EnumConstantDecl 0x11b31e90 <line:19:3, col:24> col:3 referenced > omp_null_allocator 'omp_allocator_handle_t' | > | > | `-ImplicitCastExpr 0x11b4b770 <col:24> 'unsigned long' <IntegralCast> > | > | > | `-ConstantExpr 0x11b31e70 <col:24> 'int' > | > | > | > | -value: Int 0 | > | > | `-IntegerLiteral 0x11b31e50 <col:24> 'int' 0 > | > | > | -EnumConstantDecl 0x11b31f20 <line:20:7, col:31> col:7 referenced > omp_default_mem_alloc 'omp_allocator_handle_t' | > | > | `-ImplicitCastExpr 0x11b4b788 <col:31> 'unsigned long' <IntegralCast> > | > | > | `-ConstantExpr 0x11b31f00 <col:31> 'int' > | > | > | > | -value: Int 1 | > | > | `-IntegerLiteral 0x11b31ee0 <col:31> 'int' 1 > | > | If the type does not match, we have a problem with casting. Need to add an explicit cast to int-like type rather than avoid implicit casts. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129872/new/ https://reviews.llvm.org/D129872 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits