This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [PATCH] Eliminate -var-create error for optzd ptr to struct


On 4/6/2016 2:04 AM, Yao Qi wrote:
> Don Breazeal <donb@codesourcery.com> writes:
> 
>>> Please don't.  A RETURN_MASK_ALL swallows Ctrl-C/QUIT, and that's almost
>>> always a bug.  The cases you mention translate a QUIT to a python/scheme
>>> exception, which is not the same as just swallowing the exception.
>>
>> Patch below changes that back.  Pedro, thanks for clarifying.
>>
> 
> No, it doesn't.
> 
>> @@ -1433,7 +1434,17 @@ value_optimized_out (struct value *value)
>>    /* We can only know if a value is optimized out once we have tried to
>>       fetch it.  */
>>    if (VEC_empty (range_s, value->optimized_out) && value->lazy)
>> -    value_fetch_lazy (value);
>> +    {
>> +      TRY
>> +	{
>> +	  value_fetch_lazy (value);
>> +	}
>> +      CATCH (ex, RETURN_MASK_ALL)
> 
> It should be RETURN_MASK_ERROR.

Sorry about that.
/me shakes head at self for goofing up the easy stuff.

> 
>> +	{
>> +	  /* Fall back to checking value->optimized_out.  */
>> +	}
>> +      END_CATCH
>> +    }
> 
> Otherwise, patch is good to me.
> 
Thanks Yao.  This is now corrected and pushed in.

Question: in light of Pedro's comments regarding
gdbscm_value_optimized_out_p and valpy_get_is_optimized_out:

> A RETURN_MASK_ALL swallows Ctrl-C/QUIT, and that's almost
> always a bug.  The cases you mention translate a QUIT to
> a python/scheme exception, which is not the same as just
> swallowing the exception.

Would you still like for me to follow up with a patch to remove the
TRY/CATCH blocks around the calls to value_optimized_out in those two
functions?  Or do we want to leave it as-is so that the QUIT handling
remains unchanged?

Thanks
--Don


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