]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sem_prag.adb: Minor reformatting.
authorRobert Dewar <dewar@adacore.com>
Fri, 4 Nov 2011 11:00:33 +0000 (11:00 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 4 Nov 2011 11:00:33 +0000 (12:00 +0100)
2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.
* gnat_rm.texi: Update documentation for pragma Warnings (Off,
"***") usage.
* exp_ch2.adb (Expand_Entity_Reference): Only set
Atomic_Sync_Required on entities that are variables. Doesn't
make any sense on anything else.

From-SVN: r180939

gcc/ada/ChangeLog
gcc/ada/exp_ch2.adb
gcc/ada/gnat_rm.texi
gcc/ada/sem_prag.adb

index 0d298e5bf3eba1bb3bdc26e058c358b580fed1d1..fc3e12bc94bf3ece6a851750c2a722dde12160d0 100644 (file)
@@ -1,3 +1,12 @@
+2011-11-04  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb: Minor reformatting.
+       * gnat_rm.texi: Update documentation for pragma Warnings (Off,
+       "***") usage.
+       * exp_ch2.adb (Expand_Entity_Reference): Only set
+       Atomic_Sync_Required on entities that are variables. Doesn't
+       make any sense on anything else.
+
 2011-11-04  Robert Dewar  <dewar@adacore.com>
 
        * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
index 24f47a7775bfa48bbe0385368ff123c0fbb5d2f3..a1337aa725deebfecc5e1f463bb2e3b1fd26ca6e 100644 (file)
@@ -402,6 +402,7 @@ package body Exp_Ch2 is
       --  Set Atomic_Sync_Required if necessary for atomic variable
 
       if Nkind_In (N, N_Identifier, N_Expanded_Name)
+        and then Ekind (E) = E_Variable
         and then (Is_Atomic (E) or else Is_Atomic (Etype (E)))
       then
          declare
index 513bca206426703c920b4593707b300b27dceac8..170a9128dd745d25bb42e616bc5160e00e09cbf2 100644 (file)
@@ -5575,7 +5575,7 @@ as possibly modified by compiler switches. Then each pragma Warning
 modifies this set of warnings as specified. This form of the pragma may
 also be used as a configuration pragma.
 
-The fourth form, with an On|Off parameter and a string, is used to
+The fourth form, with an @code{On|Off} parameter and a string, is used to
 control individual messages, based on their text. The string argument
 is a pattern that is used to match against the text of individual
 warning messages (not including the initial "warning: " tag).
@@ -5587,7 +5587,7 @@ message @code{warning: 960 bits of "a" unused}. No other regular
 expression notations are permitted. All characters other than asterisk in
 these three specific cases are treated as literal characters in the match.
 
-There are two ways to use this pragma. The OFF form can be used as a
+There are two ways to use the pragma in this form. The OFF form can be used as a
 configuration pragma. The effect is to suppress all warnings (if any)
 that match the pattern string throughout the compilation.
 
@@ -5604,6 +5604,13 @@ pragma Warnings (On, Pattern);
 In this usage, the pattern string must match in the Off and On pragmas,
 and at least one matching warning must be suppressed.
 
+Note: to write a string that will match any warning, use the string
+@code{"***"}. It will not work to use a single asterisk or two asterisks
+since this looks like an operator name. This form with three asterisks
+is similar in effect to specifying @code{pragma Warnings (Off)} except that a
+matching @code{pragma Warnings (On, "***")} will be required. This can be
+helpful in avoiding forgetting to turn warnings back on.
+
 Note: the debug flag -gnatd.i (@code{/NOWARNINGS_PRAGMAS} in VMS) can be
 used to cause the compiler to entirely ignore all WARNINGS pragmas. This can
 be useful in checking whether obsolete pragmas in existing programs are hiding
index e1bf31be23a81eb45a14dc5142d1d7db08c1d161..e4c02d5adc4055b73e5451d6564414a1c1bb7e37 100644 (file)
@@ -14395,7 +14395,7 @@ package body Sem_Prag is
                      --  actual is a conversion. Retrieve the real entity name.
 
                      if (In_Instance_Body
-                         or else In_Inlined_Body)
+                          or else In_Inlined_Body)
                        and then Nkind (E_Id) = N_Unchecked_Type_Conversion
                      then
                         E_Id := Expression (E_Id);