[patch, libgfortran] Bug 91593 - Implicit enum conversions in libgfortran/io/transfer.c

Jerry DeLisle jvdelisle@charter.net
Fri Sep 27 17:14:00 GMT 2019


On 9/23/19 8:12 PM, Jerry DeLisle wrote:
> On 9/23/19 8:52 AM, Bernhard Reutner-Fischer wrote:
>> On 22 September 2019 22:51:46 CEST, Jerry DeLisle <jvdelisle@charter.net> wrote:
>>> Hi all,
>>>
>>> The attached patch eliminates several warnings by adjusting which
>>> enumerator is
>>> used in the subject offending code. I fixed this by adding an
>>> enumerator at the
>>> end of the file_mode definition.  This then triggered a warning in
>>> several other
>>> places for an unhandled case in the switch statements. I cleared those
>>> by
>>> throwing in an assert (false) since it cant happen unless something
>>> really goes
>>> wrong somehow.
>>>
>> I'm curious why you assert (false) instead of the usual gcc_unreachable ()?
>>
>> Thanks,
>>
> 
> Because I forgot all about gcc_unreachable.  I will give it a try.
> 
> Jerry

gcc_unreachable is only defined in the gfortran frontend and not the runtime. 
Therefore, I added a define to io.h which invokes __builtin_unreachable and does 
not use fancy_abort. I don't think we need anything fancy.

If no objections, I will commit the attached updated patch with a new ChangeLog.

Regression tested ok.

Regards,

Jerry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: warnings2.diff
Type: text/x-patch
Size: 2861 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190927/627c2bcb/attachment.bin>


More information about the Gcc-patches mailing list