static long used; static void stub1 (long stubi) { int stubj = stubi; used = stubj; } struct s1 { long len; }; struct s2 { [-int-]{+long+} len; }; struct s3 { int len; }; static void f (void) { struct s1 a = { 0 }; struct s2 b; b.len = a.len; used = b.len; } static void g (void) { struct s2 a = { 0 }; struct s3 b; b.len = a.len; used = b.len; } static void stub2 (long stubi) { int stubj = stubi; used = stubj; } int main (void) { stub1 (0); stub2 (0); f (); g (); return 0; }