Re: x86/MCE: drop bogus const modifier from AMD's bank4_names()

From: U.Mutlu
Date: Fri Jan 23 2015 - 10:10:13 EST


Jan Beulich wrote, On 01/23/2015 09:32 AM:

-static const char * const bank4_names(struct threshold_block *b)
+static const char *bank4_names(const struct threshold_block *b)

There is a big difference in the return type, cf. below.
Of course, if possible, the more const the better.

Borislav Petkov wrote, On 01/23/2015 11:16 AM:
On Fri, Jan 23, 2015 at 10:05:40AM +0000, Jan Beulich wrote:
It's been a long while ago that I noticed and fixed the warning, so
I don't recall the details. What I do know is that I didn't force any
extra flags, and that a similar issue elsewhere in the tree (fixed
in 3.19-rc5) triggered the same warning in at least one of my builds
(again without any extra warning options) in -rc4.

Older compiler maybe. Not that it is worth wasting too much time on it
though...

int main()
{
char mem1[] = "foo";
char mem2[] = "bar";

const char* const p1 = mem1; // both ptr and content are const
const char* p2 = mem2; // content is const, but not the ptr

// ++p1; // not possible b/c p1 is const
++p2; // possible b/c p2 is not const

// *p1 = 'X'; // not possible b/c content of p1 is const
// *p2 = 'A'; // not possible b/c content of p2 is const

return 0;
}


cu
Uenal

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/