http://llvm.org/bugs/show_bug.cgi?id=6097

           Summary: BinaryOperators built in wrong order
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Semantic Analyzer
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


$ cat t5.c
int foo1();
int foo2();
int main() {
  return foo1() + foo2();
}
mrs $ clang -cc1 -analyze -cfg-dump -fexceptions  t5.c

 [ B4 (ENTRY) ]
    Predecessors (0):
    Successors (1): B3

 [ B1 ]
      1: return [B2.1] + [B3.1];
    Predecessors (1): B2
    Successors (1): B0

 [ B2 ]
      1: foo1()
    Predecessors (1): B3
    Successors (2): B1 B0

 [ B3 ]
      1: foo2()
    Predecessors (1): B4
    Successors (2): B2 B0

 [ B0 (EXIT) ]
    Predecessors (3): B1 B2 B3
    Successors (0):
$ clang -S t5.c
$ grep foo t5.s
        callq   _foo1
        callq   _foo2

Order should be B4 -> B2 -> B3 -> B1.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to