From 3f8cf83477cc336b1fec73ef16293644cd5ec453 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 6 Sep 2017 17:22:40 +0000 Subject: [PATCH] decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source. * 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 | 8 ++++++-- gcc/ada/gcc-interface/decl.c | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 168458f7d0a..5f7b1bc73a2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2017-09-06 Eric Botcazou + + * 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 * 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 diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index c9a701dabee..8514d9a5a0a 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); -- 2.30.2