* [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
* Re: [PATCH] delay removing file scope
2006-11-30 10:16 [PATCH] delay removing file scope Christopher Li
@ 2006-12-05 2:04 ` Josh Triplett
0 siblings, 0 replies; 2+ messages in thread
From: Josh Triplett @ 2006-12-05 2:04 UTC (permalink / raw)
To: Christopher Li; +Cc: linux-sparse
[-- Attachment #1: Type: text/plain, Size: 489 bytes --]
Christopher Li wrote:
> 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.
Merged, thanks. I look forward to seeing your sparse-based ctags generator; a
ctags which actually *parses C* would provide significant improvements. :)
- Josh Triplett
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.