diff options
author | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-03-15 13:37:07 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-03-15 13:37:07 +0000 |
commit | d2025512b3fb357768d85ccde8e21f571481d00f (patch) | |
tree | a04703639df3705833fbef5bae764e713747decf /gcc/d/dmd/declaration.c | |
parent | ec15654627d34bf9fb4f7624c7659ac4912bef17 (diff) | |
download | gcc-d2025512b3fb357768d85ccde8e21f571481d00f.zip gcc-d2025512b3fb357768d85ccde8e21f571481d00f.tar.gz gcc-d2025512b3fb357768d85ccde8e21f571481d00f.tar.bz2 |
re PR d/88990 (ICE in get_symbol_decl, at d/decl.cc:1097)
PR d/88990
d/dmd: Merge upstream dmd 8d4c876c6
The extern storage class flag was wrongly propagated to function scope
when starting the semantic pass on the body.
Fixes https://gcc.gnu.org/PR88990
Reviewed-on: https://github.com/dlang/dmd/pull/9452
From-SVN: r269708
Diffstat (limited to 'gcc/d/dmd/declaration.c')
-rw-r--r-- | gcc/d/dmd/declaration.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/d/dmd/declaration.c b/gcc/d/dmd/declaration.c index 6372e39..835c6ae 100644 --- a/gcc/d/dmd/declaration.c +++ b/gcc/d/dmd/declaration.c @@ -2008,6 +2008,7 @@ bool VarDeclaration::isDataseg() else if (storage_class & (STCstatic | STCextern | STCtls | STCgshared) || parent->isModule() || parent->isTemplateInstance() || parent->isNspace()) { + assert(!isParameter() && !isResult()); isdataseg = 1; // It is in the DataSegment } } |