[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SJ1PR11MB6083112BEC62D2AB6F432EFFFCE5A@SJ1PR11MB6083.namprd11.prod.outlook.com>
Date: Thu, 31 Aug 2023 17:26:23 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@...el.com>
CC: "Yu, Fenghua" <fenghua.yu@...el.com>,
"Chatre, Reinette" <reinette.chatre@...el.com>,
Peter Newman <peternewman@...gle.com>,
"Jonathan Corbet" <corbet@....net>,
Shuah Khan <skhan@...uxfoundation.org>,
"x86@...nel.org" <x86@...nel.org>,
Shaopeng Tan <tan.shaopeng@...itsu.com>,
James Morse <james.morse@....com>,
Jamie Iles <quic_jiles@...cinc.com>,
"Babu Moger" <babu.moger@....com>,
Randy Dunlap <rdunlap@...radead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"patches@...ts.linux.dev" <patches@...ts.linux.dev>
Subject: RE: [PATCH v5 1/8] x86/resctrl: Prepare for new domain scope
> >I've sometimes had compilers complain about code written:
> >
> >static int get_domain_id_from_scope(int cpu, enum resctrl_scope scope)
> >{
> > switch (scope) {
> > case RESCTRL_L3_CACHE:
> > return get_cpu_cacheinfo_id(cpu, 3);
> > case RESCTRL_L2_CACHE:
> > return get_cpu_cacheinfo_id(cpu, 2);
> > default:
> > WARN_ON_ONCE(1);
> > return -1;
> > }
> >}
> >
> >because they failed to notice that every path in the switch does a "return and they
> >issue a warning that the function has no return value because they don't realize
> >that the end of the function can't be reached.
> >
> >So it's defensive programming against possible complier issues.
>
> I recall getting that error somewhere while playing around with a
> language server protocol for neovim a while ago but I tried to cause
> it today with gcc and clang and with some different flags and coulnd't.
> Are there some particular compilers or compiler flags that trigger
> that?
I think I saw this from an lkp report using clang. But it's quite possible
that the exact code construct was different in some way.
-Tony
Powered by blists - more mailing lists