[llvm-bugs] [Bug 26627] New: constant folding with ctype functions

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Feb 15 16:57:11 PST 2016


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

            Bug ID: 26627
           Summary: constant folding with ctype functions
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: helloqirun at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

It appears that clang does not support constant folding with ctype functions at
-O3.


$ clang-trunk -v
clang version 3.9.0 (trunk 260880) (llvm/trunk 260879)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Found candidate GCC installation:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.3.0
Selected GCC installation:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.3.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64



$ clang-trunk -O3 abc.c
abc.c:3:7: warning: implicit declaration of function 'toupper' is invalid in
C99 [-Wimplicit-function-declaration]
  if (toupper(i) != toupper(i)) link_failure_();
      ^
abc.c:3:33: warning: implicit declaration of function 'link_failure_' is
invalid in C99 [-Wimplicit-function-declaration]
  if (toupper(i) != toupper(i)) link_failure_();
                                ^
2 warnings generated.
/tmp/abc-a497fe.o: In function `fn1':
abc.c:(.text+0x25): undefined reference to `link_failure_'
clang-3.9: error: linker command failed with exit code 1 (use -v to see
invocation)



$ cat abc.c
void fn1() {
  int i=1;
  if (toupper(i) != toupper(i)) link_failure_();

}
int main() {}

-- 
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/20160216/1717ef0b/attachment-0001.html>


More information about the llvm-bugs mailing list