summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2009-10-22 22:37:11 +0000
committerJohn McCall <rjmccall@apple.com>2009-10-22 22:37:11 +0000
commitfc93cf97778ba12d624cb7e88159e2c1dbfc80e2 (patch)
treeb2e421c935a4da6c70193f651b36aba9f33a0e9c /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent2a3ffa96581340badfffe585630880df22ea9707 (diff)
downloadbcm5719-llvm-fc93cf97778ba12d624cb7e88159e2c1dbfc80e2.tar.gz
bcm5719-llvm-fc93cf97778ba12d624cb7e88159e2c1dbfc80e2.zip
When building types from declarators, instead of building two types (one for
the DeclaratorInfo, one for semantic analysis), just build a single type whose canonical type will reflect the semantic analysis (assuming the type is well-formed, of course). To make that work, make a few changes to the type system: * allow the nominal pointee type of a reference type to be a (possibly sugared) reference type. Also, preserve the original spelling of the reference type. Both of these can be ignored on canonical reference types. * Remove ObjCProtocolListType and preserve the associated source information on the various ObjC TypeLocs. Preserve the spelling of protocol lists except in the canonical form. * Preserve some level of source type structure on parameter types, but canonicalize on the canonical function type. This is still a WIP. Drops code size, makes strides towards accurate source location representation, slight (~1.7%) progression on Cocoa.h because of complexity drop. llvm-svn: 84907
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud