Re-land "[lldb] Upstream support for Foundation constant classes"
authorJonas Devlieghere <jonas@devlieghere.com>
Sat, 7 Aug 2021 00:24:47 +0000 (17:24 -0700)
committerJonas Devlieghere <jonas@devlieghere.com>
Sat, 7 Aug 2021 00:24:47 +0000 (17:24 -0700)
commit9d5e95d094ffc1a49aa4c9d379cec7c2b60fd3f2
treed8a2e1e70432b009a30601bd796f795294e7987c
parent4e5af6ef48590e7248e344ddabf245bb3de71c51
Re-land "[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