Bugs item #3544467, was opened at 2012-07-15 17:08
Message generated for change (Tracker Item Submitted) made by
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=742140&aid=3544467&group_id=138953
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: CIL core (parser, visitor, etc)
Group: Bug
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Cody Schuffelen ()
Assigned to: Nobody/Anonymous (nobody)
Summary: Disparity between CIL and GCC in struct/union merging
Initial Comment:
In the attached two files (file1.c and file2.c, combined into one file),
"struct myStruct" is defined two different ways, each holding a slightly
different anonymous union:
//file1.c
union {
long long int i;
int* p;
char c;
};
//file2.c
union {
long long int i;
double f;
};
Using gcc and ar, I can compile these two files together into a single object
file without errors.
gcc -c file1.c
gcc -c file2.c
ar cruv out.a file1.o file2.o
However, using cilly and attempting to merge these two with the following
commands:
cilly --merge -c file1.c
cilly --merge -c file2.c
cilly --merge --mode=AR cruv out.a file1.o file2.o
I get the following error from CIL:
:-1: Error: Incompatible declaration for build (from file2.o(1)).
Previous was at file1.c:13 (from file1.o (0))
Failed assumption that struct myStruct and struct myStruct are
isomorphic (different number of fields in __anonunion____missing_field_name_24
and __anonunion____missing_field_name_24: 3 != 2.)
struct myStruct {
int a ;
union __anonunion____missing_field_name_24 __annonCompField1 ;
};
struct myStruct {
int a ;
union __anonunion____missing_field_name_24 __annonCompField1 ;
};
Final merging phase (0): file1.o
Final merging phase (1): file2.o
file2.c:12: Warning: The name build is used for two distinct globals
Error: There were errors during merging
This is a trivial example of the error I'm getting in a larger project that I
am trying to merge together. I am using CIL 1.5.1, downloaded earlier today
from SourceForge.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=742140&aid=3544467&group_id=138953
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
CIL-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cil-users