Committed in r190926.
-Stepan.

Eli Friedman wrote:
Sorry about the delayed response.

XC mode is not valid on PPC; if there's a test trying to use it, the
test is wrong.  Please just fix the test.

-Eli


On Tue, Sep 17, 2013 at 11:54 AM, Stepan Dyatkovskiy <[email protected]
<mailto:[email protected]>> wrote:

    Hi Eli,
    I have to resend you PR16752 fix. Since I had changed it. The
    previous one causes failures on some buildbots.
    This fix also contains customization for PPC case:
    For 'XC' mode (96 bit float) PPC uses 128 bit fp type.

    -Stepan.

    Eli Friedman wrote:

        LGTM.

        -Eli


        On Mon, Sep 9, 2013 at 5:04 AM, Stepan Dyatkovskiy
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

             Since I had split the patch and committed only ASTContext and
             TargetInfo getIntTypeByWidth and friends, there is the
        second patch,
             that fixes PR16752 itself.

             Please, find it in attachment for review.

             -Stepan.
             Eli Friedman wrote:

                 On Tue, Sep 3, 2013 at 2:16 AM, Stepan Dyatkovskiy
                 <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                 <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>> wrote:

                      Hi Eli,
                      Sorry for latency.
                      As you remember this patch should correct 'mode' attr
                      implementation. You proposed to use generic way of
        type
                 detection
                      for each target: just scan for target types and
        select one with
                      suitable width.

                      Unfortunately I can't commit patch with generic
                 implementation. I
                      got test failure for clang. And I expect more
        failures for
                 another
                      targets. The reason is next.

                      The target could still keep mode unsupported even
        if it has
                 type of
                      suitable width. I mean the next.
                      For example this string should cause error for i686
                 machines (128
                      bit float):
                      typedef          float f128ibm __attribute__
        ((mode (TF)));
                      But in case of generic approach for all targets it
        would be
                 passed.
                      In this case virtual functions allows to implement
        exceptions.


                 The generic implementation is still essentially
        correct; the the
                 issue
                 is that getLongDoubleWidth() isn't actually the right
        value to
                 check.
                    It returns "sizeof(long double) * 8", not the actual
        width of the
                 underlying float format.  You should be able to work
        around this by
                 checking getLongDoubleFormat() instead of
        getLongDoubleWidth().

                      In this case 'getIntTypeByWidth' may be a bit
        confusing name.
                      Instead it is supposed to return type for some
        particular
                 mode, not
                      by width. Something like
        getInt/RealTypeForMode(width, sign).
                      Though, currently I kept the original name.


                 If you want to change it, that's fine.

                 -Eli






_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to