1 /* An assignment inside a functioncall changed the type of the parameter.
2 See bug description 1273984 for details.
4 Bug detected and fixed by Guenther Jehle
11 void foo({sign
} int val
) {
12 val
; //make the compiler happy
15 void fooInt({sign
} int val
) {
19 void fooChar({sign
} char val
) {
24 testAssignInFunctioncall(void)
26 volatile {sign
} char charVal
=3;
27 volatile {sign
} int intVal
=0x4040;
29 fooInt(intVal
=charVal
); // should cast charVal to int for function call.
30 // without patch #1645121, a char is put on the stack
31 // (or hold in registers)
33 fooInt(intVal
=charVal
);
37 fooChar(charVal
=intVal
); // without patch, a int is put on the stack
39 fooChar(charVal
=intVal
);