labath added a comment. The return type handling for function pointers is not correct. If it's hard to do, then maybe we could skip it (i suspect the original code didn't handle that either), but I have a feeling it might not be that hard, given that we're already able correctly extract the innermost argument types.
================ Comment at: lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp:85 // Function pointers - {"string (*f(vector<int>&&))(float)", "", "f", "(vector<int>&&)", "", - "f"}, - {"void (*&std::_Any_data::_M_access<void (*)()>())()", "std::_Any_data", - "_M_access<void (*)()>", "()", "", + {"string (*f(vector<int>&&))(float)", "string", "", "f", + "(vector<int>&&)", "", "f"}, ---------------- I believe the return type here should be something like `string (*)(float)` (a pointer to a function that takes a float and returns a string). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136935/new/ https://reviews.llvm.org/D136935 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits