decl.c (warn_on_field_placement): Issue the warning only if the record type itself...
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 6 Sep 2017 17:22:40 +0000 (17:22 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 6 Sep 2017 17:22:40 +0000 (17:22 +0000)
* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
only if the record type itself comes from source.

From-SVN: r251812

gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c

index 168458f7d0a649185357d76f4ce5c9b8f1a3356b..5f7b1bc73a2d25ee3a9116d9bf011d25f6dbdb70 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (warn_on_field_placement): Issue the warning
+       only if the record type itself comes from source.
+
 2017-09-06  Gary Dismukes  <dismukes@adacore.com>
 
        * sem_ch5.adb: Minor reformatting and a typo fix
@@ -62,8 +67,7 @@
        every component whose RM_Size is statically known.  Add missing
        guard to check that bit packing is really required before issuing
        the error about packing.  Swap condition for clarity's sake.
-       * sem_prag.adb (Usage_Error): fix reference to
-       SPARK RM in comment
+       * sem_prag.adb (Usage_Error): Fix reference to SPARK RM in comment.
 
 2017-09-06  Fedor Rybin  <frybin@adacore.com>
 
index c9a701dabeefa7d992207bd561bcb646c51af71c..8514d9a5a0a97a144527f0e5a78aff5d3ebe6f50 100644 (file)
@@ -7263,6 +7263,9 @@ warn_on_field_placement (tree gnu_field, Node_Id gnat_component_list,
                         Entity_Id gnat_record_type, bool in_variant,
                         bool do_reorder)
 {
+  if (!Comes_From_Source (gnat_record_type))
+    return;
+
   const char *msg1
     = in_variant
       ? "?variant layout may cause performance issues"
@@ -7277,6 +7280,7 @@ warn_on_field_placement (tree gnu_field, Node_Id gnat_component_list,
     = do_reorder
       ? "?comes too early and was moved down"
       : "?comes too early and ought to be moved down";
+
   Entity_Id gnat_field
     = gnu_field_to_gnat (gnu_field, gnat_component_list, gnat_record_type);