aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-02-26 01:17:27 +0000
committerDouglas Gregor <dgregor@apple.com>2010-02-26 01:17:27 +0000
commit692f85c1d217c8c3cdc06d884ad61b101c75c856 (patch)
treeaa0b78d1c78a2e9d75ade525db1fd59ed6455e7f
parent42ba04a072c69d84a6660e4498215086662910ac (diff)
Commit Eli's fix for implicit conversions to array type. Fixes PR6264.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97202 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Sema/SemaInit.cpp2
-rw-r--r--test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp12
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
index 7b4a41777b..762f6db0a4 100644
--- a/lib/Sema/SemaInit.cpp
+++ b/lib/Sema/SemaInit.cpp
@@ -2227,7 +2227,7 @@ static OverloadingResult TryRefInitWithConversionFunction(Sema &S,
ToType, CandidateSet);
else
S.AddConversionCandidate(Conv, I.getAccess(), ActingDC,
- Initializer, cv1T1, CandidateSet);
+ Initializer, ToType, CandidateSet);
}
}
}
diff --git a/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp b/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
index cf529098df..4c7ee942bd 100644
--- a/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
+++ b/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
@@ -10,3 +10,15 @@ namespace PR5909 {
const Foo f = { 0 }; // It compiles without the 'const'.
bool z = Test(f.x);
}
+
+namespace PR6264 {
+ typedef int (&T)[3];
+ struct S
+ {
+ operator T ();
+ };
+ void f()
+ {
+ T bar = S();
+ }
+}