aboutsummaryrefslogtreecommitdiff
path: root/gcc/multiple_target.c
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2018-11-14 11:42:21 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-11-14 11:42:21 +0000
commita2c54c951479b2eb5315f859a7035f48a3256c50 (patch)
tree402862c69eea358bd107637f10eb9391ceb19504 /gcc/multiple_target.c
parentb5f581cdbba4f24c762f9e7d9741b7488bf752d7 (diff)
downloadgcc-a2c54c951479b2eb5315f859a7035f48a3256c50.zip
gcc-a2c54c951479b2eb5315f859a7035f48a3256c50.tar.gz
gcc-a2c54c951479b2eb5315f859a7035f48a3256c50.tar.bz2
[Ada] Spurious error on Ghost null procedure
This patch modifies the analysis (which is really expansion) of null procedures to set the Ghost mode of the spec when the null procedure acts as a completion. This ensures that all nodes and entities generated by the expansion are marked as Ghost, and provide a proper context for references to Ghost entities. 2018-11-14 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch6.adb (Analyze_Null_Procedure): Capture Ghost and SPARK-related global state at the start of the routine. Set the Ghost mode of the completed spec if any. Restore the saved Ghost and SPARK-related global state on exit from the routine. gcc/testsuite/ * gnat.dg/ghost1.adb, gnat.dg/ghost1.ads: New testcase. From-SVN: r266132
Diffstat (limited to 'gcc/multiple_target.c')
0 files changed, 0 insertions, 0 deletions