[v3,5/6] c++/modules: Add testcase for fixed ICE [PR116568]
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Build passed
|
Commit Message
This ICE was fixed by ensuring that the lambdas had
LAMBDA_EXPR_EXTRA_SCOPE properly set.
PR c++/116568
gcc/testsuite/ChangeLog:
* g++.dg/modules/lambda-8.h: New test.
* g++.dg/modules/lambda-8_a.H: New test.
* g++.dg/modules/lambda-8_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
---
gcc/testsuite/g++.dg/modules/lambda-8.h | 7 +++++++
gcc/testsuite/g++.dg/modules/lambda-8_a.H | 5 +++++
gcc/testsuite/g++.dg/modules/lambda-8_b.C | 5 +++++
3 files changed, 17 insertions(+)
create mode 100644 gcc/testsuite/g++.dg/modules/lambda-8.h
create mode 100644 gcc/testsuite/g++.dg/modules/lambda-8_a.H
create mode 100644 gcc/testsuite/g++.dg/modules/lambda-8_b.C
new file mode 100644
@@ -0,0 +1,7 @@
+template <typename> struct S {
+ template <typename> static constexpr auto x = []{};
+ template <typename> using t = decltype([]{});
+};
+
+inline auto x = S<int>::x<int>;
+using t = S<int>::t<int>;
new file mode 100644
@@ -0,0 +1,5 @@
+// PR c++/116568
+// { dg-additional-options "-fmodules-ts -std=c++20" }
+// { dg-module-cmi {} }
+
+#include "lambda-8.h"
new file mode 100644
@@ -0,0 +1,5 @@
+// PR c++/116568
+// { dg-additional-options "-fmodules-ts -std=c++20" }
+
+#include "lambda-8.h"
+import "lambda-8_a.H";