[multiple changes]

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.

From-SVN: r161151
This commit is contained in:
Arnaud Charlet 2010-06-22 11:11:16 +02:00
parent b2cacbfe4b
commit 8f443da5c3
4 changed files with 76 additions and 159 deletions

View File

@ -1,3 +1,13 @@
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.

View File

@ -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 *****************************************

View File

@ -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::

View File

@ -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;