diff options
author | Geert Bosch <bosch@gnat.com> | 2002-12-15 17:18:20 +0100 |
---|---|---|
committer | Geert Bosch <bosch@gcc.gnu.org> | 2002-12-15 17:18:20 +0100 |
commit | 93a81b023fde51aa4eae1c2544766350067caaef (patch) | |
tree | 40d4766235dae891937e7eb5d1abbd2bee555e52 /gcc | |
parent | 595416a87f5fb0e3d5951d16fe7f7b2c5b6def7a (diff) | |
download | gcc-93a81b023fde51aa4eae1c2544766350067caaef.zip gcc-93a81b023fde51aa4eae1c2544766350067caaef.tar.gz gcc-93a81b023fde51aa4eae1c2544766350067caaef.tar.bz2 |
re PR ada/5690 (renaming subprograms and default_expression)
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
case of a body created for a Renaming_As_Body, on which
conformance checks are not performed. Fixes PR ada/5690.
From-SVN: r60158
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/sem_ch6.adb | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e5d0586..ed23cf9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2002-12-14 Geert Bosch <bosch@gnat.com> + + * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional + case of a body created for a Renaming_As_Body, on which + conformance checks are not performed. Fixes PR ada/5690. + 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org> * adaint.c (__gnat_tmp_name): Better, but good enough for now, solution to buffer overflow bug on GNU/Linux. diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index efdb154..650f19c 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -1056,9 +1056,15 @@ package body Sem_Ch6 is -- and the test can lead to spurious errors on nested defaults. if Present (Spec_Decl) - and then Nkind (Original_Node (Spec_Decl)) = - N_Subprogram_Renaming_Declaration and then not Comes_From_Source (N) + + and then + (Nkind (Original_Node (Spec_Decl)) = + N_Subprogram_Renaming_Declaration + + or else (Present (Corresponding_Body (Spec_Decl)) + and then Nkind + (Unit_Declaration_Node (Corresponding_Body (Spec_Decl))) = + N_Subprogram_Renaming_Declaration)) then Conformant := True; else |