diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-06-14 12:50:03 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-06-14 12:50:03 +0200 |
commit | cabe9abc6bcfea8565133519a3251bc0beea12d8 (patch) | |
tree | 20fad8e04a0361925fd8e427d9286de89256dab3 | |
parent | 428be3acf54239437e8982709bab2dc754fbe3d4 (diff) | |
download | gcc-cabe9abc6bcfea8565133519a3251bc0beea12d8.zip gcc-cabe9abc6bcfea8565133519a3251bc0beea12d8.tar.gz gcc-cabe9abc6bcfea8565133519a3251bc0beea12d8.tar.bz2 |
[multiple changes]
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.
From-SVN: r160723
-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, |