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