On Mon, 25 Aug 2014, DJ Delorie wrote:

> +  for (i = 0; i < NUM_INT_N_ENTS; i ++)
> +    if (int_n_enabled_p[i])
> +      {
> +     char buf[35+20+20];
> +
> +     /* These are used to configure the C++ library.  */
> +
> +     if (!flag_iso || int_n_data[i].bitsize == POINTER_SIZE)
> +       {
> +         sprintf (buf, "__GLIBCXX_TYPE_INT_N_%d=__int%d", i, 
> int_n_data[i].bitsize);
> +         cpp_define (parse_in, buf);
> +
> +         sprintf (buf, "__GLIBCXX_BITSIZE_INT_N_%d=%d", i, 
> int_n_data[i].bitsize);
> +         cpp_define (parse_in, buf);
> +       }
> +      }

I think this should at least initially be conditioned on c_dialect_cxx ().

> +         case RID_INT_N_0:
> +         case RID_INT_N_1:
> +         case RID_INT_N_2:
> +         case RID_INT_N_3:
> +           specs->int_n_idx = i - RID_INT_N_0;
> +           if (!in_system_header_at (input_location)
> +               /* As a special exception, allow a type that's used
> +                  for __SIZE_TYPE__.  */
> +               && int_n_data[specs->int_n_idx].bitsize != POINTER_SIZE)

Given the precedent for long long as __SIZE_TYPE__, I don't think we 
should have that special exception.

The non-C++/libstdc++ parts are OK with those changes.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to