================ @@ -978,6 +979,28 @@ NumericLiteralParser::NumericLiteralParser(StringRef TokSpelling, // we break out of the loop. for (; s != ThisTokEnd; ++s) { switch (*s) { + case 'b': + case 'B': + if (!isFPConstant) + break; // Error for integer constant. + if (isBFloat16) + break; + if (!Target.hasBFloat16Type()) + break; + if (HasSize) + break; + HasSize = true; + + if ((Target.hasBFloat16Type() || LangOpts.CUDA || + (LangOpts.OpenMPIsTargetDevice && Target.getTriple().isNVPTX())) && ---------------- overmighty wrote:
We might not need to check for `LangOpts.CUDA || (LangOpts.OpenMPIsTargetDevice && Target.getTriple().isNVPTX())` in our case: https://github.com/llvm/llvm-project/blob/9eb7e64145f66f59f07edffb4f9c8a648174543e/clang/lib/Basic/Targets/NVPTX.h#L202 I'm not sure why it was needed for `f16` literals. https://github.com/llvm/llvm-project/pull/134214 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits