]> granicus.if.org Git - clang/commit
Fix subtle bug in generating LLVM function declarations for builtin functions.
authorDaniel Dunbar <daniel@zuster.org>
Mon, 14 Sep 2009 04:33:21 +0000 (04:33 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 14 Sep 2009 04:33:21 +0000 (04:33 +0000)
commit34771b594ca8cdf8cd2e40b27170efa4ed2833c5
tree59529dd83c3bbeffdf83247e1579f581157202dc
parentb0d58196808aba4b3d1a7488bd5566f3c0a83e89
Fix subtle bug in generating LLVM function declarations for builtin functions.

The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81756 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGBuiltin.cpp
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
test/CodeGen/builtin-attributes.c [new file with mode: 0644]