linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] delay removing file scope
@ 2006-11-30 10:16 Christopher Li
  2006-12-05  2:04 ` Josh Triplett
  0 siblings, 1 reply; 2+ messages in thread
From: Christopher Li @ 2006-11-30 10:16 UTC (permalink / raw)
  To: Josh Triplett; +Cc: linux-sparse

Sparse only returns the used symbol. By the time it return
the symbol, it already destroyed the file scope.

This patch preserve the file scope. The caller can
examine the unused symbols. e.g. If I want to generate
ctags base on sparse, it need those unused symbols.

Signed-off-by: Christopher Li <sparse@chrisli.org>

Index: sparse/lib.c
===================================================================
--- sparse.orig/lib.c	2006-11-30 01:55:06.000000000 -0800
+++ sparse/lib.c	2006-11-30 01:55:23.000000000 -0800
@@ -661,9 +661,8 @@
 	/* Clear previous symbol list */
 	translation_unit_used_list = NULL;
 
-	start_file_scope();
+	new_file_scope();
 	res = sparse_file(filename);
-	end_file_scope();
 
 	/* Drop the tokens for this file after parsing */
 	clear_token_alloc();
Index: sparse/scope.c
===================================================================
--- sparse.orig/scope.c	2006-11-30 01:54:23.000000000 -0800
+++ sparse/scope.c	2006-11-30 01:55:23.000000000 -0800
@@ -96,6 +96,13 @@
 	end_scope(&file_scope);
 }
 
+void new_file_scope(void)
+{
+	if (file_scope != &builtin_scope)
+		end_file_scope();
+	start_file_scope();
+}
+
 void end_symbol_scope(void)
 {
 	end_scope(&block_scope);
Index: sparse/scope.h
===================================================================
--- sparse.orig/scope.h	2006-11-30 01:54:23.000000000 -0800
+++ sparse/scope.h	2006-11-30 01:55:23.000000000 -0800
@@ -28,6 +28,7 @@
 
 extern void start_file_scope(void);
 extern void end_file_scope(void);
+extern void new_file_scope(void);
 
 extern void start_symbol_scope(void);
 extern void end_symbol_scope(void);

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-12-05  2:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-30 10:16 [PATCH] delay removing file scope Christopher Li
2006-12-05  2:04 ` Josh Triplett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).