aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2019-08-14 09:52:24 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-08-14 09:52:24 +0000
commitdba246bfabc54c9a97304f4ab65fda62bd2936c8 (patch)
tree802500001857fadec9dcc6a5b14f93c9223b3321 /gcc/builtins.c
parent2d1439c7ad59625fea5598dda6679c6f3be1fa1c (diff)
downloadgcc-dba246bfabc54c9a97304f4ab65fda62bd2936c8.zip
gcc-dba246bfabc54c9a97304f4ab65fda62bd2936c8.tar.gz
gcc-dba246bfabc54c9a97304f4ab65fda62bd2936c8.tar.bz2
[Ada] Incorrect error on inline protected function
This patch fixes a bug where if a protected function has a pragma Inline, and has no local variables, and the body consists of a single extended_return_statement, and the result type is an indefinite composite subtype, and inlining is enabled, the compiler gives an error, even though the program is legal. 2019-08-14 Bob Duff <duff@adacore.com> gcc/ada/ * inline.adb (Check_And_Split_Unconstrained_Function): Ignore protected functions to get rid of spurious error. The transformation done by this procedure triggers legality errors in the generated code in this case. gcc/testsuite/ * gnat.dg/inline19.adb, gnat.dg/inline19.ads: New testcase. From-SVN: r274467
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions