On Fri, 9 Mar 2012, Derek M Jones wrote:

Julia,

I have removed the test that the ) and the following identifier are on
the same line. Can anyone think of a case where one has

(x)y

or

(x)n for an integer n

where x is not a typedef?

While C lets you write a[i] or i[a] it does not allow p(f)
instead of f(p)

How about an old-type function definition?

typedef int y;

f(x)
y x;
{
...
}

Very rare I suspect and not something to loose sleep over.

This may be what the test was intended to guard against.


Of course there is the more obvious case of x being a macro name.

I don't see this one. You mean if x is a macro that expands to a type name? As long as the whole thing remains a cast, I don't think it matters.

thanks,
julia


thanks,
julia

On Mon, 5 Mar 2012, David Wagner wrote:

Hi,

I may have stumbled upon a bug that prevents spatch from matching in a
special case:
The following SP is used:

@match@
identifier f;
position p;
@@
f@p
@script:python@
f << match.f;
p << match.p;
@@
print(f, p[0].line)



It won't print anything when used on the following C file:

void main() {
unknown_tyepdef_1 td1;
td1.attr = (unknown_typedef_2)
td2.attr;
foo();
}


however, on:
void main() {
unknown_tyepdef_1 td1;
td1.attr = (unknown_typedef_2) td2.attr;
foo();
}

it finds
('foo', '4')
('td1', '3')
('td2', '3')

and on:
void main() {
unknown_typedef_1 td1;
td1.attr = (int)
td2.attr;
foo();
}

it finds the same symbols (different lines, of course)

If I define unknown_typedef_2 at the beginning of the file, it works
as expected, though.
Is it because coccinelle has no way to guess that it is a cast or is
it a bug ?

Regards,
David.
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)


--
Derek M. Jones                  tel: +44 (0) 1252 520 667
Knowledge Software Ltd          blog:shape-of-code.coding-guidelines.com
Source code analysis            http://www.knosof.co.uk
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to