[lldb] Upstream support for Foundation constant classes
authorJonas Devlieghere <jonas@devlieghere.com>
Fri, 6 Aug 2021 20:06:46 +0000 (13:06 -0700)
committerJonas Devlieghere <jonas@devlieghere.com>
Fri, 6 Aug 2021 23:08:48 +0000 (16:08 -0700)
commit34d78b6a6755946e547afc47d38b59b6a2854457
tree9b53cbe2343081eb23de587274d893aa99b824e9
parent1962b33d3ff525806c8dacaa64f7f98beeb5a7fc
[lldb] Upstream support for Foundation constant classes

Upstream support for NSConstantArray, NSConstantIntegerNumber,
NSConstant{Float,Double}Number and NSConstantDictionary.

We would've upstreamed this earlier but testing it requires
-fno-constant-nsnumber-literals, -fno-constant-nsarray-literals and
-fno-constant-nsdictionary-literals which haven't been upstreamed yet.
As a temporary workaround use the system compiler (xcrun clang) for the
constant variant of the tests.

I'm just upstreaming this. The patch and the tests were all authored by
Fred Riss.

Differential revision: https://reviews.llvm.org/D107660
19 files changed:
lldb/source/Plugins/Language/ObjC/Cocoa.cpp
lldb/source/Plugins/Language/ObjC/NSArray.cpp
lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
lldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSNumber.py [new file with mode: 0644]
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py
lldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
lldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
lldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
lldb/test/API/lang/objc/orderedset/TestOrderedSet.py
lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py