[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 29 Jul 2014 14:46:27 +0000 (16:46 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 29 Jul 2014 14:46:27 +0000 (16:46 +0200)
2014-07-29  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi, sem_prag.adb: Minor reformatting.

2014-07-29  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
complexity metrics.

2014-07-29  Thomas Quinot  <quinot@adacore.com>

PR ada/60652
* s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
CRTSCTS to be visible.

2014-07-29  Bob Duff  <duff@adacore.com>

* g-trasym.adb, g-trasym.ads: Code cleanup.

From-SVN: r213201

gcc/ada/ChangeLog
gcc/ada/g-trasym.adb
gcc/ada/g-trasym.ads
gcc/ada/gnat_rm.texi
gcc/ada/gnat_ugn.texi
gcc/ada/s-oscons-tmplt.c
gcc/ada/sem_prag.adb

index ac5a3acfc6089bfb10a1e758df1095655e6c87a6..eb1e9f76cb38013d21e19db84b9b2a6861d02644 100644 (file)
@@ -1,3 +1,22 @@
+2014-07-29  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi, sem_prag.adb: Minor reformatting.
+
+2014-07-29  Sergey Rybin  <rybin@adacore.com frybin>
+
+       * gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic
+       complexity metrics.
+
+2014-07-29  Thomas Quinot  <quinot@adacore.com>
+
+       PR ada/60652
+       * s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for
+       CRTSCTS to be visible.
+
+2014-07-29  Bob Duff  <duff@adacore.com>
+
+       * g-trasym.adb, g-trasym.ads: Code cleanup.
+
 2014-07-29  Doug Rupp  <rupp@adacore.com>
 
        * sigtramp-vxworks.c: Minor reformatting.
index a825f80b704d2ad5474880fcf76fd83470b699da..35d4020d3251f846edcddebb0bbb9eedad391071 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                     Copyright (C) 1999-2012, AdaCore                     --
+--                     Copyright (C) 1999-2014, AdaCore                     --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -69,7 +69,9 @@ package body GNAT.Traceback.Symbolic is
       end if;
    end Symbolic_Traceback;
 
-   function Symbolic_Traceback (E : Exception_Occurrence) return String is
+   function Symbolic_Traceback
+     (E : Ada.Exceptions.Exception_Occurrence) return String
+   is
    begin
       return Symbolic_Traceback (Tracebacks (E));
    end Symbolic_Traceback;
index 62bb632c8158b99fd86c1c623d29b6faa60ed456..a3ac108f6ea4589db7f3d23b583d612823714fc8 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---                     Copyright (C) 1999-2012, AdaCore                     --
+--                     Copyright (C) 1999-2014, AdaCore                     --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -84,7 +84,7 @@
 --  Symbolic_Traceback return a list of addresses expressed as "0x..."
 --  separated by line feed.
 
-with Ada.Exceptions; use Ada.Exceptions;
+with Ada.Exceptions;
 
 package GNAT.Traceback.Symbolic is
    pragma Elaborate_Body;
@@ -94,7 +94,8 @@ package GNAT.Traceback.Symbolic is
    --  Note: This procedure may be installed by Set_Trace_Decorator, to get a
    --  symbolic traceback on all exceptions raised (see GNAT.Exception_Traces).
 
-   function Symbolic_Traceback (E : Exception_Occurrence) return String;
+   function Symbolic_Traceback
+     (E : Ada.Exceptions.Exception_Occurrence) return String;
    --  Build string containing symbolic traceback of given exception occurrence
 
 end GNAT.Traceback.Symbolic;
index d631fd755c3914cafc39b9f3792a6d179332cc33..6f6e0edc55cef1b4b0d240c20ea3a8a3d66ca99e 100644 (file)
@@ -4573,7 +4573,9 @@ There are five supported optimization hints for a loop:
 @itemize @bullet
 @item Ivdep
 
-The programmer asserts that there are no loop-carried dependencies which would prevent consecutive iterations of the loop from being executed simultaneously.
+The programmer asserts that there are no loop-carried dependencies
+which would prevent consecutive iterations of the loop from being
+executed simultaneously.
 
 @item No_Unroll
 
@@ -4599,7 +4601,7 @@ unrolling, but there is no guarantee that the loop will be vectorized.
 
 @end itemize
 
-These hints do not void the need to pass the appropriate switches to the
+These hints do not remove the need to pass the appropriate switches to the
 compiler in order to enable the relevant optimizations, that is to say
 @option{-funroll-loops} for unrolling and @option{-ftree-vectorize} for
 vectorization.
@@ -8345,7 +8347,30 @@ that it is separately controllable using pragma @code{Assertion_Policy}.
 @unnumberedsec Aspect Iterable
 @findex Iterable
 @noindent
-PLEASE ADD DOCUMENTATION HERE???
+This aspect is used in the GNAT-defined formal container packages, to provide
+a light-weight mechanism for loops over such containers, without the overhead
+imposed by the tampering checks of standard Ada2012 iterators. The value of the
+aspect is a aggregate with four named  components: First, Next, Has_Element,
+and Element. The following is a typical example of use:
+
+@smallexample @c ada
+type List is private with
+    Iterable => (First        => First_Element,
+                 Next         => Advance,
+                 Has_Element  => Get_Element,
+                 Element      => List_Element);
+@end smallexample
+@itemize @bullet
+@item The value denoted by @code{First} must denote a primitive operation of
+the  container type that returns a Cursor, which must a be a type declared in
+the container package.
+@item The value of @code{Next} is a primitive operation of the container type
+that takes a cursor and yields a cursor.
+@item @code{Has_Element} is an operation that applies to a cursor a yields an
+element of the container.
+@item @code{Element} is the type of the elements of the container type, and
+thus the result of the function denoted by Has_Element.
+@end itemize
 
 @node Aspect Linker_Section
 @unnumberedsec Aspect Linker_Section
@@ -9107,7 +9132,7 @@ relevant environment variables at run time.
 @unnumberedsec Attribute Iterable
 @findex Iterable
 @noindent
-PLEASE ADD DOCUMENTATION HERE???
+Equivalent to Aspect Iterable.
 
 @node Attribute Large
 @unnumberedsec Attribute Large
index 3c43f25930fb4bf9f8acddde98dc4c73e2999880..2dcdb4f35a24af9e8cf4510523872d79d2cf6870 100644 (file)
@@ -16222,14 +16222,17 @@ and quantified expressions. For each body, we compute three metric values:
 @itemize @bullet
 @item
 the complexity introduced by control
-statements only, without taking into account short-circuit forms,
+statements only, without taking into account short-circuit forms
+(referred as @code{statement complexity} in @command{gnatmetric} output),
 
 @item
-the complexity introduced by short-circuit control forms only, and
+the complexity introduced by short-circuit control forms only
+(referred as @code{expression complexity} in @command{gnatmetric} output), and
 
 @item
 the total
-cyclomatic complexity, which is the sum of these two values.
+cyclomatic complexity, which is the sum of these two values
+(referred as @code{cyclomatic complexity} in @command{gnatmetric} output).
 @end itemize
 
 @noindent
@@ -19851,8 +19854,8 @@ Specifies whether or not passed tests should be shown. @var{val} can be either
 
 @item --tests-root=@var{dirname}
 @cindex @option{--tests-root} (@command{gnattest})
-The directory hierarchy of tested sources is recreated in the @var{dirname}
-directory, and test packages are placed in corresponding directories.
+The hierarchy of source directories, if any, is recreated in the @var{dirname}
+directory, with test packages placed in directories corresponding to those of the sources.
 If the @var{dirname} is a relative path, it is considered relative to the object
 directory of the project file. When all sources from all projects are taken
 recursively from all projects, directory hierarchies of tested sources are
@@ -19861,7 +19864,10 @@ placed accordingly.
 
 @item --subdir=@var{dirname}
 @cindex @option{--subdir} (@command{gnattest})
-Test packages are placed in subdirectories.
+Test packages are placed in a subdirectory of the corresponding source directory,
+with the name @var{dirname}. Thus, each set of unit tests is located in a subdirectory of the
+code under test.  If the sources are in separate directories, each source directory
+has a test subdirectory named @var{dirname}.
 
 @item --tests-dir=@var{dirname}
 @cindex @option{--tests-dir} (@command{gnattest})
index 7fef2455ecbc4bc35e7403ba99fffc8e0a22827f..de2b9b988bf2b8784cd350319e50ac73fac88dd1 100644 (file)
@@ -86,10 +86,17 @@ pragma Style_Checks ("M32766");
  ** a number of non-POSIX but useful/required features.
  **/
 
-#if defined (__linux__) && !defined (_XOPEN_SOURCE)
-/* For Linux, define _XOPEN_SOURCE to get IOV_MAX */
-#define _XOPEN_SOURCE 500
-#endif
+#if defined (__linux__)
+
+/* Define _XOPEN_SOURCE to get IOV_MAX */
+# if !defined (_XOPEN_SOURCE)
+#  define _XOPEN_SOURCE 500
+# endif
+
+/* Define _BSD_SOURCE to get CRTSCTS */
+# define _BSD_SOURCE
+
+#endif /* defined (__linux__) */
 
 /* Include gsocket.h before any system header so it can redefine FD_SETSIZE */
 
index dee225b544b74d321f1bf17da0fa253cd7c99216..dac9342965711a2440aae6a1a95b7c5e13c26b16 100644 (file)
@@ -16720,7 +16720,10 @@ package body Sem_Prag is
             Hint := First (Pragma_Argument_Associations (N));
             while Present (Hint) loop
                Check_Arg_Is_One_Of (Hint, Name_Ivdep,
-                 Name_No_Unroll, Name_Unroll, Name_No_Vector, Name_Vector);
+                                          Name_No_Unroll,
+                                          Name_Unroll,
+                                          Name_No_Vector,
+                                          Name_Vector);
                Next (Hint);
             end loop;