RE: Re: Query regarding unusual behaviour for tail padding with different c++ standards

2021-12-13 Thread Nayan Deshmukh via Gcc
> On Mon, 13 Dec 2021 at 05:14, Andrew Pinski wrote: > > > > On Sun, Dec 12, 2021 at 9:04 PM Nayan Deshmukh via Gcc   > >wrote: > > > #include  > > > #include  > > > #include  > > > struct A { > > >   int a; > > >   uint64_t b; > > >   int c = -1; > > > }; > > > > The question becomes is the above 

Re: Query regarding unusual behaviour for tail padding with different c++ standards

2021-12-13 Thread Jonathan Wakely via Gcc
On Mon, 13 Dec 2021 at 05:14, Andrew Pinski wrote: > > On Sun, Dec 12, 2021 at 9:04 PM Nayan Deshmukh via Gcc > wrote: > > #include > > #include > > #include > > struct A { > > int a; > > uint64_t b; > > int c = -1; > > }; > > The question becomes is the above a standard layout class or

Re: Query regarding unusual behaviour for tail padding with different c++ standards

2021-12-12 Thread Andrew Pinski via Gcc
On Sun, Dec 12, 2021 at 9:04 PM Nayan Deshmukh via Gcc wrote: > #include > #include > #include > struct A { > int a; > uint64_t b; > int c = -1; > }; The question becomes is the above a standard layout class or not. I Noticed clang does not change the rules for layout between C++11 and C

Query regarding unusual behaviour for tail padding with different c++ standards

2021-12-12 Thread Nayan Deshmukh via Gcc
Hello, When I tried to link two modules which were compiled with different c++ standards, I observed that the offset of some fields of struct were different when the same struct was accessed from both the modules. The issue is due to the use of tail padding to allocate member variables in some