http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50120
Bug #: 50120
Summary: c_sizeof returns wrong value for struct
Classification: Unclassified
Product: gcc
Version: 4.6.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 25053
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25053
A sample F90 file to demonstrate the problem.
c_sizeof gives the wrong values on bind(c) structs.
The attached program defines two structs s1 and s2 containing of an c_ptr and
of 1 and 2 c_ints, respectively. Then the size of these types is printed using
c_sizeof which gives:
c_sizeof s1: 16
c_sizeof s2: 16
For s1 I expect 8 (c_ptr) + 4 (c_int) = 12.
For s2 I expect 8 (c_ptr) + 4 (c_int) + 4 (c_int) = 16.
This bug was confirmed for
gcc version 4.6.1 20110409 (prerelease) (Ubuntu 4.6.0-3~ppa1)
and
gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)