Date: Sun, 21 Feb 1999 09:35:40 -0800 (PST) From: John Polstra <jdp@polstra.com> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: current@FreeBSD.ORG, hibma@skylink.it Subject: Re: const char * Message-ID: <XFMail.990221093540.jdp@polstra.com> In-Reply-To: <199902210846.AAA18860@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote: >: >:In my opinion, the use of "-Wcast-qual" is bogus. Often the whole >:point of a cast is to remove a qualifier such as const. It's one >:thing to warn when that's done implicitly, and quite another thing >:to warn when the programmer has clearly expressed his intent through >:the use of a cast. > > There are only a few cases where cast-qual is bogus. 99% of > the warnings it generated were quite real. Maybe not bugs, but > definitely programming by misadventure. Volatile and const are > only going to become more important as we get deeper into the > SMP issues. Especially volatile. cast-qual is necessary to keep > people from making bozo mistakes. I would find -Wcast-qual tolerable if it behaved just a little bit differently. It should allow without complaint explicit casts which change _only_ the constness. For example, casting from "const char *" to "char *" explicitly would be OK. But casting from, say, "const char *" to "void *" would still produce a warning. This would make it possible to get rid of the warnings in those cases where it made sense to cast away const (e.g., dealing with bad but standard interfaces). The above is more or less how C++'s "const_cast<T>(x)" construct works. John --- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Nobody ever went broke underestimating the taste of the American public." -- H. L. Mencken To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990221093540.jdp>