string: Remove always_inline from basic_string::__init
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 1 Apr 2017 03:20:48 +0000 (03:20 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 1 Apr 2017 03:20:48 +0000 (03:20 +0000)
commitfa5f2c595bb43e1c177f3ceb6d8aa982bb678ae0
tree55ae75e30eacd16015d05bfafcccd427d1287980
parent3a965f7e68853028849df25d1169624740745b72
string: Remove always_inline from basic_string::__init

This is effectively a partial revert of r278356, which started inlining
basic_string::__init.  Even if we want to help the compiler along with
an inlinehint, we shouldn't hamstring it by forcing it to inline all the
time.

Libc++ uses always_inline widely as a limit-the-ABI-hack, but since
__init is already on the dylib boundary, it makes no sense here and just
harms the debugging experience at -O0.

rdar://problem/31013102

llvm-svn: 299290
libcxx/include/string