void init_reswords (void) { unsigned int i; tree id; int mask = ((flag_no_asm ? D_ASM : 0) | D_OBJC | (flag_no_gnu_keywords ? D_EXT : 0)); ridpointers = GGC_CNEWVEC (tree, (int) RID_MAX); for (i = 0; i < ARRAY_SIZE (reswords); i++) { id = get_identifier (reswords[i].word); C_RID_CODE (id) = reswords[i].rid; ridpointers [(int) reswords[i].rid] = id; if (! (reswords[i].disable & mask)) C_IS_RESERVED_WORD (id) = 1; } }
void init_reswords (void) { unsigned int i; tree id; int mask = ((flag_no_asm ? D_ASM : 0) | D_OBJC | (flag_no_gnu_keywords ? D_EXT : 0)); ridpointers = GGC_CNEWVEC (tree, (int) RID_MAX); for (i = 0; i < ARRAY_SIZE (reswords); i++) { id = get_identifier (reswords[i].word); C_RID_CODE (id) = reswords[i].rid; ridpointers [(int) reswords[i].rid] = id; if (! (reswords[i].disable & mask)) C_IS_RESERVED_WORD (id) = 1; } /* APPLE LOCAL begin private extern Radar 2872481 --ilr */ /* For C++ there is always a -D__private_extern__=extern on the command line. However, if -fpreprocessed was specified then macros are not expanded so the -D is meaningless. But this replacement is required for C++. There for we have to "pretend" that '__private_extern__' is 'extern' and we can do this simply by making the rid code for '__private_extern__' be the same as for extern. Note, we probably could always do this here since '__private_extern__' is always to be treated like 'extern' for c++. But we'll be conservative and only do it when -fpreprocessed is specified and depend on the macro substitution in all other cases. */ if (flag_preprocessed) { id = get_identifier ("__private_extern__"); C_RID_CODE (id) = RID_EXTERN; } /* APPLE LOCAL end private extern Radar 2872481 --ilr */ }