summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-22 09:11:16 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-22 09:11:16 +0000
commitad710e3336b58c0b921f2655a8f61c029f963de8 (patch)
tree6f492c0bbe4f046876d38f1a829ccf68dd3a00ea /gcc
parent840cf63b740687b1206961f77fb8325c053b1d1e (diff)
downloadppe42-gcc-ad710e3336b58c0b921f2655a8f61c029f963de8.tar.gz
ppe42-gcc-ad710e3336b58c0b921f2655a8f61c029f963de8.zip
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting. Minor code reorganization. 2010-06-22 Emmanuel Briot <briot@adacore.com> * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should not build this file on its own (only through gnat_ugn.texi). Remove macro definitions and insert simpler version in gnat_ugn.texi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161151 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog10
-rw-r--r--gcc/ada/gnat_ugn.texi51
-rw-r--r--gcc/ada/projects.texi150
-rw-r--r--gcc/ada/sem_ch3.adb24
4 files changed, 76 insertions, 159 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 87ae005f9e8..9c56195442b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,15 @@
2010-06-22 Robert Dewar <dewar@adacore.com>
+ * sem_ch3.adb: Minor reformatting. Minor code reorganization.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
+ not build this file on its own (only through gnat_ugn.texi).
+ Remove macro definitions and insert simpler version in gnat_ugn.texi.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
* ali-util.ads: Minor comment update.
* g-socthi-mingw.adb: Minor reformatting.
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 21f0352d06f..5a6a9033413 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -11731,6 +11731,57 @@ are used in this example.
@c * G N A T P r o j e c t M a n a g e r *
@c *****************************************
+@c ------ macros for projects.texi
+@c These macros are needed when building the gprbuild documentation, but
+@c should have no effect in the gnat user's guide
+
+@macro CODESAMPLE{TXT}
+@smallexample
+@group
+\TXT\
+@end group
+@end smallexample
+@end macro
+
+@macro PROJECTFILE{TXT}
+@CODESAMPLE{\TXT\}
+@end macro
+
+@c simulates a newline when in a @CODESAMPLE
+@macro NL{}
+@end macro
+
+@macro TIP{TXT}
+@quotation
+@noindent
+\TXT\
+@end quotation
+@end macro
+
+@macro TIPHTML{TXT}
+\TXT\
+@end macro
+
+@macro IMPORTANT{TXT}
+@quotation
+@noindent
+\TXT\
+@end quotation
+
+@end macro
+
+@macro NOTE{TXT}
+@quotation
+@noindent
+\TXT\
+@end quotation
+@end macro
+
+@macro CINDEX{TXT}
+@cindex \TXT\
+@end macro
+
+
@include projects.texi
@c *****************************************
diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi
index fb88fa3f083..2624e75ff68 100644
--- a/gcc/ada/projects.texi
+++ b/gcc/ada/projects.texi
@@ -1,149 +1,9 @@
@set gprconfig GPRconfig
-@c --------------------------------------------- macro
-@c This macro can be used to insert code sample. Each line should end with
-@c @NL{}, since otherwise texinfo doesn't guarantee that newlines will be
-@c preserved
-@macro CODESAMPLE{TXT}
-@ifhtml
-@smallexample
-@group
-\TXT\
-@end group
-@end smallexample
-@end ifhtml
-@ifnothtml
-@smallexample
-@group
-\TXT\
-@end group
-@end smallexample
-@end ifnothtml
-@end macro
-
-@macro PROJECTFILE{TXT}
-@CODESAMPLE{\TXT\}
-@end macro
-
-@c simulates a newline when in a @CODESAMPLE
-@macro NL{}
-@end macro
-
-@c --------------------------------------------- macro
-@c This macro can be used to insert a "Tip" or "Did you know" box. In HTML,
-@c this box is displayed in the right margin of the text, and thus doesn't
-@c disturbs the normal reading flow, but provides additional useful
-@c information. A small icon is displayed on the left of the box.
-@c Calls to this macro should be followed by @noindent for proper rendering
-@c in pdf
-@macro TIP{TXT}
-@ifhtml
-@html
-<div class="tip">
-@end html
-\TXT\
-@html
-</div>
-@end html
-@end ifhtml
-@ifnothtml
-@quotation
-@noindent
-@c @image{tip,15pt} \TXT\
-@end quotation
-@end ifnothtml
-@end macro
-
-@c --------------------------------------------- macro
-@c This macro is similar to TIP, but only has an effect in html output,
-@c and displayed a note in the margin. This can be used to highlight important
-@c points that are repeated in the text. In the other outputs, we do not
-@c know how to create margin notes, and whether that would only duplicate
-@c information in the main text
-@macro TIPHTML{TXT}
-@ifhtml
-@html
-<div class="tip">
-@end html
-\TXT\
-@html
-</div>
-@end html
-@end ifhtml
-@end macro
-
-@c --------------------------------------------- macro
-@c This macro can be used to insert an "Important" box in the text.
-@c This box is displayed inline in the main body of the text, but is
-@c surrounded by a frame, and has a small icon on the left.
-@c Calls to this macro should be followed by @noindent for proper rendering
-@c in pdf
-@macro IMPORTANT{TXT}
-@ifhtml
-@html
-<div class="important">
-@end html
-\TXT\
-@html
-</div>
-@end html
-@end ifhtml
-@ifnothtml
-@quotation
-@noindent
-@c @image{important,15pt} \TXT\
-@end quotation
-@end ifnothtml
-@end macro
-
-@c --------------------------------------------- macro
-@c This macro can be used to insert a "Note" box in the text. It is
-@c displayed inline in the main body of the text, but has a different
-@c icon that the "Important" box
-@c Calls to this macro should be followed by @noindent for proper rendering
-@c in pdf
-@macro NOTE{TXT}
-@ifhtml
-@html
-<div class="note">
-@end html
-\TXT\
-@html
-</div>
-@end html
-@end ifhtml
-@ifnothtml
-@quotation
-@noindent
-@c @image{note,15pt} \TXT\
-@end quotation
-@end ifnothtml
-@end macro
-
-@c --------------------------------------------- macro
-@c This macro creates index entries. Optionally, it can display that
-@c entry in the right-side margin of the text in HTML, to help people
-@c locate where exactly the index entry points to.
-
-@macro CINDEX{TXT}
-@cindex \TXT\
-@ifset useindex
-@ifhtml
-@html
-<div class="side"><a href="#Index">
-@end html
-\TXT\
-@html
-</a></div>
-@end html
-@end ifhtml
-@end ifset
-@end macro
-
-@menu
-* GNAT Project Manager::
-* Tools Supporting Project Files::
-@end menu
+@c ------ projects.texi
+@c This file is shared between the GNAT user's guide and gprbuild. It is not
+@c compilable on its own, you should instead compile the other two manuals.
+@c For that reason, there is no toplevel @menu
@c ---------------------------------------------
@node GNAT Project Manager
@@ -151,8 +11,6 @@
@c ---------------------------------------------
@noindent
-
-
@menu
* Introduction::
* Building With Projects::
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 1de948e108e..a28a1075790 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -1553,30 +1553,28 @@ package body Sem_Ch3 is
if No (Prim) then
- -- In some are cases, a name conflict may have
- -- kept the operation completely hidden. Look for
- -- it in the list of primitive operations of the
- -- type.
+ -- In some rare cases, a name conflict may have kept the
+ -- operation completely hidden. Look for it in the list
+ -- of primitive operations of the type.
declare
- El : Elmt_Id :=
- First_Elmt (Primitive_Operations (Tagged_Type));
+ El : Elmt_Id;
begin
+ El := First_Elmt (Primitive_Operations (Tagged_Type));
while Present (El) loop
Prim := Node (El);
- if Is_Subprogram (Prim)
- and then Alias (Prim) = Iface_Prim
- then
- exit;
- end if;
+ exit when Is_Subprogram (Prim)
+ and then Alias (Prim) = Iface_Prim;
Next_Elmt (El);
end loop;
end;
end if;
+ -- If the operation was not explicitly overridden, it should
+ -- have been inherited as an abstract operation so Prim can
+ -- not be Empty at this stage.
+
if No (Prim) then
- -- If the operation was not explicitly overridden, it
- -- should have been inherited as an abstract operation.
raise Program_Error;
end if;
OpenPOWER on IntegriCloud