summaryrefslogtreecommitdiffstats
path: root/build/clang-plugin/tests/TestLoadLibraryUsage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'build/clang-plugin/tests/TestLoadLibraryUsage.cpp')
-rw-r--r--build/clang-plugin/tests/TestLoadLibraryUsage.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/build/clang-plugin/tests/TestLoadLibraryUsage.cpp b/build/clang-plugin/tests/TestLoadLibraryUsage.cpp
new file mode 100644
index 0000000000..319c9d6b2a
--- /dev/null
+++ b/build/clang-plugin/tests/TestLoadLibraryUsage.cpp
@@ -0,0 +1,20 @@
+#include <windows.h>
+#include "prlink.h"
+
+void Func() {
+ auto h1 = PR_LoadLibrary(nullptr); // expected-error {{Usage of ASCII file functions (such as PR_LoadLibrary) is forbidden.}}
+ auto h2 = PR_LoadLibrary("C:\\Some\\Path");
+ auto h3 = LoadLibraryA(nullptr); // expected-error {{Usage of ASCII file functions (such as LoadLibraryA) is forbidden.}}
+ auto h4 = LoadLibraryA("C:\\Some\\Path");
+ auto h5 = LoadLibraryExA(nullptr, nullptr, 0); // expected-error {{Usage of ASCII file functions (such as LoadLibraryExA) is forbidden.}}
+ auto h6 = LoadLibraryExA("C:\\Some\\Path", nullptr, 0);
+
+#ifndef UNICODE
+ // LoadLibrary is a defnine for LoadLibraryA
+ auto h7 = LoadLibrary(nullptr); // expected-error {{Usage of ASCII file functions (such as LoadLibraryA) is forbidden.}}
+ auto h8 = LoadLibrary("C:\\Some\\Path");
+ // LoadLibraryEx is a define for LoadLibraryExA
+ auto h9 = LoadLibraryEx(nullptr, nullptr, 0); // expected-error {{Usage of ASCII file functions (such as LoadLibraryExA) is forbidden.}}
+ auto h10 = LoadLibraryEx("C:\\Some\\Path", nullptr, 0);
+#endif
+}