aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 12:50:03 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 12:50:03 +0200
commitcabe9abc6bcfea8565133519a3251bc0beea12d8 (patch)
tree20fad8e04a0361925fd8e427d9286de89256dab3
parent428be3acf54239437e8982709bab2dc754fbe3d4 (diff)
downloadgcc-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/ChangeLog11
-rw-r--r--gcc/ada/lib-xref.ads2
-rw-r--r--gcc/ada/sem_ch6.adb9
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,