summaryrefslogtreecommitdiff
path: root/test/Headers
diff options
context:
space:
mode:
Diffstat (limited to 'test/Headers')
-rw-r--r--test/Headers/Inputs/include/stdint.h18
-rw-r--r--test/Headers/altivec-header.c12
-rw-r--r--test/Headers/c89.c1
-rw-r--r--test/Headers/int64-type.c1
-rw-r--r--test/Headers/typedef_guards.c1
-rw-r--r--test/Headers/unwind.c19
-rw-r--r--test/Headers/wchar_limits.cpp1
-rw-r--r--test/Headers/wmmintrin.c1
8 files changed, 54 insertions, 0 deletions
diff --git a/test/Headers/Inputs/include/stdint.h b/test/Headers/Inputs/include/stdint.h
new file mode 100644
index 0000000000000..7a1fddef82daf
--- /dev/null
+++ b/test/Headers/Inputs/include/stdint.h
@@ -0,0 +1,18 @@
+#ifndef STDINT_H
+#define STDINT_H
+
+#ifdef __INT32_TYPE__
+typedef unsigned __INT32_TYPE__ uint32_t;
+#endif
+
+#ifdef __INT64_TYPE__
+typedef unsigned __INT64_TYPE__ uint64_t;
+#endif
+
+#ifdef __INTPTR_TYPE__
+typedef unsigned __INTPTR_TYPE__ uintptr_t;
+#else
+#error Every target should have __INTPTR_TYPE__
+#endif
+
+#endif /* STDINT_H */
diff --git a/test/Headers/altivec-header.c b/test/Headers/altivec-header.c
new file mode 100644
index 0000000000000..085e799f95990
--- /dev/null
+++ b/test/Headers/altivec-header.c
@@ -0,0 +1,12 @@
+// REQUIRES: ppc64-registered-target
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -maltivec -ffreestanding -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -maltivec -ffreestanding -fno-lax-vector-conversions -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -maltivec -ffreestanding -x c++ -S -o - %s | FileCheck %s
+
+#include <altivec.h>
+
+// Verify that simply including <altivec.h> does not generate any code
+// (i.e. all inline routines in the header are marked "static")
+
+// CHECK-NOT: .text
+
diff --git a/test/Headers/c89.c b/test/Headers/c89.c
index eea8d44d8dced..acf01b40e06e2 100644
--- a/test/Headers/c89.c
+++ b/test/Headers/c89.c
@@ -1,4 +1,5 @@
// RUN: %clang -target i386-apple-darwin10 -fsyntax-only -Xclang -verify -std=c89 %s
+// expected-no-diagnostics
// FIXME: Disable inclusion of mm_malloc.h, our current implementation is broken
// on win32 since we don't generally know how to find errno.h.
diff --git a/test/Headers/int64-type.c b/test/Headers/int64-type.c
index 16b42d2d7f8f4..442f8a0cc2302 100644
--- a/test/Headers/int64-type.c
+++ b/test/Headers/int64-type.c
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -verify %s -ffreestanding
+// expected-no-diagnostics
#include <stdint.h>
typedef unsigned long long uint64_t;
diff --git a/test/Headers/typedef_guards.c b/test/Headers/typedef_guards.c
index 646b2ca0efe81..968b26d8c7319 100644
--- a/test/Headers/typedef_guards.c
+++ b/test/Headers/typedef_guards.c
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fsyntax-only -verify %s
+// expected-no-diagnostics
// NULL is rdefined in stddef.h
#define NULL ((void*) 0)
diff --git a/test/Headers/unwind.c b/test/Headers/unwind.c
new file mode 100644
index 0000000000000..68100a8f85513
--- /dev/null
+++ b/test/Headers/unwind.c
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -triple arm-unknown-linux-gnueabi \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only %s
+// RUN: %clang_cc1 -triple mips-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only %s
+// RUN: %clang_cc1 -triple i686-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only %s
+// RUN: %clang_cc1 -triple x86_64-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only %s
+
+// RUN: %clang_cc1 -triple arm-unknown-linux-gnueabi \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only -x c++ %s
+// RUN: %clang_cc1 -triple mips-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only -x c++ %s
+// RUN: %clang_cc1 -triple i686-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only -x c++ %s
+// RUN: %clang_cc1 -triple x86_64-unknown-linux \
+// RUN: -isystem %S/Inputs/include -ffreestanding -fsyntax-only -x c++ %s
+
+#include "unwind.h"
diff --git a/test/Headers/wchar_limits.cpp b/test/Headers/wchar_limits.cpp
index 93a99ad78f2bc..35ae7affb514d 100644
--- a/test/Headers/wchar_limits.cpp
+++ b/test/Headers/wchar_limits.cpp
@@ -1,5 +1,6 @@
// RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify %s
// RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -fshort-wchar %s
+// expected-no-diagnostics
#include <stdint.h>
diff --git a/test/Headers/wmmintrin.c b/test/Headers/wmmintrin.c
index 6aa8be49881a6..8cabbf066388b 100644
--- a/test/Headers/wmmintrin.c
+++ b/test/Headers/wmmintrin.c
@@ -1,4 +1,5 @@
// Check that wmmintrin.h is includable with just -maes.
// RUN: %clang_cc1 -triple x86_64-unknown-unknown \
// RUN: -verify %s -ffreestanding -target-feature +aes
+// expected-no-diagnostics
#include <wmmintrin.h>