summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2017-01-11 02:14:51 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2017-01-11 02:14:51 +0000
commitba1b5c98ba941b4382fc26bcf6b410c3120c22d9 (patch)
tree57aab2e8e4e3995049e8d4aacdfd0f5c3dd29b46 /clang/test/Modules/Inputs/libc-libcxx/sysroot/usr
parente482403e1cfd86f289bb89f716fd71ec734c9931 (diff)
downloadbcm5719-llvm-ba1b5c98ba941b4382fc26bcf6b410c3120c22d9.tar.gz
bcm5719-llvm-ba1b5c98ba941b4382fc26bcf6b410c3120c22d9.zip
[Modules] Support #import when entering files with modules
Textual headers and builtins that are #import'd from different modules should get re-entered when these modules are independent from each other. Differential Revision: https://reviews.llvm.org/D26267 rdar://problem/25881934 llvm-svn: 291644
Diffstat (limited to 'clang/test/Modules/Inputs/libc-libcxx/sysroot/usr')
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/cstddef9
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/math.h2
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/module.modulemap2
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/stddef.h1
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/type_traits6
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/module.modulemap8
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/stddef.h7
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_ptrdiff_t.h4
-rw-r--r--clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_types.h6
9 files changed, 44 insertions, 1 deletions
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/cstddef b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/cstddef
new file mode 100644
index 00000000000..4898c05fdbb
--- /dev/null
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/cstddef
@@ -0,0 +1,9 @@
+#ifndef _LIBCPP_CSTDDEF
+#define _LIBCPP_CSTDDEF
+
+#include <stddef.h>
+#include <type_traits>
+
+typedef ptrdiff_t my_ptrdiff_t;
+
+#endif
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/math.h b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/math.h
index f761b910f3e..9e2b6936125 100644
--- a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/math.h
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/math.h
@@ -4,4 +4,6 @@
#include_next <math.h>
template<typename T> T abs(T t) { return (t < 0) ? -t : t; }
+#include <type_traits>
+
#endif
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/module.modulemap b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/module.modulemap
index b06142a61a2..f57c11c4238 100644
--- a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/module.modulemap
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/module.modulemap
@@ -6,5 +6,7 @@ module "libc++" {
// FIXME: remove "textual" from stdint module below once the issue
// between umbrella headers and builtins is resolved.
module stdint { textual header "stdint.h" export * }
+ module type_traits { header "type_traits" export * }
+ module cstddef { header "cstddef" export * }
module __config { header "__config" export * }
}
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/stddef.h b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/stddef.h
index bd42008e169..14167cfe1d7 100644
--- a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/stddef.h
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/stddef.h
@@ -2,5 +2,6 @@
#define LIBCXX_STDDEF_H
#include <__config>
+#include_next <stddef.h>
#endif
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/type_traits b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/type_traits
new file mode 100644
index 00000000000..a91056e008a
--- /dev/null
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/c++/v1/type_traits
@@ -0,0 +1,6 @@
+#ifndef _LIBCPP_TYPE_TRAITS
+#define _LIBCPP_TYPE_TRAITS
+
+#include <cstddef>
+
+#endif
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/module.modulemap b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/module.modulemap
index 7244cb0987e..25b9468d291 100644
--- a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/module.modulemap
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/module.modulemap
@@ -5,4 +5,12 @@ module libc [no_undeclared_includes] {
module stdint { header "stdint.h" export * }
module stdio { header "stdio.h" export * }
module util { header "util.h" export * }
+ module POSIX {
+ module sys {
+ module types {
+ umbrella header "sys/_types/_types.h"
+ export *
+ }
+ }
+ }
}
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/stddef.h b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/stddef.h
index eca72412a65..b98249f0864 100644
--- a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/stddef.h
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/stddef.h
@@ -1 +1,6 @@
-// stddef.h
+#ifndef __STDDEF_H__
+#define __STDDEF_H__
+
+#include "sys/_types/_ptrdiff_t.h"
+
+#endif
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_ptrdiff_t.h b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_ptrdiff_t.h
new file mode 100644
index 00000000000..d14110e4644
--- /dev/null
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_ptrdiff_t.h
@@ -0,0 +1,4 @@
+#ifndef _PTRDIFF_T
+#define _PTRDIFF_T
+typedef int * ptrdiff_t;
+#endif /* _PTRDIFF_T */
diff --git a/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_types.h b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_types.h
new file mode 100644
index 00000000000..33d5e514433
--- /dev/null
+++ b/clang/test/Modules/Inputs/libc-libcxx/sysroot/usr/include/sys/_types/_types.h
@@ -0,0 +1,6 @@
+#ifndef _SYS_TYPES_UMBRELLA
+#define _SYS_TYPES_UMBRELLA
+
+#include "_ptrdiff_t.h"
+
+#endif
OpenPOWER on IntegriCloud