aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Modules/Inputs/linkage-merge-bar.h3
-rw-r--r--test/Modules/Inputs/linkage-merge-foo.h1
-rw-r--r--test/Modules/linkage-merge.cpp10
3 files changed, 12 insertions, 2 deletions
diff --git a/test/Modules/Inputs/linkage-merge-bar.h b/test/Modules/Inputs/linkage-merge-bar.h
index e69de29bb2..cc528f7752 100644
--- a/test/Modules/Inputs/linkage-merge-bar.h
+++ b/test/Modules/Inputs/linkage-merge-bar.h
@@ -0,0 +1,3 @@
+#include <linkage-merge-foo.h>
+
+using ::g;
diff --git a/test/Modules/Inputs/linkage-merge-foo.h b/test/Modules/Inputs/linkage-merge-foo.h
index 7ed7775122..9cb62d2c0c 100644
--- a/test/Modules/Inputs/linkage-merge-foo.h
+++ b/test/Modules/Inputs/linkage-merge-foo.h
@@ -1 +1,2 @@
int f();
+static int g(int);
diff --git a/test/Modules/linkage-merge.cpp b/test/Modules/linkage-merge.cpp
index dafb0090e7..4e2ecef7d9 100644
--- a/test/Modules/linkage-merge.cpp
+++ b/test/Modules/linkage-merge.cpp
@@ -1,7 +1,13 @@
-// RUN: rm -rf %t
-// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs %s
+// FIXME: we should be able to put these in the .h file :-(
+// expected-note {{target of using declaration}}
+// expected-note {{using declaration}}
#include "linkage-merge-bar.h"
static int f(int);
int f(int);
+
+static void g(int); // expected-error {{declaration conflicts with target of using declaration already in scope}}
+
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -verify -fmodules -fmodules-cache-path=%t -I %S/Inputs %s