[llvm-bugs] [Bug 39977] New: Constant folding incorrectly folds modifiable compound literal

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 12 08:54:11 PST 2018


https://bugs.llvm.org/show_bug.cgi?id=39977

            Bug ID: 39977
           Summary: Constant folding incorrectly folds modifiable compound
                    literal
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Keywords: miscompilation
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: hstong at ca.ibm.com
                CC: blitzrakete at gmail.com, dgregor at apple.com,
                    erik.pilkington at gmail.com, llvm-bugs at lists.llvm.org,
                    richard-llvm at metafoo.co.uk

In the following, Clang appears to ignore the modification of the array
element; this, in turn, leads to a call to `abort()`. The GCC-built executable
returns 0 as expected.


### SOURCE (<stdin>):
extern "C" void abort(void);
constexpr int *p0 = (int []){ 13 };
int main(void) {
  *p0 = 42;
  int x[*p0];
  if ((sizeof x)/sizeof(int) == 42) return 0;
  abort();
}


### COMPILER INVOCATION:
clang++ -xc++ -std=gnu++11 -o testit -


### INVOCATION OF RESULTING EXECUTABLE:
./testit


### ACTUAL EXECUTION OUTPUT:
Aborted
Return:  0x86:134


### EXPECTED EXECUTION OUTPUT:
Return:  0x00:0


### COMPILER VERSION INFO (clang++ -v):
clang version 8.0.0 (trunk)
Target: powerpc64le-unknown-linux-gnu
Thread model: posix
InstalledDir:
/gsa/tlbgsa/projects/x/xlcmpbld/run/clang/main_trunk/linux_leppc/daily/latest/bin
Found candidate GCC installation: /usr/lib/gcc/ppc64le-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/ppc64le-redhat-linux/4.8.5
Selected GCC installation: /usr/lib/gcc/ppc64le-redhat-linux/4.8.5
Candidate multilib: .;@m64
Selected multilib: .;@m64

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181212/98648986/attachment.html>


More information about the llvm-bugs mailing list