1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-02 00:42:52 +01:00
llvm-mirror/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll
Dan Gohman f8949c3d1a Revert r64460. strtol and friends cannot be marked readonly, even with
a null endptr argument, because they may write to errno.

This fixes a seflhost miscompile observed on Linux targets when TBAA
was enabled.

llvm-svn: 122014
2010-12-17 01:09:43 +00:00

15 lines
466 B
LLVM

; RUN: opt < %s -simplify-libcalls -S > %t
; RUN: grep nocapture %t | count 2
; RUN: grep null %t | grep nocapture | count 1
; RUN: grep null %t | grep call | not grep readonly
; Test that we add nocapture to the declaration, and to the second call only.
declare float @strtol(i8* %s, i8** %endptr, i32 %base)
define void @foo(i8* %x, i8** %endptr) {
call float @strtol(i8* %x, i8** %endptr, i32 10)
call float @strtol(i8* %x, i8** null, i32 10)
ret void
}