diff options
author | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-06-16 07:47:57 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-06-16 07:47:57 +0000 |
commit | 22682e5b5f7cc596b165534ad9b8f201354126ce (patch) | |
tree | 4e8184feeaa8e54c00a63c686a0b785a8829dadd /gcc/testsuite/gdc.test | |
parent | 347f5c885f33bcd905d601faa5a93b01715eacf8 (diff) | |
download | gcc-22682e5b5f7cc596b165534ad9b8f201354126ce.zip gcc-22682e5b5f7cc596b165534ad9b8f201354126ce.tar.gz gcc-22682e5b5f7cc596b165534ad9b8f201354126ce.tar.bz2 |
re PR d/90661 (ICE in AlignDeclaration::syntaxCopy, at d/dmd/attrib.c:670)
PR d/90661
d/dmd: Merge upstream dmd c74e624c9
Fixes segmentation fault in AlignDeclaration::syntaxCopy.
Reviewed-on: https://github.com/dlang/dmd/pull/10001
From-SVN: r272341
Diffstat (limited to 'gcc/testsuite/gdc.test')
-rw-r--r-- | gcc/testsuite/gdc.test/compilable/aggr_alignment.d | 13 | ||||
-rw-r--r-- | gcc/testsuite/gdc.test/fail_compilation/fail19914.d | 10 | ||||
-rw-r--r-- | gcc/testsuite/gdc.test/fail_compilation/fail19915.d | 10 |
3 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gdc.test/compilable/aggr_alignment.d b/gcc/testsuite/gdc.test/compilable/aggr_alignment.d index 3a80a03..bf602ff 100644 --- a/gcc/testsuite/gdc.test/compilable/aggr_alignment.d +++ b/gcc/testsuite/gdc.test/compilable/aggr_alignment.d @@ -26,3 +26,16 @@ enum payloadOffset = C2.bytes.offsetof; static assert(C2.int1.offsetof == payloadOffset + 8); static assert(C2.alignof == size_t.sizeof); static assert(__traits(classInstanceSize, C2) == payloadOffset + 12); + + +/***************************************************/ +// https://issues.dlang.org/show_bug.cgi?id=19914 +// https://issues.dlang.org/show_bug.cgi?id=19915 + +class TemplatedClass(T) +{ + align T field; +} + +mixin TemplatedClass!(string); +alias TCint = TemplatedClass!(int); diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail19914.d b/gcc/testsuite/gdc.test/fail_compilation/fail19914.d new file mode 100644 index 0000000..a890d35 --- /dev/null +++ b/gcc/testsuite/gdc.test/fail_compilation/fail19914.d @@ -0,0 +1,10 @@ +// PERMUTE_ARGS: +/* +TEST_OUTPUT: +--- +fail_compilation/fail19914.d(9): Error: undefined identifier `c` in module `fail19914` +fail_compilation/fail19914.d(10): Error: mixin `fail19914.a!string` error instantiating +--- +*/ +class a(b) { align.c d; } +mixin a!(string); diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail19915.d b/gcc/testsuite/gdc.test/fail_compilation/fail19915.d new file mode 100644 index 0000000..17e05ee --- /dev/null +++ b/gcc/testsuite/gdc.test/fail_compilation/fail19915.d @@ -0,0 +1,10 @@ +// PERMUTE_ARGS: +/* +TEST_OUTPUT: +--- +fail_compilation/fail19915.d(9): Error: undefined identifier `c` in module `fail19915` +fail_compilation/fail19915.d(10): Error: template instance `fail19915.a!int` error instantiating +--- +*/ +class a (b) { align.c d; } +alias a!(int) e; |