On Mon, Jun 18, 2018 at 01:48:05PM -0400, Jason Merrill wrote:
> On Mon, Jun 18, 2018 at 12:41 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> > On Mon, Jun 18, 2018 at 08:34:28AM -0600, Jeff Law wrote:
> >> On 06/18/2018 08:08 AM, Prathamesh Kulkarni wrote:
> >> > On 18 June 2018 at 19:28, Nick Clifton <ni...@redhat.com> wrote:
> >> >> Hi Prathamesh,
> >> >>
> >> >>> I am getting the following build error with trunk:
> >> >>> ../../gcc/gcc/tree.c: In member function ‘void
> >> >>> escaped_string::escape(const char*)’:
> >> >>> ../../gcc/gcc/tree.c:12457:20: error: cast from type ‘const char*’ to
> >> >>> type ‘char*’ casts away qualifiers [-Werror=cast-qual]
> >> >>>    m_str = (char *) unescaped;
> >> >>>                     ^~~~~~~~~
> >> >>> I think this is caused by r261697 in tree.c:
> >> >>>   m_str = (char *) unescaped;
> >> >>>
> >> >>> The patch changes it to const_cast<char *> (unescaped) which fixes the
> >> >>> build for me.
> >> >>
> >> >> I cannot approve this patch, but I can say thanks very much for catching
> >> >> this problem and proposing a fix.  I guess that I must be using an old
> >> >> version of g++ for my testing as this error did not show up. :-(
> >> > Hi Nick,
> >> > Thanks for confirming. I went ahead and committed the patch in r261700
> >> > since I guess it's trivial enough to fit under the "obvious" rule.
> >> Yes.
> >>
> >> Thanks for taking care of it.
> >
> > Shouldn't we use
> >   m_str = CONST_CAST (char *, unescaped);
> > instead?  That is what most similar spots use.
> 
> That macro seems obsolete now that we compile as C++.

But shouldn't we then remove/poison those macros and replace all uses?
I don't care much if we use CONST_CAST or const_cast, but care about
consistency.

        Jakub

Reply via email to