Messages in this thread | | | From | "Luck, Tony" <> | Subject | RE: [PATCH v5 1/8] x86/resctrl: Prepare for new domain scope | Date | Thu, 31 Aug 2023 17:26:23 +0000 |
| |
> >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
| |