summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/implicit-function-conversion.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2019-10-19 00:34:54 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2019-10-19 00:34:54 +0000
commit766f15814a012e5e6522c4e0f93c094ca2408367 (patch)
tree7ed706457af6a700a1193ecd7e71c1dbfb3aa086 /clang/test/CodeGenCXX/implicit-function-conversion.cpp
parent0904f924012db8002eec3a0533e310c1e714cca4 (diff)
downloadbcm5719-llvm-766f15814a012e5e6522c4e0f93c094ca2408367.tar.gz
bcm5719-llvm-766f15814a012e5e6522c4e0f93c094ca2408367.zip
Sema: Create a no-op implicit cast for lvalue function conversions.
This fixes an assertion failure in the case where an implicit conversion for a function call involves an lvalue function conversion, and makes the AST for initializations involving implicit lvalue function conversions more accurate. Differential Revision: https://reviews.llvm.org/D66437 llvm-svn: 375313
Diffstat (limited to 'clang/test/CodeGenCXX/implicit-function-conversion.cpp')
-rw-r--r--clang/test/CodeGenCXX/implicit-function-conversion.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/implicit-function-conversion.cpp b/clang/test/CodeGenCXX/implicit-function-conversion.cpp
new file mode 100644
index 00000000000..2d14c6ae519
--- /dev/null
+++ b/clang/test/CodeGenCXX/implicit-function-conversion.cpp
@@ -0,0 +1,7 @@
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-unknown-linux -std=c++17 | FileCheck %s
+
+double a(double) noexcept;
+int b(double (&)(double));
+
+// CHECK: call i32 @_Z1bRFddE(double (double)* @_Z1ad)
+int c = b(a);
OpenPOWER on IntegriCloud