diff --git a/gcc/testsuite/g++.dg/opt/complex1.C b/gcc/testsuite/g++.dg/opt/complex1.C
new file mode 100644
index 0000000000000000000000000000000000000000..0066c26c83bdaf8d0acf76f23d3913d33f46ae14
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/complex1.C
@@ -0,0 +1,9 @@
+// PR tree-opt/21994
+// { dg-do compile }
+// { dg-options "-O2" }
+
+_Complex float f(void);
+_Complex float g(void) throw()
+{
+  return f();
+}