This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree.c] Replace cast to (char *) by const_cast<char *>


On Mon, Jun 18, 2018 at 12:41 PM, Jakub Jelinek <jakub@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 <nickc@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++.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]