]> granicus.if.org Git - clang/commitdiff
Use CastExpr::CK_ArrayToPointerDecay and fix an assert.
authorAnders Carlsson <andersca@mac.com>
Sat, 8 Aug 2009 21:04:35 +0000 (21:04 +0000)
committerAnders Carlsson <andersca@mac.com>
Sat, 8 Aug 2009 21:04:35 +0000 (21:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78502 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExprCXX.cpp
test/CodeGenCXX/array-pointer-decay.cpp [new file with mode: 0644]

index 8a352c4ee298af04d8a19a357d2944b9e44d89f1..fde61e885629fd3633f4eb1a344a98fc3131d275 100644 (file)
@@ -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/test/CodeGenCXX/array-pointer-decay.cpp b/test/CodeGenCXX/array-pointer-decay.cpp
new file mode 100644 (file)
index 0000000..5751b67
--- /dev/null
@@ -0,0 +1,7 @@
+// RUN: clang-cc %s -emit-llvm -o -
+
+void f(const char*);
+
+void g() {
+  f("hello");
+}