1lyasm created this revision. 1lyasm added a reviewer: tbaeder. Herald added a project: All. 1lyasm requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Fix https://github.com/llvm/llvm-project/issues/61518 by adding check for _Complex Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D146582 Files: clang/lib/Sema/SemaInit.cpp Index: clang/lib/Sema/SemaInit.cpp =================================================================== --- clang/lib/Sema/SemaInit.cpp +++ clang/lib/Sema/SemaInit.cpp @@ -1252,6 +1252,10 @@ unsigned DK = ExtraInitsIsError ? diag::err_excess_initializers : diag::ext_excess_initializers; + if (T->isAnyComplexType() && Index < IList->getNumInits() - 1) + // To highlight third instead of second element of init list when + // it is too large for _Complex type. + ++Index; SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) << initKind << IList->getInit(Index)->getSourceRange(); }
Index: clang/lib/Sema/SemaInit.cpp =================================================================== --- clang/lib/Sema/SemaInit.cpp +++ clang/lib/Sema/SemaInit.cpp @@ -1252,6 +1252,10 @@ unsigned DK = ExtraInitsIsError ? diag::err_excess_initializers : diag::ext_excess_initializers; + if (T->isAnyComplexType() && Index < IList->getNumInits() - 1) + // To highlight third instead of second element of init list when + // it is too large for _Complex type. + ++Index; SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) << initKind << IList->getInit(Index)->getSourceRange(); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits