summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-08-08 21:04:35 +0000
committerAnders Carlsson <andersca@mac.com>2009-08-08 21:04:35 +0000
commit2c101b3cd176b8022e34b8ededc42fefe435708f (patch)
tree5f37ba6a987a919abddbfce2899efbaeb54947c8 /clang
parent4a4e4487fccdd30ddf9ffd01ba010a881fe5e4ee (diff)
downloadbcm5719-llvm-2c101b3cd176b8022e34b8ededc42fefe435708f.tar.gz
bcm5719-llvm-2c101b3cd176b8022e34b8ededc42fefe435708f.zip
Use CastExpr::CK_ArrayToPointerDecay and fix an assert.
llvm-svn: 78502
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp2
-rw-r--r--clang/test/CodeGenCXX/array-pointer-decay.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 8a352c4ee29..fde61e88562 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -927,7 +927,7 @@ Sema::PerformImplicitConversion(Expr *&From, QualType ToType,
case ICK_Array_To_Pointer:
FromType = Context.getArrayDecayedType(FromType);
- ImpCastExprToType(From, FromType);
+ ImpCastExprToType(From, FromType, CastExpr::CK_ArrayToPointerDecay);
break;
case ICK_Function_To_Pointer:
diff --git a/clang/test/CodeGenCXX/array-pointer-decay.cpp b/clang/test/CodeGenCXX/array-pointer-decay.cpp
new file mode 100644
index 00000000000..5751b67b749
--- /dev/null
+++ b/clang/test/CodeGenCXX/array-pointer-decay.cpp
@@ -0,0 +1,7 @@
+// RUN: clang-cc %s -emit-llvm -o -
+
+void f(const char*);
+
+void g() {
+ f("hello");
+}
OpenPOWER on IntegriCloud