On Wed, May 28, 2014 at 12:00 PM, Bernd Schmidt <ber...@codesourcery.com> wrote:
> On 05/27/2014 04:57 PM, Richard Biener wrote:
>>
>> On Tue, May 27, 2014 at 3:13 PM, Bernd Schmidt <ber...@codesourcery.com>
>> wrote:
>>>
>>> I noticed that string constants built by the Fortran frontend don't set
>>> TREE_READONLY for STRING_CST (and subsequently noticed that nothing seems
>>> to
>>> set it for COMPLEX_CST). That was confusing the ptx backend I'm working
>>> on.
>>> The -fwritable-strings option for C was removed a while ago, so I tested
>>> the
>>> following patch to just set the flag unconditionally, and passed
>>> bootstrap
>>> and test on x86_64-linux. Ok?
>>
>>
>> Hmm?  Not so obvious.  TREE_READONLY has no purpose on tcc_constant
>> nodes if I read documentation correctly (tree.h).  In fact
>> base.readonly_flag is unused for tcc_constant (and would be redundant
>> with TREE_CONSTANT).
>
>
> Well, the C frontend still sets it for strings (in fix_string_type), and
> gcc.dg/lvalue-5.c fails if that is removed. So things are a little
> inconsistent between frontends.

Then fix that instead.  The ptx backend shouldn't use TREE_READONLY
on tcc_constant, so you can resolve the issue completely within the
ptx backend anyway.

Richard.

>
> Bernd
>

Reply via email to