summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compilerplugins/clang/test/external.cxx23
-rw-r--r--solenv/CompilerTest_compilerplugins_clang.mk1
2 files changed, 24 insertions, 0 deletions
diff --git a/compilerplugins/clang/test/external.cxx b/compilerplugins/clang/test/external.cxx
new file mode 100644
index 000000000000..f4f3d770f09d
--- /dev/null
+++ b/compilerplugins/clang/test/external.cxx
@@ -0,0 +1,23 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+// expected-error@+1 {{externally available entity 'n1' is not previously declared in an included file (if it is only used in this translation unit, make it static or put it in an unnamed namespace; otherwise, provide a declaration of it in an included file) [loplugin:external]}}
+int n1 = 0;
+
+int const n2 = 0; // no warning, internal linkage
+
+constexpr int n3 = 0; // no warning, internal linkage
+
+int main()
+{
+ (void)n2;
+ (void)n3;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/solenv/CompilerTest_compilerplugins_clang.mk b/solenv/CompilerTest_compilerplugins_clang.mk
index 9f3c7310657e..1014d3f8c909 100644
--- a/solenv/CompilerTest_compilerplugins_clang.mk
+++ b/solenv/CompilerTest_compilerplugins_clang.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_CompilerTest_add_exception_objects,compilerplugins_clang, \
compilerplugins/clang/test/dodgyswitch \
compilerplugins/clang/test/doubleconvert \
compilerplugins/clang/test/emptyif \
+ compilerplugins/clang/test/external \
compilerplugins/clang/test/externvar \
compilerplugins/clang/test/expressionalwayszero \
compilerplugins/clang/test/intvsfloat \