Le dimanche 13 juillet 2014, 22:12:39 jiang a écrit : > Hello everyone! > > (s->a = (s->b = (s->c = n + 4))); > > > gcc & msvc: > --> 30 / 30 / 126 // Because the return value is left > > > tcc > --> 254 / 30 / 126 // Because the return is the right value
Since it works for the last two values I don't think it's that. It simply looks like tcc compute n + 4 (254) and then tries to store it in each field independently. It's a folding issue. Tcc records 254 in a CValue associated with the SValue for n + 4. The problem is how this is propagated (folded) to the three field access. > > Shall tcc assignment modify what? Same with gcc&msvc. Yes, gcc and msvc are definitely right here. Best regards, Thomas
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel