bruno added inline comments.

================
Comment at: lib/Sema/SemaExpr.cpp:8188
+  //        type and then perform the rest of the checks here. GCC as of
+  //        pre-release 7.0 does not accept this though.
+  if (VectorEltTy->isIntegralType(S.Context) &&
----------------
sdardis wrote:
> bruno wrote:
> > Is this something that GCC is going to support at some point? Regardless of 
> > GCC, do we want this behavior?
> > Is this something that GCC is going to support at some point?
> 
> I've reread GCC's source for conversions of scalar to vectors types and it 
> appears that GCC does attempt to convert constant real expressions to 
> integers but it appears to only work for C++. It's a little odd.
> 
> > Regardless of GCC, do we want this behavior?
> 
> Given my oversight of the support of implicit safe conversions of floating 
> point constants to integer types, I believe we should do this in general. 
> I'll rework the comment to be more accurate and add the necessary conversion 
> checks.
Ok, improving the FIXME sounds good to me. We can add this extra functionality 
in a future patch.


================
Comment at: lib/Sema/SemaExpr.cpp:10019
       isa<ExtVectorType>(vType->getAs<VectorType>()) || getLangOpts().OpenCL;
+  if ((!getLangOpts().CPlusPlus && !getLangOpts().OpenCL) && !isExtVectorType)
+    return InvalidVectorOperands(Loc, LHS, RHS);
----------------
sdardis wrote:
> bruno wrote:
> > Why `!getLangOpts().CPlusPlus` is a requirement here?
> GCC only supports the logical operators &&, ||, ! when compiling C++.
> 
> It's noted near the bottom half of this page: 
> https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
Ok. It would be nice to find out if there's any actual good reason for it, 
otherwise we might as well support it for non C++. But no need to block on 
that; just make sure to annotate these places with FIXMEs so we can work on it 
in the future. 


https://reviews.llvm.org/D25866



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to