lkml.org 
[lkml]   [2018]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] amdgpu/gmc : fix compile warning
On Mon, Oct 08, 2018 at 05:22:24PM +0000, Koenig, Christian wrote:
> Am 08.10.2018 um 17:57 schrieb Deucher, Alexander:
> >>>> One thing I found missing in the discussion was the reference to the
> >>>> C standard.
> >>>> The C99 standard states in section 6.7.8 (Initialization) clause 19:
> >>>> "... all
> >>>> subobjects that are not initialized explicitly shall be initialized
> >>>> implicitly the same as objects that have static storage duration".
> >>>> Clause 21 makes further reference to partial initialization,
> >>>> suggesting the same. Various online resources, including the gcc
> >>>> documentation, all state the same. I don't find any reference to a
> >>>> partial initialization which would leave members of a structure
> >>>> undefined. It would be interesting for me to understand how and why
> >>>> this does not apply here.
> >>>>
> >>>> In this context, it is interesting that the other 48 instances of the
> >>>> { { 0 } } initialization in the same driver don't raise similar
> >>>> concerns, nor seemed to have caused any operational problems.
> >>> Feel free to provide patches to replace those with memset().
> >>>
> >> Not me. As I see it, the problem, if it exists, would be a violation of the C
> >> standard. I don't believe hacking around bad C compilers. I would rather
> >> blacklist such compilers.
>
> Well then you would need to blacklist basically all gcc variants of the
> last decade or so.
>
> Initializing only known members of structures is a perfectly valid
> optimization and well known issue when you then compare the structure
> with memcpy() or use the bytes for hashing or something similar.
>

Isn't that about padding ? That is a completely different issue.

Guenter

\
 
 \ /
  Last update: 2018-10-08 19:47    [W:0.111 / U:0.632 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site