Expression evaluation for functions with unknown signatures on works by
authorKate Stone <katherine.stone@apple.com>
Wed, 21 Jan 2015 23:39:16 +0000 (23:39 +0000)
committerKate Stone <katherine.stone@apple.com>
Wed, 21 Jan 2015 23:39:16 +0000 (23:39 +0000)
commitcc391a0a12ca97e7299d4ae31c75b69229e6ffd3
tree0aa1cd7e7881230ea82964b2845973c4c304c2a6
parent701d2dd4b7ea4e3837aa61725241b70f305fd89d
Expression evaluation for functions with unknown signatures on works by
inferring the function signature.  This works well where the ABI doesn't
distinguish between variadic and fixed argument lists, but on arm64 the
calling conventions differ.  The default assumption works for fixed argument
lists, but variadic functions require explicit prototypes to be called.

By far the most common case where this is an issue is when attempting to use
 printf().  This change augments the default expression prefix to include a
working variadic prototype for the function.

<rdar://problem/19024779>

llvm-svn: 226744
lldb/source/Expression/ExpressionSourceCode.cpp