[hellogcc] [投稿] 使用ctags查看gcc源码

  • From: Mingjie Xing <mingjie.xing@xxxxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Fri, 28 Sep 2012 14:41:32 +0800

gcc源代码中许多数据结构在定义中都使用了GTY来标记,这样会干扰ctags生成的标记,无法正确的找到这些结构体。比如:

union GTY ((ptr_alias (union lang_tree_node),
            desc ("tree_node_structure (&%h)"), variable_size)) tree_node {
  struct tree_base GTY ((tag ("TS_BASE"))) base;
  struct tree_typed GTY ((tag ("TS_TYPED"))) typed;
... ...
};

另外,VEC的用法也会对ctags有干扰。幸好,ctags有这么一个选项-I
(参见http://ctags.sourceforge.net/ctags.html)可以将这些宏过滤掉。;

因此,可以在gcc子目录下执行如下命令:

$ ctags -R -I GTY+ -I VEC+ --exclude="testsuite"

这样,在vim中查看数据类型的定义,就比较准确了。

祝好
邢明杰

Other related posts:

  • » [hellogcc] [投稿] 使用ctags查看gcc源码 - Mingjie Xing