diff options
author | Bob Duff <duff@adacore.com> | 2019-07-05 07:02:37 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-05 07:02:37 +0000 |
commit | adc81ec81db382128869cd62ca4e48bd87d1d880 (patch) | |
tree | 5c8f54e936d85b4dc0ac2d46852173e695fa850b /gcc/tree-outof-ssa.c | |
parent | 7145d799a347800ea6ef5c5e3114db11469137a8 (diff) | |
download | gcc-adc81ec81db382128869cd62ca4e48bd87d1d880.zip gcc-adc81ec81db382128869cd62ca4e48bd87d1d880.tar.gz gcc-adc81ec81db382128869cd62ca4e48bd87d1d880.tar.bz2 |
[Ada] Crash on exported build-in-place function
This patch fixes a bug where if a function is build-in-place, and is
exported, and contains an extended_return_statement whose object is
initialized with another build-in-place function call, then the compiler
will crash.
2019-07-05 Bob Duff <duff@adacore.com>
gcc/ada/
* exp_ch6.adb (Is_Build_In_Place_Function): Narrow the check for
Has_Foreign_Convention to the imported case only. If a
build-in-place function is exported, and called from Ada code,
build-in-place protocols should be used.
gcc/testsuite/
* gnat.dg/bip_export.adb, gnat.dg/bip_export.ads: New testcase.
From-SVN: r273113
Diffstat (limited to 'gcc/tree-outof-ssa.c')
0 files changed, 0 insertions, 0 deletions