亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? objc-act.c

?? gcc-2.95.3 Linux下最常用的C編譯器
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
  tree chain;  if (section == class_names)    chain = class_names_chain;  else if (section == meth_var_names)    chain = meth_var_names_chain;  else if (section == meth_var_types)    chain = meth_var_types_chain;  else    abort ();  for (; chain != 0; chain = TREE_VALUE (chain))    if (TREE_VALUE (chain) == ident)      return (TREE_PURPOSE (chain));  abort ();  return NULL_TREE;}/* Output references to all statically allocated objects.  Return the DECL   for the array built.  */static voidgenerate_static_references (){  tree decls = NULL_TREE, ident, decl_spec, expr_decl, expr = NULL_TREE;  tree class_name, class, decl, initlist;  tree cl_chain, in_chain, type;  int num_inst, num_class;  char buf[256];  if (flag_next_runtime)    abort ();  for (cl_chain = objc_static_instances, num_class = 0;       cl_chain; cl_chain = TREE_CHAIN (cl_chain), num_class++)    {      for (num_inst = 0, in_chain = TREE_PURPOSE (cl_chain);	   in_chain; num_inst++, in_chain = TREE_CHAIN (in_chain));      sprintf (buf, "_OBJC_STATIC_INSTANCES_%d", num_class);      ident = get_identifier (buf);      expr_decl = build_nt (ARRAY_REF, ident, NULL_TREE);      decl_spec = tree_cons (NULL_TREE, build_pointer_type (void_type_node),			     build_tree_list (NULL_TREE,					      ridpointers[(int) RID_STATIC]));      decl = start_decl (expr_decl, decl_spec, 1, NULL_TREE, NULL_TREE);      DECL_CONTEXT (decl) = 0;      DECL_ARTIFICIAL (decl) = 1;      /* Output {class_name, ...}.  */      class = TREE_VALUE (cl_chain);      class_name = get_objc_string_decl (TYPE_NAME (class), class_names);      initlist = build_tree_list (NULL_TREE,				  build_unary_op (ADDR_EXPR, class_name, 1));      /* Output {..., instance, ...}.  */      for (in_chain = TREE_PURPOSE (cl_chain);	   in_chain; in_chain = TREE_CHAIN (in_chain))	{	  expr = build_unary_op (ADDR_EXPR, TREE_VALUE (in_chain), 1);	  initlist = tree_cons (NULL_TREE, expr, initlist);	}      /* Output {..., NULL}.  */      initlist = tree_cons (NULL_TREE, build_int_2 (0, 0), initlist);      expr = build_constructor (TREE_TYPE (decl), nreverse (initlist));      finish_decl (decl, expr, NULL_TREE);      TREE_USED (decl) = 1;      type = build_array_type (build_pointer_type (void_type_node), 0);      decl = build_decl (VAR_DECL, ident, type);      make_decl_rtl (decl, 0, 1);      TREE_USED (decl) = 1;      decls	= tree_cons (NULL_TREE, build_unary_op (ADDR_EXPR, decl, 1), decls);    }  decls = tree_cons (NULL_TREE, build_int_2 (0, 0), decls);  ident = get_identifier ("_OBJC_STATIC_INSTANCES");  expr_decl = build_nt (ARRAY_REF, ident, NULL_TREE);  decl_spec = tree_cons (NULL_TREE, build_pointer_type (void_type_node),			 build_tree_list (NULL_TREE,					  ridpointers[(int) RID_STATIC]));  static_instances_decl    = start_decl (expr_decl, decl_spec, 1, NULL_TREE, NULL_TREE);  TREE_USED (static_instances_decl) = 1;  DECL_CONTEXT (static_instances_decl) = 0;  DECL_ARTIFICIAL (static_instances_decl) = 1;  end_temporary_allocation ();  expr = build_constructor (TREE_TYPE (static_instances_decl),			    nreverse (decls));  finish_decl (static_instances_decl, expr, NULL_TREE);}/* Output all strings.  */static voidgenerate_strings (){  tree sc_spec, decl_specs, expr_decl;  tree chain, string_expr;  tree string, decl;  for (chain = class_names_chain; chain; chain = TREE_CHAIN (chain))    {      string = TREE_VALUE (chain);      decl = TREE_PURPOSE (chain);      sc_spec	= tree_cons (NULL_TREE, ridpointers[(int) RID_STATIC], NULL_TREE);      decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], sc_spec);      expr_decl = build_nt (ARRAY_REF, DECL_NAME (decl), NULL_TREE);      decl = start_decl (expr_decl, decl_specs, 1, NULL_TREE, NULL_TREE);      end_temporary_allocation ();      string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,				     IDENTIFIER_POINTER (string));      finish_decl (decl, string_expr, NULL_TREE);    }  for (chain = meth_var_names_chain; chain; chain = TREE_CHAIN (chain))    {      string = TREE_VALUE (chain);      decl = TREE_PURPOSE (chain);      sc_spec	= tree_cons (NULL_TREE, ridpointers[(int) RID_STATIC], NULL_TREE);      decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], sc_spec);      expr_decl = build_nt (ARRAY_REF, DECL_NAME (decl), NULL_TREE);      decl = start_decl (expr_decl, decl_specs, 1, NULL_TREE, NULL_TREE);      string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,				     IDENTIFIER_POINTER (string));      finish_decl (decl, string_expr, NULL_TREE);    }  for (chain = meth_var_types_chain; chain; chain = TREE_CHAIN (chain))    {      string = TREE_VALUE (chain);      decl = TREE_PURPOSE (chain);      sc_spec	= tree_cons (NULL_TREE, ridpointers[(int) RID_STATIC], NULL_TREE);      decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], sc_spec);      expr_decl = build_nt (ARRAY_REF, DECL_NAME (decl), NULL_TREE);      decl = start_decl (expr_decl, decl_specs, 1, NULL_TREE, NULL_TREE);      string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1,				IDENTIFIER_POINTER (string));      finish_decl (decl, string_expr, NULL_TREE);    }}static treebuild_selector_reference_decl (name)      tree name;{  tree decl, ident;  char buf[256];  static int idx = 0;  sprintf (buf, "_OBJC_SELECTOR_REFERENCES_%d", idx++);  push_obstacks_nochange ();  end_temporary_allocation ();  ident = get_identifier (buf);  decl = build_decl (VAR_DECL, ident, selector_type);  DECL_EXTERNAL (decl) = 1;  TREE_PUBLIC (decl) = 1;  TREE_USED (decl) = 1;  TREE_READONLY (decl) = 1;  DECL_ARTIFICIAL (decl) = 1;  DECL_CONTEXT (decl) = 0;  make_decl_rtl (decl, 0, 1);  pushdecl_top_level (decl);  pop_obstacks ();  return decl;}/* Just a handy wrapper for add_objc_string.  */static treebuild_selector (ident)     tree ident;{  tree expr = add_objc_string (ident, meth_var_names);  if (flag_typed_selectors)    return expr;  else    return build_c_cast (selector_type, expr); /* cast! */}/* Synthesize the following expr: (char *)&_OBJC_STRINGS[<offset>]   The cast stops the compiler from issuing the following message:   grok.m: warning: initialization of non-const * pointer from const *   grok.m: warning: initialization between incompatible pointer types.  */#if 0static treebuild_msg_pool_reference (offset)     int offset;{  tree expr = build_int_2 (offset, 0);  tree cast;  expr = build_array_ref (UOBJC_STRINGS_decl, expr);  expr = build_unary_op (ADDR_EXPR, expr, 0);  cast = build_tree_list (build_tree_list (NULL_TREE,					   ridpointers[(int) RID_CHAR]),			  build1 (INDIRECT_REF, NULL_TREE, NULL_TREE));  TREE_TYPE (expr) = groktypename (cast);  return expr;}static treeinit_selector (offset)     int offset;{  tree expr = build_msg_pool_reference (offset);  TREE_TYPE (expr) = selector_type;  return expr;}#endifstatic voidbuild_selector_translation_table (){  tree sc_spec, decl_specs;  tree chain, initlist = NULL_TREE;  int offset = 0;  tree decl = NULL_TREE, var_decl, name;  /* The corresponding pop_obstacks is in finish_decl,     called at the end of this function.  */  if (! flag_next_runtime)    push_obstacks_nochange ();  for (chain = sel_ref_chain; chain; chain = TREE_CHAIN (chain))    {      tree expr;      expr = build_selector (TREE_VALUE (chain));      if (flag_next_runtime)	{	  name = DECL_NAME (TREE_PURPOSE (chain));	  sc_spec = build_tree_list (NULL_TREE, ridpointers[(int) RID_STATIC]);	  /* static SEL _OBJC_SELECTOR_REFERENCES_n = ...; */	  decl_specs = tree_cons (NULL_TREE, selector_type, sc_spec);	  var_decl = name;	  /* The `decl' that is returned from start_decl is the one that we	     forward declared in `build_selector_reference'  */	  decl = start_decl (var_decl, decl_specs, 1, NULL_TREE, NULL_TREE);	}      /* add one for the '\0' character */      offset += IDENTIFIER_LENGTH (TREE_VALUE (chain)) + 1;      if (flag_next_runtime)	finish_decl (decl, expr, NULL_TREE);      else 	{	  if (flag_typed_selectors)	    {	      tree eltlist = NULL_TREE;	      tree encoding = get_proto_encoding (TREE_PURPOSE (chain));	      eltlist = tree_cons (NULL_TREE, expr, NULL_TREE);	      eltlist = tree_cons (NULL_TREE, encoding, eltlist);	      expr = build_constructor (objc_selector_template,					nreverse (eltlist));	    }	  initlist = tree_cons (NULL_TREE, expr, initlist);	  	}    }  if (! flag_next_runtime)    {      /* Cause the variable and its initial value to be actually output.  */      DECL_EXTERNAL (UOBJC_SELECTOR_TABLE_decl) = 0;      TREE_STATIC (UOBJC_SELECTOR_TABLE_decl) = 1;      /* NULL terminate the list and fix the decl for output.  */      initlist = tree_cons (NULL_TREE, build_int_2 (0, 0), initlist);      DECL_INITIAL (UOBJC_SELECTOR_TABLE_decl) = (tree) 1;      initlist = build_constructor (TREE_TYPE (UOBJC_SELECTOR_TABLE_decl),				    nreverse (initlist));      finish_decl (UOBJC_SELECTOR_TABLE_decl, initlist, NULL_TREE);      current_function_decl = NULL_TREE;    }}static treeget_proto_encoding (proto)     tree proto;{  tree encoding;  if (proto)    {      tree tmp_decl;      if (! METHOD_ENCODING (proto))	{	    tmp_decl = build_tmp_function_decl ();	    hack_method_prototype (proto, tmp_decl);	    encoding = encode_method_prototype (proto, tmp_decl);	    METHOD_ENCODING (proto) = encoding;	  }      else	encoding = METHOD_ENCODING (proto);      return add_objc_string (encoding, meth_var_types);    }  else    return build_int_2 (0, 0);}/* sel_ref_chain is a list whose "value" fields will be instances of   identifier_node that represent the selector.  */static treebuild_typed_selector_reference (ident, proto)     tree ident, proto;{  tree *chain = &sel_ref_chain;  tree expr;  int index = 0;  while (*chain)    {      if (TREE_PURPOSE (*chain) == ident && TREE_VALUE (*chain) == proto)	goto return_at_index;      index++;      chain = &TREE_CHAIN (*chain);    }  *chain = perm_tree_cons (proto, ident, NULL_TREE); return_at_index:  expr = build_unary_op (ADDR_EXPR,			 build_array_ref (UOBJC_SELECTOR_TABLE_decl,					  build_int_2 (index, 0)),			 1);  return build_c_cast (selector_type, expr);}static treebuild_selector_reference (ident)     tree ident;{  tree *chain = &sel_ref_chain;  tree expr;  int index = 0;  while (*chain)    {      if (TREE_VALUE (*chain) == ident)	return (flag_next_runtime		? TREE_PURPOSE (*chain)		: build_array_ref (UOBJC_SELECTOR_TABLE_decl,				   build_int_2 (index, 0)));      index++;      chain = &TREE_CHAIN (*chain);    }  expr = build_selector_reference_decl (ident);  *chain = perm_tree_cons (expr, ident, NULL_TREE);  return (flag_next_runtime	  ? expr	  : build_array_ref (UOBJC_SELECTOR_TABLE_decl,			     build_int_2 (index, 0)));}static treebuild_class_reference_decl (name)      tree name;{  tree decl, ident;  char buf[256];  static int idx = 0;  sprintf (buf, "_OBJC_CLASS_REFERENCES_%d", idx++);  push_obstacks_nochange ();  end_temporary_allocation ();  ident = get_identifier (buf);  decl = build_decl (VAR_DECL, ident, objc_class_type);  DECL_EXTERNAL (decl) = 1;  TREE_PUBLIC (decl) = 1;  TREE_USED (decl) = 1;  TREE_READONLY (decl) = 1;  DECL_CONTEXT (decl) = 0;  DECL_ARTIFICIAL (decl) = 1;  make_decl_rtl (decl, 0, 1);  pushdecl_top_level (decl);  pop_obstacks ();  return decl;}/* Create a class reference, but don't create a variable to reference   it.  */static voidadd_class_reference (ident)     tree ident;{  tree chain;  if ((chain = cls_ref_chain))    {      tree tail;      do        {	  if (ident == TREE_VALUE (chain))	    return;	  tail = chain;	  chain = TREE_CHAIN (chain);        }      while (chain);      /* Append to the end of the list */      TREE_CHAIN (tail) = perm_tree_cons (NULL_TREE, ident, NULL_TREE);    }  else    cls_ref_chain = perm_tree_cons (NULL_TREE, ident, NULL_TREE);}/* Get a class reference, creating it if necessary.  Also create the   reference variable.  */treeget_class_reference (ident)    tree ident;{  if (flag_next_runtime)    {      tree *chain;      tree decl;      for (chain = &cls_ref_chain; *chain; chain = &TREE_CHAIN (*chain))	if (TREE_VALUE (*chain) == ident)	  {	    if (! TREE_PURPOSE (*chain))	      TREE_PURPOSE

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清国产一区在线| 夜夜嗨av一区二区三区网页| 五月激情丁香一区二区三区| 91老师国产黑色丝袜在线| 国产欧美日韩三级| 成人一道本在线| 亚洲欧美一区二区三区极速播放 | 国产精品1区2区| 久久久亚洲高清| 91在线观看视频| 国产传媒一区在线| 亚洲美女偷拍久久| 国产亚洲精久久久久久| 91美女片黄在线观看| 国产suv精品一区二区883| 欧美国产综合色视频| 色菇凉天天综合网| 久久66热偷产精品| 樱花草国产18久久久久| 欧美日韩国产免费| 国产不卡视频在线观看| 极品少妇一区二区三区精品视频 | 日韩免费福利电影在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 2024国产精品| 欧美视频中文字幕| 国产69精品久久99不卡| 顶级嫩模精品视频在线看| 国产精品中文字幕日韩精品| 精品一区二区三区免费毛片爱| 蜜桃久久精品一区二区| 美美哒免费高清在线观看视频一区二区 | 91社区在线播放| 欧美午夜精品久久久久久孕妇| 另类调教123区| 日韩免费一区二区| 精品国偷自产国产一区| 欧美优质美女网站| 欧美日韩国产在线观看| 欧美一区二区三区精品| 99re在线精品| 国产精品中文字幕一区二区三区| 丁香婷婷综合五月| 日本久久电影网| 日韩欧美国产三级| 最新高清无码专区| 国产精品萝li| 亚洲视频1区2区| 日本亚洲视频在线| 成人久久18免费网站麻豆| 色94色欧美sute亚洲线路一久| 欧美夫妻性生活| 欧美一二三区在线观看| 欧美一区二区三区播放老司机| 久久精品免视看| 亚洲国产视频一区| 香蕉加勒比综合久久| 免费成人美女在线观看.| 蜜桃传媒麻豆第一区在线观看| 99精品久久免费看蜜臀剧情介绍| 欧美一区二区三区在线视频| 亚洲天堂av老司机| 国产寡妇亲子伦一区二区| 日韩亚洲欧美在线观看| 亚洲一区在线视频| 精品在线一区二区三区| 欧美男女性生活在线直播观看| 国产精品人成在线观看免费| 美女一区二区久久| 91精品国产乱码久久蜜臀| 亚洲女人的天堂| 波多野洁衣一区| 欧美亚洲一区二区在线| 亚洲蜜臀av乱码久久精品蜜桃| 国产乱码精品一区二区三区av| 91精品国产高清一区二区三区| 亚洲永久精品国产| 欧美日韩一卡二卡| 久久久久国产免费免费| 韩国v欧美v日本v亚洲v| 色婷婷综合在线| 26uuu色噜噜精品一区二区| 亚洲成a人v欧美综合天堂| 欧美色图激情小说| 视频一区二区三区入口| 国产a视频精品免费观看| 欧美国产欧美亚州国产日韩mv天天看完整| 韩国成人精品a∨在线观看| 欧美极品美女视频| 欧美一区2区视频在线观看| 日韩高清在线不卡| 久久亚区不卡日本| 一本大道久久a久久精二百| 亚洲一二三级电影| 久久久久久久久一| 日本高清不卡一区| 精品在线亚洲视频| 成人免费小视频| 福利电影一区二区| 亚洲第一激情av| 中文字幕 久热精品 视频在线| 国产成人午夜电影网| 亚洲精品高清视频在线观看| 日韩欧美一级精品久久| 成人综合激情网| 蜜臀a∨国产成人精品| 国产精品久99| 一本色道亚洲精品aⅴ| 美女看a上一区| 亚洲无人区一区| 国产精品久久久久久久久搜平片| 69堂精品视频| 久久99精品国产麻豆婷婷| 亚洲激情中文1区| 亚洲国产精品t66y| 精品国产污污免费网站入口| 欧美做爰猛烈大尺度电影无法无天| 亚洲精品videosex极品| 国产精品网站导航| www欧美成人18+| 日韩欧美黄色影院| 欧美日韩成人一区| 欧美在线制服丝袜| 欧美在线高清视频| 欧美影院一区二区三区| 色综合天天综合色综合av | 亚洲综合一区在线| 亚洲男人的天堂av| 亚洲日本欧美天堂| 国产精品热久久久久夜色精品三区 | 国产精品丝袜久久久久久app| 精品精品国产高清a毛片牛牛 | 国产精品99久久久久久有的能看| 波多野结衣的一区二区三区| 欧美精品一区在线观看| 久久机这里只有精品| 亚洲精选免费视频| 亚洲精品成a人| 日韩经典中文字幕一区| 精品一区二区三区日韩| 国产99久久久国产精品潘金网站| 国产精品12区| 在线观看视频一区| 日韩女优视频免费观看| 国产精品午夜春色av| 洋洋成人永久网站入口| 九九视频精品免费| 99久久综合99久久综合网站| 色综合久久中文综合久久牛| 欧美视频一区在线观看| 久久九九国产精品| 国产精品久久久久久久久图文区| 亚洲色图制服丝袜| 黄色成人免费在线| 色婷婷激情综合| 久久久久久97三级| 肉色丝袜一区二区| 99视频有精品| 精品国产网站在线观看| 亚洲品质自拍视频| 国产成人精品免费一区二区| 欧美一区二区在线视频| 亚洲乱码国产乱码精品精小说| 激情图区综合网| 欧美日韩成人高清| 一个色综合网站| av不卡在线播放| 亚洲国产精品二十页| 精品一区二区三区在线播放视频 | 日韩亚洲欧美一区二区三区| 一区二区三区四区五区视频在线观看| 国产麻豆9l精品三级站| 午夜精品国产更新| 99久久99久久久精品齐齐| 久久九九久久九九| 国产福利91精品一区| 久久久久久久久一| 成人午夜又粗又硬又大| 国产欧美日韩综合| 成人午夜看片网址| 国产精品久久看| 成人动漫一区二区在线| 9191国产精品| 午夜精品视频一区| 欧美一卡二卡在线| 国产中文字幕精品| 国产精品色哟哟| 色综合久久六月婷婷中文字幕| 亚洲精品国产品国语在线app| 一本大道av一区二区在线播放| 一区二区高清视频在线观看| 欧美日韩一区二区在线观看| 美国十次综合导航| 国产精品网站在线| 欧洲日韩一区二区三区| 精品一区二区在线播放| 国产精品国产自产拍高清av | 亚洲超碰97人人做人人爱| 欧美猛男超大videosgay| 午夜精品久久久久久久99樱桃|