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

            Bug ID: 21497
           Summary: miscompilation after SVN r220256
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Slightly reduced test case:

// RUN: %clang -fPIC -target i686-windows-itanium -c %s

extern int a();
extern int b();
extern int c();
extern int d();

int test(long long ll, void *pv) {
  int result = 1;
  switch (ll) {
  case 1:
    result = a();
    break;
  case 2:
    result = c();
    break;
  case 3:
    result = d();
    break;
  case 4:
    if (pv == 0) {
      (void)d();
      result = b();
    } else {
    }
    break;
  }
  return (result);
}

Setting SetDirectiveSuppressesReloc to true corrects the issue.

-- 
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