Dave Korn wrote: > First attempt (attached) didn't go so well. When building libgcc2, I get > an ICE in the preprocessor, here:
> As far as I can tell, CHAR16_TYPE is: > > (gdb) x/s 0x1fdb0f6 0x1fdb0f6 <__FUNCTION__.59453+167>: "unsigned > short" (gdb) > > Is this perhaps related to the way all the short, long and longlong types > in cygwin-stdint.h omit "int"? Answering my own question: no, it's not. char16_type_node exists, and looks like a valid type declaration to me, but for some reason identifier_global_value() on it returns NULL. $1 = (union tree_node *) 0x7ff31ab0 $2 = {base = {code = IDENTIFIER_NODE, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, saturating_flag = 0, default_def_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0, spare = 0, ann = 0x0}, common = {base = {code = IDENTIFIER_NODE, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, saturating_flag = 0, default_def_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0, spare = 0, ann = 0x0}, chain = 0x0, type = 0x0}, int_cst = {common = {base = {code = IDENTIFIER_NODE, . . . imag = 0x12}, identifier = {common = {base = {code = IDENTIFIER_NODE, side_effects_flag = 0, constant_flag = 0, addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, unsigned_flag = 0, asm_written_flag = 0, nowarning_flag = 0, used_flag = 0, nothrow_flag = 0, static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, deprecated_flag = 0, saturating_flag = 0, default_def_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, visited = 0, spare = 0, ann = 0x0}, chain = 0x0, type = 0x0}, id = {str = 0x7ff00f20 "unsigned short int", len = 18, hash_value = 1006702630}}, decl_minimal = {common = {base = { Not sure yet what's wrong with it or why identifier_global_value is unhappy. cheers, DaveK