[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Add -Wcast-qual flag

On Thursday 21 December 2006 11:41, Keir Fraser wrote:
> On 21/12/06 10:05, "Christoph Egger" <Christoph.Egger@xxxxxxx> wrote:
> > The xen-cast.diff adds the -Wcast-qual flag.
> We don't enable this flag precisely because we end up needing to scatter
> const all over the place like confetti.

That doesn't imply that this is bad. Compilers may generate better code.

> I'm not convinced that use of const improves code quality.

In my experience, exactly this will happen.

> I fear we'd end up with 'const foo * const bar' all  
> over the place -- ugly and confusing to most programmers (who frequently
> mess up const placement, in my experience).

Exactly these programmers will stop doing this, when the compiler tells them.

With -Wcast-qual you find code that does things like this:

     int foo(const char *str) {
          char *s = str;
          int i;
          s[i] = '\0';

Modifying read-only memory is IMO never a good idea, in particular,
when it is shared with something else.

And there are indeed places in the xen code, where this happens.
(Example: Look how canonicalize() is used in tools/xenstored/*,
 Look at copy_to_user_hvm() in xen/arch/x86/hvm/platform.c )

Please have a closer look at the patches.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.