[LLVMbugs] [Bug 13547] New: clang optimizes away null terminator

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 7 13:57:52 PDT 2012


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

             Bug #: 13547
           Summary: clang optimizes away null terminator
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P
         Component: Driver
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: dhill at mindcry.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


#include <stdio.h>
#include <string.h>

int
main(void)
{
        char buf[1024], *c;
        int i;

        for (i = 0; i < 100; i++)
                buf[i] = '/';
        buf[i] = '\0';

        c = strdup(buf);
        printf("%s\n", c);

        return (0);
}


when compiled with -O0, the above code works normally.  With any optimization
enabled, the "buf[i] = '\0'" is discarded.

(dhill at olive ~/code)$ clang -O0 -o test test.c
(dhill at olive ~/code)$ ./test
////////////////////////////////////////////////////////////////////////////////////////////////////

(dhill at olive ~/code)$ clang -O1 -o test test.c 
(dhill at olive ~/code)$ ./test                   
ÐÒèÿÿÿÿÀ$

Can anyone reproduce this with the current trunk?

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



More information about the llvm-bugs mailing list