On Sun, Mar 30, 2014 at 11:38 AM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > The reason seems to be that our logic in check_declaration[] is > broken: it only ties things together based on both symbols having > 'extern'. So the actual declaration with an initializer, that lacks > the extern (but is in global scope) is missed. > > The attached patch would seem to fix it. Chris, what is the reason for > that MOD_INLINE check? You added it in commit 8cf99394ee4c ("move > extern inline function to file scope") and I suspect it messes up the > same_symbol logic. But I left it alone, and added a comment. If you Possible. If I comment out that check, I will get this error in the extern-inline.c test case: $ ./sparse validation/extern-inline.c validation/extern-inline.c validation/extern-inline.c:12:1: warning: multiple definitions for function 'g' validation/extern-inline.c:12:1: the previous one is here $ Unfortunately I have to run now, I will take a closer look when I am back tonight. I verify that applying your second patch did not trigger the error in extern-inline.c. I think it is possible the fix for the extern-inline.c is wrong regarding the same_symbol chain, there should be better way to fix it. I need to spend more time on it though. > can resolve that comment, please apply this patch with my sign-off and > some random commit message.. Sure Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html