Alexis Hunt
e852b100e2
Implement a new type node, UnaryTransformType, designed to represent a
...
type that turns one type into another. This is used as the basis to
implement __underlying_type properly - with TypeSourceInfo and proper
behavior in the face of templates.
llvm-svn: 132017
2011-05-24 22:41:36 +00:00
Devang Patel
f9076f3b45
Set up appropriate context for member function.
...
Radar 9440721
llvm-svn: 131441
2011-05-17 00:20:09 +00:00
Devang Patel
e91b54cc56
Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
...
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g
llvm-svn: 131245
2011-05-12 21:29:57 +00:00
Devang Patel
70d77d144b
Do not add AT_APPLE_objc_class_extension attribute if @implementation is not seen.
...
llvm-svn: 131242
2011-05-12 21:14:54 +00:00
Devang Patel
36882c8f24
Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that represent class extension.
...
Radar 9423077.
llvm-svn: 131239
2011-05-12 19:07:41 +00:00
Devang Patel
979aba5d09
Do not drop uint128 on the floor.
...
llvm-svn: 130929
2011-05-05 17:06:30 +00:00
Fariborz Jahanian
fc0fe6eb52
Finish off rules for z-length bitfields in ms_struct
...
structs. // rdar://8823265
llvm-svn: 130783
2011-05-03 20:21:04 +00:00
Devang Patel
04ab75c9ab
Function with internal linkage name do not have mangled name.
...
llvm-svn: 130736
2011-05-02 22:49:30 +00:00
Devang Patel
b7ff0da623
Do not try to get mangled name of block helpers. Apply a stopgap measure to fix SingleSource/UnitTests/block-copied-in-cxxobj compile time crash.
...
llvm-svn: 130734
2011-05-02 22:37:48 +00:00
Fariborz Jahanian
eb39741c0b
More rule enforcement of zero bitfields for ms_struct.
...
llvm-svn: 130696
2011-05-02 17:20:56 +00:00
Nick Lewycky
fc49f72b58
Remove unused variable spotted by GCC.
...
Devang, can we remove this call entirely? If I try that, "make check" passes
but the call has a side-effect of ensuring that the block's context exists in
the debug info. getContextDescriptor() is used in a void context for that side-
effect elsewhere in this file. Please take a look!
llvm-svn: 130679
2011-05-02 01:41:48 +00:00
Devang Patel
a3e3fded0a
Tie constructor defintion with its declaration using AT_specification.
...
llvm-svn: 130561
2011-04-29 23:42:32 +00:00
Fariborz Jahanian
6d003c3041
Fixes debug info generation problem for ms_struct structs.
...
// rdar://8823265
llvm-svn: 130458
2011-04-28 23:43:23 +00:00
Devang Patel
e67eca43d6
We need pointer size in bits here.
...
llvm-svn: 130244
2011-04-26 21:16:49 +00:00
Devang Patel
420c8de92e
Emit intrinsic at current insert point, not at the end of current block.
...
llvm-svn: 130177
2011-04-25 23:52:27 +00:00
Devang Patel
4f325d1f0f
Simplify. There is no need to have a method to just call another method.
...
llvm-svn: 130175
2011-04-25 23:43:36 +00:00
Jay Foad
dbf81d8ddf
PR9214: Convert the DIBuilder API to use ArrayRef.
...
llvm-svn: 130086
2011-04-24 10:11:03 +00:00
Devang Patel
a6cb0642b2
Tie debug information for method declaration with debug information for method definition.
...
llvm-svn: 130037
2011-04-23 00:08:01 +00:00
Ken Dyck
bbe3862d95
Eliminate some literal 8s from EmitDeclare by converting to CharUnits. No
...
change in functionality intended.
llvm-svn: 129999
2011-04-22 17:41:34 +00:00
Ken Dyck
8159c1f2df
Use CharUnits to eliminate some literal 8s in
...
EmitTypeForVarWithBlocksAttr(). No change in functionality intended.
llvm-svn: 129998
2011-04-22 17:34:18 +00:00
Devang Patel
43cfa5dce1
Fix typo in comment.
...
llvm-svn: 129703
2011-04-18 17:30:25 +00:00
Eli Friedman
2e2ff8894d
Hack to turn the valgrind buildbot green, until Devang can address it
...
properly.
llvm-svn: 129657
2011-04-17 06:40:15 +00:00
Devang Patel
7294d74627
Emit proper selector name in debug info.
...
llvm-svn: 129626
2011-04-16 00:37:51 +00:00
Devang Patel
9d6c857862
Emit debug info for Objective-C properties.
...
llvm-svn: 129625
2011-04-16 00:12:55 +00:00
Nick Lewycky
d85ae78c48
Apply explicit braces to avoid ambiguous 'else' [-Wparentheses]
...
llvm-svn: 129176
2011-04-09 00:25:15 +00:00
Devang Patel
0b37e79891
Do not use zero as an upper bound for unbounded array because upper bound zero also indicates one element array.
...
llvm-svn: 129157
2011-04-08 21:56:52 +00:00
Ken Dyck
bb4e977218
[Reapply r128776, modified so that it does not break debug info.]
...
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
CharUnits. No change in functionality intended.
llvm-svn: 129072
2011-04-07 12:37:09 +00:00
Devang Patel
78019ec14d
Simplify.
...
llvm-svn: 128957
2011-04-05 23:26:36 +00:00
Devang Patel
b87c428055
Emit debug info for function template parameters.
...
llvm-svn: 128948
2011-04-05 22:54:11 +00:00
Devang Patel
e1dd424380
Remove unintentional check-in.
...
llvm-svn: 128928
2011-04-05 21:05:56 +00:00
Devang Patel
095421b4a8
Fix typo.
...
llvm-svn: 128921
2011-04-05 20:28:21 +00:00
Devang Patel
98d26c91da
Use TemplateParameterList to extract template parameter name.
...
llvm-svn: 128915
2011-04-05 20:15:06 +00:00
Devang Patel
7522abd3ce
Refactor.
...
llvm-svn: 128893
2011-04-05 17:30:54 +00:00
Devang Patel
44927690c3
Eliminate conservative check that is covered by isIncompleteType() check.
...
llvm-svn: 128857
2011-04-04 23:23:39 +00:00
Devang Patel
a540f1462c
Incomplete type does not have any size.
...
llvm-svn: 128855
2011-04-04 23:18:38 +00:00
Devang Patel
84852bbb42
Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info.
...
llvm-svn: 128842
2011-04-04 20:36:06 +00:00
Ken Dyck
1473c9a7c4
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
...
CharUnits. No change in functionality intended.
llvm-svn: 128776
2011-04-02 17:52:22 +00:00
Devang Patel
1ffe23464a
Do not try calculate the size of forward-declared template type array.
...
llvm-svn: 128725
2011-04-01 19:02:33 +00:00
Devang Patel
945b8aed2a
Update type cache when a type is completed.
...
Radar 9168773
llvm-svn: 128150
2011-03-23 16:29:39 +00:00
Peter Collingbourne
599cb8e430
Add support for language-specific address spaces. On top of that,
...
add support for the OpenCL __private, __local, __constant and
__global address spaces, as well as the __read_only, _read_write and
__write_only image access specifiers. Patch originally by ARM;
language-specific address space support by myself.
llvm-svn: 127915
2011-03-18 22:38:29 +00:00
Anders Carlsson
829c4134b8
Correctly unwrap 'auto' types. Fixes PR9414.
...
llvm-svn: 127121
2011-03-06 16:43:04 +00:00
John McCall
4223a9ee7a
Make AttributedTypes for GC-qualified types and fix some miscellaneous
...
bugs with such types. Not sure this is quite how I want the desugaring
and a.k.a. logic to go, but it suffices.
llvm-svn: 126986
2011-03-04 04:00:19 +00:00
Devang Patel
68a1525290
Encode argument numbering in debug info so that code generator can emit them in order.
...
This fixes few blocks.exp regressions.
llvm-svn: 126960
2011-03-03 20:13:15 +00:00
Devang Patel
bd6f7f9770
revert r126858.
...
llvm-svn: 126874
2011-03-02 20:31:22 +00:00
Devang Patel
31e5fb52d1
Encode argument numbering in debug info so that code generator can emit them in order.
...
This fixes few blocks.exp regressions.
Reapply r126795 with a fix (one character change) for gdb testsuite regressions.
llvm-svn: 126858
2011-03-02 19:11:22 +00:00
Devang Patel
a54696de8a
Revert r126794.
...
llvm-svn: 126848
2011-03-02 17:54:58 +00:00
John McCall
81a325e038
Hack in something so that we emit better debug information about
...
captured __block variables in the block-literal type.
llvm-svn: 126834
2011-03-02 06:57:14 +00:00
Devang Patel
3bc2dedb40
Encode argument numbering in debug info so that code generator can emit them in order.
...
This fixes few blocks.exp regressions.
llvm-svn: 126795
2011-03-01 22:59:40 +00:00
Devang Patel
bbe4ff99e0
Use single code path to handle c++ structs and classes while generating debug info.
...
llvm-svn: 126691
2011-02-28 22:32:45 +00:00
John McCall
147d021b75
Emit the structure layout of the block literal parameter to a block
...
invocation function into the debug info. Rather than faking up a class,
which is tricky because of the custom layout we do, we just emit a struct
directly from the layout information we've already got.
Also, don't emit an unnecessarily parameter alloca for this "variable".
llvm-svn: 126255
2011-02-22 22:38:33 +00:00