hanchenye-llvm-project/lldb/source/Expression
Greg Clayton 247399230d Fixed C++ class clang type creation and display by making sure we omit
artifical members (like the vtable pointer member that shows up in the DWARF).
We were adding this to each class which was making all member variables be off
by a pointer size.

Added a test case so we can track this with "test/forward".

Fixed the type name index in DWARF to include all the types after finding
some types were being omitted due to the DW_AT_specification having the
DW_AT_declaration attribute which was being read into the real type instances
when there were forward declarations in the DWARF, causing the type to be
omitted. We now check to make sure any DW_AT_declaration values are only
respected when parsing types if the attribute is from the current DIE.

After fixing the missing types, we ran into some issues with the expression
parser finding duplicate entries for __va_list_tag since they are built in
types and would result in a "duplicate __va_list_tag definition" error. We
are now just ignoring this name during lookup, but we will need to see if
we can get the name lookup function to not get called in these cases.

Fixed an issue that would cause an assertion where DW_TAG_subroutine_types
that had no children, would not properly make a clang function type of:
"void (*) (void)".

llvm-svn: 116392
2010-10-13 03:15:28 +00:00
..
ASTResultSynthesizer.cpp Updated to latest LLVM. Major LLVM changes: 2010-09-23 03:01:22 +00:00
ASTStructExtractor.cpp Updated to latest LLVM. Major LLVM changes: 2010-09-23 03:01:22 +00:00
ClangASTSource.cpp Fixed C++ class clang type creation and display by making sure we omit 2010-10-13 03:15:28 +00:00
ClangExpressionDeclMap.cpp Added extra logging, and made sure that the argument 2010-10-08 01:58:41 +00:00
ClangExpressionParser.cpp Added extra logging, and made sure that the argument 2010-10-08 01:58:41 +00:00
ClangExpressionVariable.cpp Added a new ValueObject type that will be used to freeze dry expression 2010-10-05 00:00:42 +00:00
ClangFunction.cpp Add a way to temporarily divert events from a broadcaster to a private listener. 2010-10-11 23:53:14 +00:00
ClangPersistentVariables.cpp Added a new ValueObject type that will be used to freeze dry expression 2010-10-05 00:00:42 +00:00
ClangUserExpression.cpp Changed the timeout for expressions from 10 2010-10-07 18:17:31 +00:00
ClangUtilityFunction.cpp Cleaned a few build related things up: 2010-09-24 23:07:41 +00:00
DWARFExpression.cpp Fixed the forward declaration issue that was present in the DWARF parser after 2010-09-29 01:12:09 +00:00
IRDynamicChecks.cpp Updated to latest LLVM. Major LLVM changes: 2010-09-23 03:01:22 +00:00
IRForTarget.cpp Added handling for external variables in function 2010-10-05 22:26:43 +00:00
IRToDWARF.cpp Updated to latest LLVM. Major LLVM changes: 2010-09-23 03:01:22 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
RecordingMemoryManager.cpp Added and improved logging. This is helping us as we 2010-07-28 01:00:59 +00:00