diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/lib-xref.ads | 2 | ||||
-rw-r--r-- | gcc/ada/sem_ch6.adb | 9 |
3 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index dc7b429..f8899ea 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,14 @@ +2010-06-14 Ed Schonberg <schonberg@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when + the spec has been generated for a body without spec that carries an + Inline_Always pragma. + +2010-06-14 Arnaud Charlet <charlet@adacore.com> + + * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++ + macro. + 2010-06-14 Jerome Lambourg <lambourg@adacore.com> * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug diff --git a/gcc/ada/lib-xref.ads b/gcc/ada/lib-xref.ads index 2e9c8d2..c36ccef 100644 --- a/gcc/ada/lib-xref.ads +++ b/gcc/ada/lib-xref.ads @@ -560,7 +560,7 @@ package Lib.Xref is -- w protected object protected type -- x abstract procedure exception -- y abstract function entry or entry family - -- z generic formal parameter (unused) + -- z generic formal parameter C/C++ macro -------------------------------------- -- Handling of Imported Subprograms -- diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 16cd009..a263d82 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -2086,6 +2086,15 @@ package body Sem_Ch6 is then Conformant := True; + -- Conversely, the spec may have been generated for specless body + -- with an inline pragma. + + elsif Comes_From_Source (N) + and then not Comes_From_Source (Spec_Id) + and then Has_Pragma_Inline (Spec_Id) + then + Conformant := True; + else Check_Conformance (Body_Id, Spec_Id, |