This is the mail archive of the 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: [PATCH] Fold VIEW_CONVERT_EXPR <type, STRING_CST> generated by Fortran FE a lot (PR target/35366)

Jakub Jelinek wrote:
On Tue, Nov 11, 2008 at 05:21:36PM +0100, Tobias Schlüter wrote:
Hm, I haven't found Richard Maine's post that is mentioned in the old thread, but Fortran has the notion of storage unit. LOGICAL*4, INTEGER*4 and REAL*4 all occupy 4 storage units. If a circular transfer(transfer (...) ...) between types with the same number of storage units is required to return the original value (as Richard Maine apparently argued), then we'll probably have no choice but to stop using BOOLEAN_TYPE for LOGICALs.

That's pretty sad. Stopping using BOOLEAN_TYPE is going to break basically everything, so certainly can't be done for 4.4. I expect that you'd need to add a lot of conversions everywhere, from the logical*N INTEGER_TYPE to correspondingly sized BOOLEAN_TYPE and back all the time.

Maybe setting TYPE_PRECISION to bit_size in gfc_build_logical_type() would do the trick without any further changes? This depends on how the middle-end deals with BOOLEAN_TYPES with TYPE_PRECISION > 1.

- Tobi

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