summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/fntype-decl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/fntype-decl.cpp')
-rw-r--r--test/SemaCXX/fntype-decl.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/SemaCXX/fntype-decl.cpp b/test/SemaCXX/fntype-decl.cpp
new file mode 100644
index 0000000..ae85ff4
--- /dev/null
+++ b/test/SemaCXX/fntype-decl.cpp
@@ -0,0 +1,20 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+
+// PR2942
+typedef void fn(int);
+fn f; // expected-note {{previous declaration is here}}
+
+int g(int x, int y);
+int g(int x, int y = 2);
+
+typedef int g_type(int, int);
+g_type g;
+
+int h(int x) { // expected-note {{previous definition is here}}
+ return g(x);
+}
+
+float f(int) { } // expected-error{{functions that differ only in their return type cannot be overloaded}}
+
+int h(int) { } // expected-error{{redefinition of 'h'}}
+
OpenPOWER on IntegriCloud