On Mon, Jun 18, 2018 at 1:51 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> 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.

That would make sense.

Jason

Reply via email to