public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "dodji at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/25661] [libabigail] incorrect handling of anonymous struct/union fields
Date: Wed, 29 Apr 2020 13:31:09 +0000	[thread overview]
Message-ID: <bug-25661-9487-U1L5Z5CiI4@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-25661-9487@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=25661

--- Comment #2 from dodji at redhat dot com ---
Here is what the code of the dodji/PR25661 branch does so far, on the example
submitted in this problem report:

$ diff -u test5-v0.c test5-v1.c
--- test5-v0.c  2020-04-29 15:27:48.928684182 +0200
+++ test5-v1.c  2020-04-29 15:26:47.431127898 +0200
@@ -2,9 +2,15 @@

 struct S
 {
-  uint64_t marker[0];                                                          
-  uint64_t a;                                                                  
-  uint64_t b;                                                                  
+  union
+  {
+    uint64_t marker[0];                                                        
+    struct
+    {
+      uint64_t a;                                                              
+      uint64_t b;                                                              
+    };                                                                         
+  };                                                                           
   uint64_t c;                                                                  
 };                                                                             

$ build/tools/abidiff test5-v0.o test5-v1.o
Functions changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added
function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

$ abidiff --harmless test5-v0.o test5-v1.o
Functions changes summary: 0 Removed, 1 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some indirect sub-type change:

  [C] 'function void func(S*)' at test5-v1.c:18:1 has some indirect sub-type
changes:
    parameter 1 of type 'S*' has sub-type changes:
      in pointed to type 'struct S' at test5-v1.c:3:1:
        type size hasn't changed
        data members 'S::a', 'S::marker', 'S::b' were replaced by anonymous
data member:
        'union {uint64_t marker[]; struct {uint64_t a; uint64_t b;};}'          
$

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2020-04-29 13:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12 12:15 [Bug default/25661] New: " david.marchand at redhat dot com
2020-04-29 13:30 ` [Bug default/25661] " dodji at redhat dot com
2020-04-29 13:31 ` dodji at redhat dot com [this message]
2020-04-29 13:32 ` dodji at redhat dot com
2020-04-29 16:37 ` david.marchand at redhat dot com
2020-05-18  9:38 ` [Bug default/25661] [libabigail] Handle data member replacement by anonymous data members dodji at redhat dot com
2020-05-18 12:28 ` dodji at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-25661-9487-U1L5Z5CiI4@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).