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

Reply via email to