*参照元 [#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]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS