aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2011-06-08 15:15:17 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2011-06-08 15:15:17 +0000
commitaf9cddfda10802f948e9d4b44ebded1ec749de21 (patch)
treed3495ae1a914c970234cf2a146e3d8c978d575d2
parent361d380eef53bd2ac3d5efbfea1636e1f8fbdd8d (diff)
Modify a diagnostic introduced in r132612 to emit QualTypes directly
This fixes a memory error on FreeBSD (and is the right thing to do in any case). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132750 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Sema/SemaExpr.cpp4
-rw-r--r--test/Parser/opencl-astype.cl4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index 1914a6a6ba..6d8e8c6311 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -5009,8 +5009,8 @@ ExprResult Sema::ActOnAsTypeExpr(Expr *expr, ParsedType destty,
if (Context.getTypeSize(DstTy) != Context.getTypeSize(SrcTy))
return ExprError(Diag(BuiltinLoc,
diag::err_invalid_astype_of_different_size)
- << DstTy.getAsString().c_str()
- << SrcTy.getAsString().c_str()
+ << DstTy
+ << SrcTy
<< expr->getSourceRange());
return Owned(new (Context) AsTypeExpr(expr, DstTy, VK, OK, BuiltinLoc, RParenLoc));
}
diff --git a/test/Parser/opencl-astype.cl b/test/Parser/opencl-astype.cl
index d476b841aa..d4c547e5cb 100644
--- a/test/Parser/opencl-astype.cl
+++ b/test/Parser/opencl-astype.cl
@@ -11,10 +11,10 @@ void test_astype() {
typedef __attribute__(( ext_vector_type(4) )) double double4;
float4 f4;
- double4 d4 = __builtin_astype(f4, double4); // expected-error{{invalid reinterpretation: sizes of double4 and float4 must match}}
+ double4 d4 = __builtin_astype(f4, double4); // expected-error{{invalid reinterpretation: sizes of 'double4' and 'float4' must match}}
// Verify int4->float3, float3->int4 works.
int4 i4;
float3 f3 = __builtin_astype(i4, float3);
i4 = __builtin_astype(f3, int4);
-} \ No newline at end of file
+}