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]>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]>> 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]>>> 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
