On Jul 13, 2012, at 1:57 AM, Richard Guenther wrote: >> I have put the patch through the C test suite, and it doesn't show any >> failures. >> >> Do you have any examples of bugs that are _introduced_ by my patch? I'd be >> happy to fix any that arise. > > No. Just you expose the users to those bugs by exposing __int256 ;) Docs > should have a pretty big fat warning on it.
Ah, ok, thanks. Now, the problem, OImode I believe is _already_ exposed to the user: int __attribute__((mode(SI))) a; int __attribute__((mode(OI))) b; This just changes the exposure slightly to be higher visibility and a prettier interface in my opinion. Also, notice, that exposure I believe is limited to ports that do this: my_scalar_mode_supported_p (enum machine_mode mode) { switch (mode) { case OImode: return true; default: return default_scalar_mode_supported_p (mode); } } _exclusively_. As, in my code, it does this: + if (targetm.scalar_mode_supported_p (OImode)) + { + int256_integer_type_node = make_signed_type (256); + int256_unsigned_type_node = make_unsigned_type (256); + } and this: + case RID_INT256: + if (int256_integer_type_node == NULL_TREE) + { + error_at (loc, "%<__int256%> is not supported for this target"); + return specs; + } and this: + if (explicit_int256) + { + if (int256_integer_type_node == NULL_TREE) + { + error ("%<__int256%> is not supported by this target"); + explicit_int256 = false; + } so, I'm having a really hard time with the notion that this actually creates any new problems for anyone, even those that support OImode already. I just checked all in tree gcc targets, and none claim OImode support. Do you have any example of a testcase that shows a regression? Any that shows a regression on any in tree port? I can easily test, as I have compilers that don't have any OI support, compilers that have OI support, and compilers that have __int256 support. As for documenting bugs, generally we don't do that. Our intention is to actually spend time to fix all bugs, so, documenting them I don't feel is necessary.