Index: global/global.c
===================================================================
RCS file: /sources/global/global/global/global.c,v
retrieving revision 1.299
diff -c -r1.299 global.c
*** global/global.c	22 Jun 2015 06:42:35 -0000	1.299
--- global/global.c	6 Aug 2015 01:11:15 -0000
***************
*** 1617,1622 ****
--- 1617,1624 ----
  	if (wflag)
  		flags |= PARSER_WARNING;
  	*/
+ 	if (getenv("GTAGSFORCEENDBLOCK"))
+ 		flags |= PARSER_END_BLOCK;
  	if (db == GRTAGS + GSYMS)
  		data.target = TARGET_REF|TARGET_SYM;
  	else
Index: gtags/gtags.c
===================================================================
RCS file: /sources/global/global/gtags/gtags.c,v
retrieving revision 1.275
diff -c -r1.275 gtags.c
*** gtags/gtags.c	24 Jun 2015 01:59:25 -0000	1.275
--- gtags/gtags.c	6 Aug 2015 01:11:15 -0000
***************
*** 882,887 ****
--- 882,889 ----
  		flags |= PARSER_WARNING;
  	if (explain)
  		flags |= PARSER_EXPLAIN;
+ 	if (getenv("GTAGSFORCEENDBLOCK"))
+ 		flags |= PARSER_END_BLOCK;
  	/*
  	 * Add tags to GTAGS and GRTAGS.
  	 */
***************
*** 943,948 ****
--- 945,952 ----
  		flags |= PARSER_WARNING;
  	if (explain)
  		flags |= PARSER_EXPLAIN;
+ 	if (getenv("GTAGSFORCEENDBLOCK"))
+ 		flags |= PARSER_END_BLOCK;
  	/*
  	 * Add tags to GTAGS and GRTAGS.
  	 */
Index: gtags/manual.in
===================================================================
RCS file: /sources/global/global/gtags/manual.in,v
retrieving revision 1.101
diff -c -r1.101 manual.in
*** gtags/manual.in	28 Jun 2015 22:06:52 -0000	1.101
--- gtags/manual.in	6 Aug 2015 01:11:15 -0000
***************
*** 143,148 ****
--- 143,151 ----
  	@item{@var{GTAGSFORCECPP}}
  		If this variable is set, each file whose suffix is @file{.h} is treated
  		as a C++ source file.
+ 	@item{@var{GTAGSFORCEENDBLOCK}}
+ 		If this variable is set, each @} at the first column brings end of block
+ 		of 0 level.
  	@item{@var{GTAGSLABEL}}
  		Configuration label. The default is @val{default}.
  	@item{@var{GTAGSLOGGING}}
