summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/implicit-ms-builtin-decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Sema/implicit-ms-builtin-decl.c')
-rw-r--r--clang/test/Sema/implicit-ms-builtin-decl.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/Sema/implicit-ms-builtin-decl.c b/clang/test/Sema/implicit-ms-builtin-decl.c
new file mode 100644
index 00000000000..e43d8f867d8
--- /dev/null
+++ b/clang/test/Sema/implicit-ms-builtin-decl.c
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s -fms-extensions
+
+void f() {
+ (void)_byteswap_ushort(42); // expected-warning{{implicitly declaring library function '_byteswap_ushort}} \
+ // expected-note{{include the header <stdlib.h> or explicitly provide a declaration for '_byteswap_ushort'}}
+ (void)_byteswap_uint64(42LL); // expected-warning{{implicitly declaring library function '_byteswap_uint64}} \
+ // expected-note{{include the header <stdlib.h> or explicitly provide a declaration for '_byteswap_uint64'}}
+}
+
+void _byteswap_ulong(); // expected-warning{{incompatible redeclaration of library function '_byteswap_ulong'}} \
+// expected-note{{'_byteswap_ulong' is a builtin}}
+
+unsigned short _byteswap_ushort(unsigned short);
+unsigned long long _byteswap_uint64(unsigned long long);
+
+void g() {
+ (void)_byteswap_ushort(42);
+ (void)_byteswap_uint64(42LL);
+}
OpenPOWER on IntegriCloud