Skip to content

Commit 0f4436c

Browse files
committed
test: workaround possible GCC bug with non-const variable templates
1 parent e4be436 commit 0f4436c

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

regression-tests/pure2-template-specialization.cpp2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ t: @struct <T: type> specialize<T> type requires std::is_void_v<T> = {
77
t: @struct specialize<i64> type = {
88
c: i32 = 3;
99
}
10-
v: <T> i32 = 1;
11-
v: <> specialize<void> i32 = 2;
10+
v: <T> const i32 = 1;
11+
v: <> specialize<void> const i32 = 2;
1212
main: () = {
1313
[[assert Testing: t<i32>().a == 1]]
1414
[[assert Testing: t<void>().b == 2]]

regression-tests/test-results/gcc-13/pure2-template-specialization.cpp.execution

Whitespace-only changes.

regression-tests/test-results/gcc-13/pure2-template-specialization.cpp.output

Whitespace-only changes.

regression-tests/test-results/pure2-template-specialization.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ template<typename T> requires( std::is_void_v<T> )
2222
template<> class t<cpp2::i64> {
2323
public: cpp2::i32 c {3};
2424
};
25-
template<typename T> extern cpp2::i32 v;
25+
template<typename T> extern cpp2::i32 const v;
2626

2727
auto main() -> int;
2828

@@ -31,8 +31,8 @@ auto main() -> int;
3131

3232

3333
#line 10 "pure2-template-specialization.cpp2"
34-
template<typename T> cpp2::i32 v {1};
35-
template<> cpp2::i32 v<void> {2};
34+
template<typename T> cpp2::i32 const v {1};
35+
template<> cpp2::i32 const v<void> {2};
3636
auto main() -> int{
3737
cpp2::Testing.expects(t<cpp2::i32>().a==1, "");
3838
cpp2::Testing.expects(t<void>().b==2, "");

0 commit comments

Comments
 (0)