Skip to content

Commit 1c6c755

Browse files
committed
reuse std stubs
1 parent 0032f35 commit 1c6c755

File tree

14 files changed

+66
-126
lines changed

14 files changed

+66
-126
lines changed

src/test/TestRunner.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ handleFile(
114114

115115
// Create an adjusted MrDocsDatabase
116116
auto parentDir = files::getParentDir(filePath);
117-
std::unordered_map<std::string, std::vector<std::string>> defaultIncludePaths;
117+
std::unordered_map<std::string, std::vector<std::string>> defaultIncludePaths = {
118+
{"clang", {std::format("{}/include", dirs_.cwd)}}
119+
};
118120
MrDocsCompilationDatabase compilations(
119121
llvm::StringRef(parentDir), SingleFileDB(filePath), config, defaultIncludePaths);
120122

test-files/golden-tests/config/sfinae/redeclare.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,6 @@
11
// issue #850
22

3-
namespace std
4-
{
5-
template <bool C, typename T = void>
6-
struct enable_if
7-
{
8-
using type = T;
9-
};
10-
template <typename T>
11-
struct enable_if<false, T>
12-
{};
13-
14-
template <bool C, typename T = void>
15-
using enable_if_t = typename enable_if<C, T>::type;
16-
17-
template <typename T>
18-
struct is_class
19-
{
20-
static constexpr bool value = true;
21-
};
22-
23-
template <typename T>
24-
bool is_class_v = is_class<T>::value;
25-
}
3+
#include <std.hpp>
264

275
template <typename T>
286
void f(std::enable_if_t<std::is_class_v<T>>);

test-files/golden-tests/config/sfinae/redeclare.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<template>
66
<tparam name="T" class="type"/>
77
<function name="f" requires="std::is_class_v&lt;T&gt;" id="YbGnuURHdmyq4hExRxVObh4FTU8=">
8-
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="33" class="def"/>
9-
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="27"/>
10-
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="30"/>
8+
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="11" class="def"/>
9+
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="5"/>
10+
<file short-path="redeclare.cpp" source-path="redeclare.cpp" line="8"/>
1111
<param>
1212
<type name="void"/>
1313
</param>
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
warn-if-doc-error: false
22
warn-no-paramdoc: false
3-
exclude-symbols:
4-
- 'std::**'
Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,6 @@
11
// issue #849
22

3-
namespace std
4-
{
5-
template <bool C, typename T = void>
6-
struct enable_if
7-
{
8-
using type = T;
9-
};
10-
template <typename T>
11-
struct enable_if<false, T>
12-
{};
13-
14-
template <bool C, typename T = void>
15-
using enable_if_t = typename enable_if<C, T>::type;
16-
17-
template <typename T>
18-
struct is_class
19-
{
20-
static constexpr bool value = true;
21-
};
22-
23-
template <typename T>
24-
bool is_class_v = is_class<T>::value;
25-
}
3+
#include <std.hpp>
264

275
template <typename T>
286
std::enable_if_t<std::is_class_v<T>, int> f();

test-files/golden-tests/config/sfinae/return-based.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<template>
66
<tparam name="T" class="type"/>
77
<function name="f" requires="std::is_class_v&lt;T&gt;" id="DCJhD2r+8y4fkjzei4WTJAPHCaE=">
8-
<file short-path="return-based.cpp" source-path="return-based.cpp" line="27"/>
8+
<file short-path="return-based.cpp" source-path="return-based.cpp" line="5"/>
99
<return>
1010
<type name="int"/>
1111
</return>
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
warn-if-doc-error: false
22
warn-no-paramdoc: false
3-
exclude-symbols:
4-
- 'std::**'
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
namespace std
2+
{
3+
4+
template <bool C, typename T = void>
5+
struct enable_if
6+
{
7+
using type = T;
8+
};
9+
template <typename T>
10+
struct enable_if<false, T>
11+
{};
12+
13+
template <bool C, typename T = void>
14+
using enable_if_t = typename enable_if<C, T>::type;
15+
16+
template <typename ...Ts>
17+
using void_t = void;
18+
19+
template <typename T>
20+
struct is_integral
21+
{
22+
static constexpr bool value = true;
23+
};
24+
25+
template <typename T>
26+
bool is_integral_v = is_integral<T>::value;
27+
28+
template <typename T>
29+
struct is_class
30+
{
31+
static constexpr bool value = true;
32+
};
33+
34+
template <typename T>
35+
bool is_class_v = is_class<T>::value;
36+
37+
}

test-files/golden-tests/snippets/sqrt.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,4 @@
1-
namespace std
2-
{
3-
template <bool C, typename T = void>
4-
struct enable_if
5-
{
6-
using type = T;
7-
};
8-
template <typename T>
9-
struct enable_if<false, T>
10-
{};
11-
12-
template <bool C, typename T = void>
13-
using enable_if_t = typename enable_if<C, T>::type;
14-
15-
template <typename T>
16-
struct is_integral
17-
{
18-
static constexpr bool value = true;
19-
};
20-
21-
template <typename T>
22-
bool is_integral_v = is_integral<T>::value;
23-
}
1+
#include <std.hpp>
242

253
/** Computes the square root of an integral value.
264

test-files/golden-tests/snippets/sqrt.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<template>
66
<tparam name="T" class="type"/>
77
<function name="sqrt" requires="std::is_integral_v&lt;T&gt;" id="Ys2WHtLDVIke+oa2xBB2ekE+xds=">
8-
<file short-path="sqrt.cpp" source-path="sqrt.cpp" line="36" class="def"/>
8+
<file short-path="sqrt.cpp" source-path="sqrt.cpp" line="14" class="def"/>
99
<return>
1010
<type name="T"/>
1111
</return>

0 commit comments

Comments
 (0)