| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
It was only used to check if the symbol was already bound, and would
cause significant complication in the serialization code.
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
|
|
|
|
| |
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
|
|
|
| |
Signed-off-by: Josh Triplett <josh@freedesktop.org>
|
|
|
|
|
|
|
|
| |
With this patch handle_undef() doesn't corrupt the builtin macros.
This (imho) cleanups the code and is used in the next patches.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Start off with
sparse_initialize(argc, argv);
which will return the number of filenames found. You can then use that,
or just check if *argv is NULL in a loop like
while (*argv)
list = sparse(argv);
where you get the declaration list for each file in turn.
|
|
|
|
| |
Only actual global variables have global scope.
|
|
|
|
|
| |
Also, macros are special: they can be removed out of scope with #undef,
which makes them slightly more interesting when we exit the scope.
|
|
|
|
|
|
| |
Brought on by a query from Mitesh Shah. I claimed it should be easy,
let's see if I was full of sh*t (this is just some very early
infrastructure, not the whole thing by any means!)
|
|
|
|
|
|
|
|
|
| |
It's disgusting how intimate lib.c is with all the types,
and this is slowly trying to split things up a bit. Now
the intimate part is in allocate.c, but maybe we can get
to the point where each allocation user just declares its
own allocation strategy, and just uses the generic routines
in allocate.c
|
| |
|
|
|
|
|
|
| |
..and switch us entirely over to the new naming scheme.
All the nasty work of going through the users thanks to Chris Li.
|
|
|
|
| |
isn't the sole copyright owner these days.
|
|
|
|
|
|
|
|
| |
loop.
In particular, this cleans up the compound statement return
type handling a lot. It's just a lot more obvious with the
straigth loop, and no indirection through an iterator function.
|
|
|
|
| |
have any alignment guarantees.
|
|
|
|
| |
preparing for a public release.
|
|
|
|
|
|
|
|
|
| |
close the scope properly at the end (we started a new one instead).
Make all non-static functions external.
And always check the declarator against previous symbols when finding
a new symbol. We want to verify that we don't have duplicates.
|
|
|
|
|
| |
whether it is a re-definition (ie new declaration in the same
scope).
|
|
|
|
| |
the real one when it goes out the door.
|
|
|
|
|
|
|
|
| |
are a proper superset of block scopes: function scopes
are created by a new function, block scopes by compound
statements and statement expressions.
Make labels use function scope.
|
|
|
|
| |
placeholder LICENSE file.
|
|
|
|
|
|
| |
the entry is the first or last.
Make printouts prettier by using the new iterator functionality.
|
|
|