diff --git a/gcc/testsuite/g++.dg/parse/direct-initialization-2.C b/gcc/testsuite/g++.dg/parse/direct-initialization-2.C
new file mode 100644
index 0000000000000000000000000000000000000000..f362c74a7c39ce1ae88ef9039e909cec459e1db3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/direct-initialization-2.C
@@ -0,0 +1,18 @@
+// Copyright (C) 2002 Free Software Foundation
+// Origin: C++/729
+// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
+// { dg-do compile }
+
+struct A {
+   A(int) { }
+};
+
+struct B {
+   typedef B T;
+   B(A, char**) {}
+};
+
+int main(int argc, char** argv)
+{
+   B::T t(A(argc), argv);
+}