diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:44:14 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:44:14 +0000 |
| commit | 2b6b257f4e5503a7a2675bdb8735693db769f75c (patch) | |
| tree | e85e046ae7003fe3bcc8b5454cd0fa3f7407b470 /test/Modules/Inputs/PR24954 | |
| parent | b4348ed0b7e90c0831b925fbee00b5f179a99796 (diff) | |
Notes
Diffstat (limited to 'test/Modules/Inputs/PR24954')
| -rw-r--r-- | test/Modules/Inputs/PR24954/A.h | 10 | ||||
| -rw-r--r-- | test/Modules/Inputs/PR24954/B.h | 30 | ||||
| -rw-r--r-- | test/Modules/Inputs/PR24954/module.modulemap | 9 |
3 files changed, 49 insertions, 0 deletions
diff --git a/test/Modules/Inputs/PR24954/A.h b/test/Modules/Inputs/PR24954/A.h new file mode 100644 index 000000000000..5e5d5bf92ce4 --- /dev/null +++ b/test/Modules/Inputs/PR24954/A.h @@ -0,0 +1,10 @@ +#include "B.h" + +template <class T> +class Expr { +public: + void print(B::basic_ostream<char>& os) { + os << B::setw(42); + os << B::endl; + } +}; diff --git a/test/Modules/Inputs/PR24954/B.h b/test/Modules/Inputs/PR24954/B.h new file mode 100644 index 000000000000..a8ddc7189270 --- /dev/null +++ b/test/Modules/Inputs/PR24954/B.h @@ -0,0 +1,30 @@ +namespace B { + + template <class _CharT> + struct basic_ostream { + basic_ostream& operator<<(basic_ostream& (*__pf)()); + }; + + + template <class _CharT> basic_ostream<_CharT>& + endl(); + + struct S1 { + template <class _CharT> friend void + operator<<(basic_ostream<_CharT>& __os, const S1& __x); + }; + + S1 setw(int __n); + + template <class _CharT> class S2; + + template <class _CharT> void + operator<<(basic_ostream<_CharT>& __os, const S2<_CharT>& __x); + + template <class _CharT> + struct S2 { + template <class _Cp> friend void + operator<<(basic_ostream<_Cp>& __os, const S2<_Cp>& __x); + }; + +} diff --git a/test/Modules/Inputs/PR24954/module.modulemap b/test/Modules/Inputs/PR24954/module.modulemap new file mode 100644 index 000000000000..49374181d758 --- /dev/null +++ b/test/Modules/Inputs/PR24954/module.modulemap @@ -0,0 +1,9 @@ +module A { + header "A.h" + export * +} + +module B { + header "B.h" + export * +} |
