[Mono-bugs] [Bug 328136] New: To strong optimization produces wrong code for some if clauses

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Sep 25 07:43:42 EDT 2007


https://bugzilla.novell.com/show_bug.cgi?id=328136

           Summary: To strong optimization produces wrong code for some if
                    clauses
           Product: Mono: Compilers
           Version: 1.2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: rharinath at novell.com
        ReportedBy: slomo at circular-chaos.org
         QAContact: mono-bugs at ximian.com
          Found By: ---


Hi,

Quoting https://bugs.launchpad.net/ubuntu/+source/mono/+bug/144734:

My collegue Martin Zaworski found a misbehaviour, we have then tracked it down
to following:
if (foo++ && false) {
} else {
   //foo isn't incremented
}
So, in an conditional statement, with &&false, the left hand side doesn't
run(or gets compiled), no side effects are
executed. Also no function() can be called inside there).
Works also with assignments, optimisation switches don't matter.

Microsoft csc.exe is void of that problem

Package: mono-mcs 1.2.4-6ubuntu4
Also affected is the current svn version (21/9/2007).

We have here now untrusted compiled binaries, unless it's verificable, that
this kind of source coding isn't used,
they have to be recompiled with a fixed version of the compiler.




Test code:
http://launchpadlibrarian.net/9501307/tt.cs


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list