aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog8
-rw-r--r--gcc/ada/gcc-interface/decl.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 168458f..5f7b1bc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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>
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index c9a701d..8514d9a 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -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);