llvm-capstone/lldb/lit
Aaron Smith ec40f818c6 [SymbolFilePDB] Fix null array access when parsing the type of a function without any arguments, i.e. 'int main()' and add support to test it
Summary:
- Fix a null array access bug. This happens when creating the lldb type for a function that has no argument.
- Implement SymbolFilePDB::ParseTypes method. Using `lldb-test symbols` will show all supported types in the target.
- Create lldb types for variadic function, PDBSymbolTypePointer, PDBSymbolTypeBuiltin
- The underlying builtin type for PDBSymbolTypeEnum is always `Int`, correct it with the very first enumerator's encoding if any. This is more accurate when the underlying type is not signed or another integer type.
- Fix a bug when the compiler type is not created based on PDB_BuiltinType. For example, basic type `long` is of same width as `int` in a 32-bit target, and the compiler type of former one will be represented by the one generated for latter if using the default method. Introduce a static function GetBuiltinTypeForPDBEncodingAndBitSize to correct this issue.
- Basic type `long double` and `double` have the same bit size in MSVC and there is no information in a PDB to distinguish them. The compiler type of the former one is represented by the latter's.
- There is no line information about typedef, enum etc in a PDB and the source and line information for them are not shown.
- There is no information about scoped enumeration. The compiler type is represented as an unscoped one.

Reviewers: zturner, lldb-commits

Reviewed By: zturner

Subscribers: majnemer, llvm-commits

Differential Revision: https://reviews.llvm.org/D42434

llvm-svn: 323255
2018-01-23 20:35:19 +00:00
..
Expr
Modules ObjectFileELF: Add support for compressed sections 2017-12-15 14:23:58 +00:00
SymbolFile/PDB [SymbolFilePDB] Fix null array access when parsing the type of a function without any arguments, i.e. 'int main()' and add support to test it 2018-01-23 20:35:19 +00:00
Unit Resubmit "[lit] Force site configs to run before source-tree configs" 2017-09-15 22:10:46 +00:00
CMakeLists.txt [test] Fix tests to use more portable LLVM_ENABLE_ZLIB 2018-01-09 14:44:04 +00:00
lit.cfg [test] Use full PATH lookup for tools 2018-01-06 10:20:25 +00:00
lit.site.cfg.in [test] Fix tests to use more portable LLVM_ENABLE_ZLIB 2018-01-09 14:44:04 +00:00