Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2020 19:42:22 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r366683 - head/contrib/llvm-project/clang/lib/Sema
Message-ID:  <202010131942.09DJgMWk004851@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Tue Oct 13 19:42:22 2020
New Revision: 366683
URL: https://svnweb.freebsd.org/changeset/base/366683

Log:
  Merge commit 35ecc7fe4 from llvm git (by Hubert Tong):
  
    [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast
  
    Fix premature decision in the presence of type-dependent expression
    operands on whether AltiVec vector initializations from single
    expressions are "splat" operations.
  
    Verify that the instantiation is able to determine the correct cast
    semantics for both the scalar type and the vector type case.
  
    Note that, because the change only affects the single-expression case
    (and the target type is an AltiVec-style vector type), the
    replacement of a parenthesized list with a parenthesized expression
    does not change the semantics of the program in a program-observable
    manner.
  
    Reviewed By: aaron.ballman
  
    Differential Revision: https://reviews.llvm.org/D88526
  
  This should fix 'Assertion failed: (isScalarType()), function
  getScalarTypeKind, file /usr/src/contrib/llvm-project/clang/lib/AST
  /Type.cpp, line 2146', when building the graphics/opencv-core port for
  powerpc64le.
  
  Requested by:	pkubaj
  MFC after:	4 weeks
  X-MFC-With:	r364284

Modified:
  head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp

Modified: head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp	Tue Oct 13 19:34:36 2020	(r366682)
+++ head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp	Tue Oct 13 19:42:22 2020	(r366683)
@@ -7402,7 +7402,7 @@ Sema::ActOnCastExpr(Scope *S, SourceLocation LParenLoc
     }
     if (PE || PLE->getNumExprs() == 1) {
       Expr *E = (PE ? PE->getSubExpr() : PLE->getExpr(0));
-      if (!E->getType()->isVectorType())
+      if (!E->isTypeDependent() && !E->getType()->isVectorType())
         isVectorLiteral = true;
     }
     else



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010131942.09DJgMWk004851>