This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: g++ serious bug in Ubuntu Lucid Lynx


Christian Convey <christian.convey@gmail.com> writes:

>>>> Are you sure that's a bug in the legalistic sense? ÂIIRC, C and C++
>>>> don't promise any particular memory layout for structs.
>>>
>>> They don't promise any particular memory layout, but gcc does promise
>>> that it will not arbitrarily change the layout in new releases. ÂIf it
>>> did, it would be impossible for code compiled by one version of gcc to
>>> call a function defined by a different version of gcc while passing a
>>> struct parameter.
>>>
>>> Ian
>>
>> I always thought that structure layout conventions are plarform-wide
>> much like calling conventions. Otherwise, how can we link together
>> code compiled by different compilers?
>
>
> My impression is that it works more by luck and convention, than by
> any particular promise.

No, within a single platform, it's a promise.  Processors have
specific written ABIs which describe, among other things, precisely
how struct fields are laid out in memory.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]