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