george.burgess.iv added a comment.
> However, the tests cover floating point, but they don't cover vector calls
> (arm_neon.h).
`#include <arm_neon.h>` gives me ~12,000 errors, presumably because there are
so many functions that take vectors/floats defined in it. The hope was that
calling `bar` and `foo` in aarch64-mgeneral_regs_only.c would cover similar
cases when the banned type was a vector. Is there another another case you had
in mind?
================
Comment at: lib/Sema/SemaExprCXX.cpp:7477
+static bool typeHasFloatingOrVectorComponent(
+ QualType Ty, llvm::SmallDenseMap<const RecordType *, bool, 8> &TypeCache) {
+ if (Ty.isNull())
----------------
rengolin wrote:
> The `TypeCache` object seems local.
>
> It doesn't look like it needs to survive outside of this function, as per its
> usage and the comment:
>
> // We may see recursive types in broken code.
>
> and it just adds another argument passing.
Good point. I just ended up making this conservative in the face of broken
code; should work just as well, and we don't have to deal with sketchy corner
cases. :)
https://reviews.llvm.org/D38479
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits