filcab added inline comments.
================ Comment at: lib/CodeGen/CGExprScalar.cpp:305 enum ImplicitConversionCheckKind : unsigned char { - ICCK_IntegerTruncation = 0, + ICCK_IntegerTruncation = 0, // Legacy, no longer used. + ICCK_UnsignedIntegerTruncation = 1, ---------------- vitalybuka wrote: > lebedev.ri wrote: > > vitalybuka wrote: > > > why do you need to keep it? > > *Here* - for consistency with the compiler-rt part. > > > > There - what about mismatch in the used clang version > > (which still only produced the `(ImplicitConversionCheckKind)0`), and > > compiler-rt version > > (which has `(ImplicitConversionCheckKind)1` and > > `(ImplicitConversionCheckKind)2`)? > > Is it 100.00% guaranteed not to happen? I'm not so sure. > I don't think we try support mismatched versions of clang and compiler-rt We don't make a big effort in open source. But we try to at least make it work (check previous work on type_mismatch handler, before versions were introduced), or error "loudly" when linking (versioned checks). I think having keeping the older check number free is a good thing and allows us to have binary compatibility with older objects (and keep supporting old object files (we *did* release llvm 7.0 with the old-type check)). If we hadn't had a release in between, I'd be all for reusing. Repository: rC Clang https://reviews.llvm.org/D50901 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits