<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Jul 26, 2018 at 2:26 AM Eric Engestrom <<a href="mailto:eric.engestrom@intel.com">eric.engestrom@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thursday, 2018-07-26 02:03:58 -0700, Jason Ekstrand wrote:<br>
> On Thu, Jul 26, 2018 at 1:50 AM Eric Engestrom <<a href="mailto:eric.engestrom@intel.com" target="_blank">eric.engestrom@intel.com</a>><br>
> wrote:<br>
> <br>
> > On Wednesday, 2018-07-25 14:00:29 -0700, Dylan Baker wrote:<br>
> > > Quoting Eric Engestrom (2018-07-25 11:45:56)<br>
> > > > CovID: 1438132<br>
> > > > Signed-off-by: Eric Engestrom <<a href="mailto:eric.engestrom@intel.com" target="_blank">eric.engestrom@intel.com</a>><br>
> > > > ---<br>
> > > >  src/intel/vulkan/anv_device.c | 4 +++-<br>
> > > >  1 file changed, 3 insertions(+), 1 deletion(-)<br>
> > > ><br>
> > > > diff --git a/src/intel/vulkan/anv_device.c<br>
> > b/src/intel/vulkan/anv_device.c<br>
> > > > index 04fd6a829ed60081abc4..3664f80c24dc34955196 100644<br>
> > > > --- a/src/intel/vulkan/anv_device.c<br>
> > > > +++ b/src/intel/vulkan/anv_device.c<br>
> > > > @@ -1832,11 +1832,13 @@ void anv_DestroyDevice(<br>
> > > >      const VkAllocationCallbacks*                pAllocator)<br>
> > > >  {<br>
> > > >     ANV_FROM_HANDLE(anv_device, device, _device);<br>
> > > > -   struct anv_physical_device *physical_device =<br>
> > &device->instance->physicalDevice;<br>
> > > > +   struct anv_physical_device *physical_device;<br>
> > ><br>
> > > Is there a particular reason to create the pointer her but assign it<br>
> > after the<br>
> > > null check rather than just move the null check between the<br>
> > ANV_FROM_HANDLE and<br>
> > > the anv_pysical_device?<br>
> ><br>
> > Just the habit of always putting variable declarations before any logic<br>
> > ¯\_(ツ)_/¯<br>
> > I thought that was considered best-practice; has that changed?<br>
> ><br>
> <br>
> Yup; welcome to C99. :-)<br>
<br>
Haha, I know it's now allowed, but I thought best practice was to still<br>
keep things grouped, except when there's a reason to have a declaration<br>
in the middle of the logic.<br>
<br>
Looking at the rest of the file, I see a bunch of examples of logic and<br>
declarations interleaved, so I guess that rule doesn't apply in anv at<br>
least; guess I'll change my style to match :)<br></blockquote><div><br></div><div>Yeah, I (and I think quite a few other people) prefer variables to be as short-lived as possible.  Mixing declarations to achieve that is something we do at least in all the Intel and NIR code.  Separation was required for a while in core code because of VMWare's use of MSVC but now that they've moved on to a MSVC version that has a competent C compiler, I think mixing is allowed there too. <br></div></div></div>