The assert was committed in r183967. After r231508 made changes to promote constant temporaries to globals, the assert fires when a std::initializer_list is constructed using Objective-C string literals:
void foo1() {
std::vector<NSString*> strs = {@"a", @"b"};
}
rdar://problem/25504992
rdar://problem/25955179