[libcxx-commits] [libcxx] [libc++] Replace `__compressed_pair` with `[[no_unique_address]]` (PR #76756)

Michael Buch via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jan 25 10:51:11 PST 2024


================
@@ -11,161 +11,79 @@
 #define _LIBCPP___MEMORY_COMPRESSED_PAIR_H
----------------
Michael137 wrote:

Just ran the LLDB test-suite with this patch and the following tests are failing:
```
Unresolved Tests (11):                                                                                                                                                                                                
  lldb-api :: commands/expression/call-function/TestCallStdStringFunction.py                                                                                                                                          
  lldb-api :: commands/expression/import-std-module/list/TestListFromStdModule.py                                                                                                                                     
  lldb-api :: commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py       
  lldb-api :: commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py       
  lldb-api :: commands/expression/vector_of_enums/TestVectorOfEnums.py                                                                                                                                                
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/deque/TestDataFormatterGenericDeque.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py                                                                                                               
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py                  
  lldb-api :: lang/cpp/stl/TestSTL.py                                                                                                                                                                                 
  lldb-api :: lang/objcxx/objcxx-ivar-vector/TestIvarVector.py                                                                                                                                                                                                     
                                                                                                                                                                                                                      
********************                                                                                                                                                                                                  
Failed Tests (34):                                                                                                                                                                                                    
  lldb-api :: commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
  lldb-api :: commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
  lldb-api :: commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
  lldb-api :: commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
  lldb-api :: commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
  lldb-api :: commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
  lldb-api :: functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
  lldb-api :: functionalities/data-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
  lldb-api :: functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
  lldb-api :: functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/multimap/TestDataFormatterGenericMultiMap.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/multiset/TestDataFormatterGenericMultiSet.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/set/TestDataFormatterGenericSet.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/deque/TestDataFormatterLibcxxDeque.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/queue/TestDataFormatterLibcxxQueue.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py                               
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/tuple/TestDataFormatterLibcxxTuple.py                                                                                                            lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map/TestDataFormatterLibccUnorderedMap.py
  lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
  lldb-api :: functionalities/data-formatter/stringprinter/TestStringPrinter.py
  lldb-api :: python_api/exprpath_synthetic/TestExprPathSynthetic.py
  lldb-api :: python_api/sbvalue_persist/TestSBValuePersist.py
  lldb-api :: python_api/value/change_values/libcxx/map/TestChangeMapValue.py
  lldb-api :: tools/lldb-dap/evaluate/TestDAP_evaluate.py
```

The formatter failures are probably all trivial to fix (simply supporting the new member names). But there are a couple of crashes here, which I assume has to do with LLDB's `[[no_unique_address]]` handling. Will have a look at how to unblock this patch ASAP.

https://github.com/llvm/llvm-project/pull/76756


More information about the libcxx-commits mailing list