]> git.ipfire.org Git - thirdparty/gcc.git/commit
d: Fix alias protection being ignored if used before declaration.
authorIain Buclaw <ibuclaw@gdcproject.org>
Sun, 11 Oct 2020 20:20:43 +0000 (22:20 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Mon, 12 Oct 2020 10:10:19 +0000 (12:10 +0200)
commit4604348741386dcb4979a80e1d289ccbdbdeb033
treea6d3115515b560eaebab34cd0fb2ca3d2acdaecc
parente293967739f8ac5341ad4e2121f9d87b67499008
d: Fix alias protection being ignored if used before declaration.

Fixes a symbol resolver bug where a private alias becomes public if used
before its declaration.

gcc/d/ChangeLog:

2020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>

* dmd/declaration.c (AliasDeclaration::aliasSemantic): Apply storage
class and protection attributes.

gcc/testsuite/ChangeLog:

2020-10-12  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdc.test/fail_compilation/fail21001.d: New test.
* gdc.test/fail_compilation/imports/fail21001b.d: New test.
* gdc.test/fail_compilation/imports/issue21295ast_node.d: New test.
* gdc.test/fail_compilation/imports/issue21295astcodegen.d: New test.
* gdc.test/fail_compilation/imports/issue21295dtemplate.d: New test.
* gdc.test/fail_compilation/imports/issue21295visitor.d: New test.
* gdc.test/fail_compilation/issue21295.d: New test.

(cherry picked from commit c3249210b0108b5fc2dc403e558ab63882293be4)
gcc/d/dmd/declaration.c
gcc/testsuite/gdc.test/fail_compilation/fail21001.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/fail21001b.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/issue21295ast_node.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/issue21295astcodegen.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/issue21295dtemplate.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/issue21295visitor.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/issue21295.d [new file with mode: 0644]