*参照元 [#vb7e3e31] #backlinks *説明 [#x573c26e] -パス: [[gcc-8.3/gcc/c-family/c-pragma.c]] -FIXME: これは何? --説明 **引数 [#o3da60ca] -const char *space -- -const char *name -- -internal_pragma_handler ihandler -- --[[gcc-8.3/gcc/internal_pragma_handler]] -bool allow_expansion -- **返り値 [#l418873a] -なし **参考 [#i14c3b10] *実装 [#m4906779] /* Front-end wrappers for pragma registration to avoid dragging cpplib.h in almost everywhere. */ static void c_register_pragma_1 (const char *space, const char *name, internal_pragma_handler ihandler, bool allow_expansion) { unsigned id; if (flag_preprocess_only) { pragma_ns_name ns_name; - --[[gcc-8.3/gcc/pragma_ns_name]] if (!allow_expansion) return; ns_name.space = space; ns_name.name = name; registered_pp_pragmas.safe_push (ns_name); id = registered_pp_pragmas.length (); id += PRAGMA_FIRST_EXTERNAL - 1; } - --[[gcc-8.3/gcc/registered_pp_pragmas(global)]] else { registered_pragmas.safe_push (ihandler); id = registered_pragmas.length (); id += PRAGMA_FIRST_EXTERNAL - 1; /* The C front end allocates 8 bits in c_token. The C++ front end keeps the pragma kind in the form of INTEGER_CST, so no small limit applies. At present this is sufficient. */ gcc_assert (id < 256); } - --[[gcc-8.3/gcc/registered_pragmas(global)]] --[[gcc-8.3/gcc/gcc_assert()]] cpp_register_deferred_pragma (parse_in, space, name, id, allow_expansion, false); } - --[[gcc-8.3/gcc/cpp_register_deferred_pragma()]] *コメント [#i3180931]