On 10/03/2014 04:11 PM, DJ Delorie wrote:
Note that there is a separate __int128_t type that isn't part of the
"standard" extension.  Maybe it's there for that type?

Otherwise, I don't see what moving the test would accomplish.  If
"long" is never 128 bits, it doesn't matter if the int128 test is
before or after it, and the other intN are never the same size as
standard types,

I don't see how you can assert that these will never happen. Why not make the code more correct, while we're touching it?

and we already have code to prefer unsigned for intN types.

What I don't see is the intN parallel to this:

      if (same_type_p (TYPE_MAIN_VARIANT (t1), long_long_unsigned_type_node)
          || same_type_p (TYPE_MAIN_VARIANT (t2), long_long_unsigned_type_node))
        return build_type_attribute_variant (long_long_unsigned_type_node,
                                             attributes);

Your patch only compares t1/t2 to int_n_trees[i].signed_type.

Jason

Reply via email to