b960232518a1cd79c5f64ab5ef54c88e34660191 |
|
15-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2e430153afacf9e406d0a6024ccc578fa5d3439f |
|
29-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a99ecbcc4c431d52df0b01539035ab5281d54656 |
|
25-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix linkage computation for derived types in inline functions. John noticed that the fix for pr15930 (r181981) didn't handle indirect uses of local types. For example, a pointer to local struct, or a function that returns it. One way to implement this would be to recursively look for local types. This would look a lot like the linkage computation itself for types. To avoid code duplication and utilize the existing linkage cache, this patch just makes the computation of "type with no linkage but externally visible because it is from an inline function" part of the linkage computation itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
dc7a4f5d7a7e3b60d4dc4a80338d7a2728540998 |
|
30-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there are now two distinct canonical 'AutoType's: one is the undeduced 'auto' placeholder type, and the other is a deduced-but-dependent type. All deduced-to-a-non-dependent-type cases are still non-canonical. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
21f18c4fda167dc5f72feddbd6a7ac1b63200a0d |
|
07-Feb-2013 |
Guy Benyei <guy.benyei@intel.com> |
Add OpenCL samplers as Clang builtin types and check sampler related restrictions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d5617eeafc93209a26b9f88276c88cf997c3a0a7 |
|
25-Jan-2013 |
John McCall <rjmccall@apple.com> |
The standard ARM C++ ABI dictates that inline functions are never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, implement it now for other ARM-based platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e6b9d802fb7b16d93474c4f1c179ab36202e8a8b |
|
20-Jan-2013 |
Guy Benyei <guy.benyei@intel.com> |
Implement OpenCL event_t as Clang builtin type, including event_t related OpenCL restrictions (OpenCL 1.2 spec 6.9) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b13621d08e20ac7aa550e05896de8a57ee99c1e8 |
|
18-Dec-2012 |
Guy Benyei <guy.benyei@intel.com> |
Re-commit r170428 changes with Linux style file endings. Add OpenCL images as clang builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
7f92f2d8d9b7a07900c030183bc13a9ff60057cc |
|
18-Dec-2012 |
Guy Benyei <guy.benyei@intel.com> |
Revert changes from r170428, as I accidentally changed the line endings of these files to Windows style. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
736104a7619c53ef92553780273d7357a3cdde81 |
|
18-Dec-2012 |
Guy Benyei <guy.benyei@intel.com> |
Add OpenCL images as clang builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
7edf9e38b91917b661277601c0e448eef0eb2b56 |
|
01-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Simplify: replace getContext().getLangOpts() with just getLangOpts(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f3477c13eeaf11b32a41f181398fb5deffd0dd73 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
94ff8e1f57c6382d91d0de981a4f311509d83e37 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c831d8b977a09bf2907d03128b48b5c914a2fafd |
|
25-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix integer unsigned behavior in clang due to signed left shift overflow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1ddbd89bb397988dd1a4e96d8d8c2c7705a2af75 |
|
24-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Fix a few -Wdocumentation warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d48bcb2f4dedf8e7b654cb017968b3d7b6663a57 |
|
22-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reduce duplicated hash map lookups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
260611a32535c851237926bfcf78869b13c07d5b |
|
20-Jun-2012 |
John McCall <rjmccall@apple.com> |
Restructure how the driver communicates information about the target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
8b418685e9e4f02f4eb2a76e1ec063e07552b68d |
|
07-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
94010695f7fce626e41ef045b60def9c912e9ce8 |
|
05-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
reapply the patches reverted in r149477, which enable ConstantDataArray. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f7ccbad5d9949e7ddd1cbef43d482553b811e026 |
|
05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import SmallString<> into clang namespace (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5d3a4bb13dfad72c89df09bce70351175ecd19dc |
|
01-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c. Original log: ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
ff8f9ec8336c62b5e3504e2a394f4b25c0cb1963 |
|
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3026348bd4c13a0f83b59839f64065e0fcbea253 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
13c7fcceb9fd96f5be03af038ce16b05bb5e9598 |
|
22-Oct-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
c++: support gcc's application of weak attribute on class declaration which forces any such class and any class that inherits from such a class to have their typeinfo symbols be marked as weak. // rdar://10246395 A test/CodeGenCXX/weak-extern-typeinfo.cpp M lib/Sema/SemaDeclCXX.cpp M lib/Sema/SemaDeclAttr.cpp M lib/CodeGen/CGRTTI.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2dde35bc626153492f5f58202506c88a27fbff5b |
|
19-Oct-2011 |
John McCall <rjmccall@apple.com> |
More metaprogramming with builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0ddaeb9b031070ec64afe92d9892875ac44df427 |
|
17-Oct-2011 |
John McCall <rjmccall@apple.com> |
Add a new placeholder type to represent "unbridged" casts in ARC. No semantic analysis yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
aa4a99b4a62615db243f7a5c433169f2fc704420 |
|
15-Oct-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Provide half floating point support as a storage only type. Lack of half FP was a regression compared to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5e1cdac63c3d9c9b32fa41fa0b2d242a58a20d49 |
|
07-Oct-2011 |
John McCall <rjmccall@apple.com> |
Rename TagDecl::isDefinition -> isCompleteDefinition for better self-documenting code, since the semantics are subtly different from getDefinition(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b001de7458d17c17e6d8b8034c7cfcefd3b70c00 |
|
07-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1d2b31710539d705a3850c9fc3aa1804c2a5efee |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Create a VTableContext class and start moving CodeGenVTables methods to it git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e926523105dd2604ccd5c101605dea43c5269965 |
|
27-Jul-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
CodeGen: rename CodeGenModule::Runtime to ObjCRuntime git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a5c04344fa70d6eec34344760c1fe511e16f2d76 |
|
21-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert ConstantExpr::getGetElementPtr and ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c5cbb909e8a27deb8f1a2b6b7bf56a96051af81a |
|
20-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Update to match mainline ConstantStruct::get API change. Also, use ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
864c041e118155c2b1ce0ba36942a3da5a4a055e |
|
26-Apr-2011 |
John McCall <rjmccall@apple.com> |
Make yet another placeholder type, this one marking that an expression is a bound member function, i.e. something of the form 'x.f' where 'f' is a non-static member function. Diagnose this in the general case. Some of the new diagnostics are probably worse than the old ones, but we now get this right much more universally, and there's certainly room for improvement in the diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b653d5ac2f1afab5bf3256145c4112754f4b5779 |
|
09-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Eliminate a divide-by-8 in BuildVMIClassTypeInfo() by using CharUnits for the base offset. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
14c65ca4cd914f3090d7eedb9bff4deb0ffc7927 |
|
07-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
[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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1de4d4e8cb2e9c88809fea8092bc6e835a5473d2 |
|
07-Apr-2011 |
John McCall <rjmccall@apple.com> |
Basic, untested implementation for an "unknown any" type requested by LLDB. The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
62c117db25cf7142e149fce82d2b3caa1237674c |
|
04-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4fbabd37fd107e0e477b45146499d38a77bf9335 |
|
02-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
80558d2db10a96eada4d8fb79949b3263b44652b |
|
20-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Fix Objective-C++ exceptions (GNU runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
34b41d939a1328f484511c6002ba2456db879a29 |
|
20-Feb-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement the C++0x deduced 'auto' feature. This fixes PR 8738, 9060 and 9132. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f0be979bddb8baa28e77693a3dc931e487b2a9f2 |
|
11-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
For consistency, use llvm::raw_ostream in the rest of the mangle api. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
6d7f8473cd6e967b3676948894ce72472102f9cb |
|
30-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When building with optimizations, emit vtables where the key is not in the current translation unit as available_externally. This helps devirtualize the second example in PR3100, comment 18: struct S { S() {}; virtual void xyzzy(); }; inline void foo(S *s) { s->xyzzy(); } void bar() { S s; foo(&s); } This involved four major changes: 1. In DefineUsedVTables, always mark virtual member functions as referenced for non-template classes and class template specializations. 2. In CodeGenVTables::ShouldEmitVTableInThisTU return true if optimizations are enabled, even if the key function is not implemented in this translation unit. We don't ever do this for code compiled with -fapple-kext, because we don't ever want to devirtualize virtual member function calls in that case. 3. Give the correct linkage for vtables where the key function is not defined. 4. Update the linkage for RTTI structures when necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
237f95996c82f63582c13987ce5e64629f7539b0 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
907c828b080332854826a87451e838930f4be788 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When emitting RTTI for a non-class type, compute the visibility of the RTTI data based on the explicit visibility of the type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9a86a137b0872bad25161fb3408a71d919638757 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Add RTTIBuilder::GetAddrOfTypeName which uses the newly added CreateOrReplaceCXXRuntimeVariable. Set the visibility for typeinfo names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
fa2e99f72f9bfe2270ea8caf76d0eef11c45259f |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1cbce125b91cad81c8be3f8bbae8df917211176c |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Make emitting a VTT a two-step process, much like emitting a VTable. You first get the address of the VTT, and then pass it to EmitVTTDefinition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c93a776c89bd0820813e5c7c87af2c820d9bbd27 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Remove IsDefinition from CodeGenModule::setTypeVisibility; it is always true. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e34e3aa7b8dfd0794e5f5293a4aef178eed10a16 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When building a type info struct for EH, we always want it to have linkonce_odr linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3a717f7fbb94ec31b826b48c15fdc965b5910df3 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Change CodeGenModule::getVTableLinkage to be a non-static member function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f502d93b0ea970bfbd897e657f8d940a20984de2 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Mark VTables and RTTI data linkonce_odr instead of weak_odr, with the exception of explicit template instantiations, which have to be weak_odr. This fixes PR6996. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
57244f69e2e780bb5584a37a12e31be83b1eaadb |
|
12-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set unnamed_addr in every type info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b1c65ff108de47a89585ad37874bd6cb232664cd |
|
11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set unnamed_addr for type infos that we are confortable marking as hidden. I think it is safe to mark all type infos with unnamed_addr, but I am not sure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3f59c975aa5d047f7edd1b900b5e885c38af0ef7 |
|
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9c39acfda88268bcc7fb5521b55ce41942dcb3b0 |
|
17-Dec-2010 |
John McCall <rjmccall@apple.com> |
Give hidden visibility to RTTI for derived types. This is kindof a hacky way to do this, but it fixes rdar://problem/8778973 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2bd6250f8e14750033362664ee298c2cc0e64853 |
|
04-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
std::nullptr_t is a fundamental type for RTTI purposes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a14f5979572aa25c03d24750ee4724d2031d4ede |
|
01-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
af14603ca61757cf4361b583b45639a04c57e651 |
|
30-Oct-2010 |
John McCall <rjmccall@apple.com> |
Better solution: calculate the visibility of functions and variables independently of whether they're definitions, then teach IR generation to ignore non-explicit visibility when emitting declarations. Use this to make sure that RTTI, vtables, and VTTs get the right visibility. More of rdar://problem/8613093 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1fb0caaa7bef765b85972274e3b434af2572c141 |
|
22-Oct-2010 |
John McCall <rjmccall@apple.com> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
79ba2a6379f87fa137377c3f55ff993b9e5cc144 |
|
22-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
More class anonymization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d2c47bde3bc0c0debd8a9728781d3375efe22bc5 |
|
11-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make sure the VTables for template instantiations are emitted even if the key function doesn't have a body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
6d576051b9ca56fe962077fb194ed2917539989a |
|
11-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't let typeinfo name symbols be 'internal hidden', it can lead to linker conflicts with similarly named classes in anonymous namespaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
26fc28d88e6ff0279e37074cc304e0cfe3e31714 |
|
04-Sep-2010 |
John McCall <rjmccall@apple.com> |
Petty optimization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4c40d98ab7acf5f27fa89b17bd8fc0ef7683df37 |
|
31-Aug-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation to return 'this' from constructors and destructors under the ARM ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a7e6845660f91ec611427e1db842780e1ec12bdb |
|
22-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Detabify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f2aabe199a9a2c794faf6ec16c26a340d18e9eb8 |
|
15-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Explicitly handle every case in the switch in RTTIBuilder::BuildTypeInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
279b5eb6910d64a293e9c0e2887a05c65d8737d7 |
|
13-Aug-2010 |
John McCall <rjmccall@apple.com> |
Just disable the hidden-visibility optimization for now by hiding it behind a -cc1 option. The Darwin linker complains about mixed visibility when linking gcc-built objects with clang-built objects, and the optimization isn't really that valuable. Platforms with less ornery linkers can feel free to enable this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8dc53e5857ac1cf65fa4e9d87e3d88d4452b9d4 |
|
12-Aug-2010 |
John McCall <rjmccall@apple.com> |
Implement RTTI generation for Objective C types. Fixes PR7864. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1cf26f5c103cd2d6d1e14d4d6b72df477d8bf107 |
|
11-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Work in progress for PR7864. Someone more familiar with ObjC++ needs to fill in the code after the "FIXME: Needs to be written". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
cbfe50224b19119e759802bd0c1463269dffd09e |
|
04-Aug-2010 |
John McCall <rjmccall@apple.com> |
Emit standard-library RTTI with external linkage, not weak_odr. Apply hidden visibility to most RTTI; libstdc++ does not rely on exact pointer equality for the type info (just the type info names). Apply the same optimization to RTTI that we do to vtables. Fixes PR5962. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4aedb1cab1a731bfa5c82459669320a72b0d6e66 |
|
07-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
getBody() -> hasBody() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
abd6b09e3daa4d82b7e8ee6966d7f745fd121835 |
|
02-Jun-2010 |
Anders Carlsson <andersca@mac.com> |
When building RTTI descriptors for pointer types, we need to get the unqualified array type and the qualifiers from it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9dffe6f51c676c1e423c382c62d1648746e36cd4 |
|
30-Apr-2010 |
John McCall <rjmccall@apple.com> |
Fix -fno-rtti -fexceptions by forcing the emission of (non-"builtin") RTTI when used by the exceptions routines. Fixes PR 6974. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
046c294a43024874ff35656c6e785b64e72f1f36 |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Vtable -> VTable renames across the board. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1e201b4a9d4880c3f90ab77e8a308140f003c7da |
|
08-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate excessive PCH deserialization caused by the search for __cxxabiv1::__fundamental_type_info in every translation unit. Previously, we would perform name lookup for __cxxabiv1::__fundamental_type_info at the end of IRGen for a each translation unit, to determine whether it was present. If so, we we produce type information for all of the fundamental types. However, this name lookup causes PCH deserialization of a significant part of the translation unit, which has a woeful impact on performance. With this change, we now look at each record type after we've generated its vtable to see if it is __cxxabiv1::__fundamental_type_info. If so, we generate type info for all of the fundamental types. This works because __cxxabiv1::__fundamental_type_info should always have a key function (typically the virtual destructor), that will be defined once in the support library. The fundamental type information will end up there. Fixes <rdar://problem/7840011>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
031b37140d0864c741618960b5220245a2a086ae |
|
31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Drastically simplify the computation of linkage for typeinfo by using the existing (and already well-tested) linkage computation for types, with minor tweaks for dynamic classes and (pointers to) incomplete types. Fixes PR6597. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d1a5c31b78997befe75d10a4731cee4ab211cc31 |
|
27-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
When given the magic class __cxxabiv1::__fundamental_type_info, produce the typeinfo for the fundamental types. Fixes PR6685. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
af4403545a50a60d208e6fcae057308d576a92e0 |
|
23-Mar-2010 |
Anders Carlsson <andersca@mac.com> |
Rename CGVtableInfo to CodeGenVTables in preparation of adding another VTableInfo class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
bba16079eed1f3c8cd141685ecfaec9e78e07e35 |
|
11-Mar-2010 |
Anders Carlsson <andersca@mac.com> |
Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect what it actually does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
86ff308724171494395a840fd2efbe25e62f352e |
|
04-Feb-2010 |
John McCall <rjmccall@apple.com> |
Extract a common structure for holding information about the definition of a C++ record. Exposed a lot of problems where various routines were silently doing The Wrong Thing (or The Acceptable Thing in The Wrong Order) when presented with a non-definition. Also cuts down on memory usage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
dffb8010a130733f1b55acf0af01deb0a2e083d3 |
|
06-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix linkage for RTTI names by re-using the logic for computing the linkage of vtables. Before this, we were emitting RTTI names for template instantiations with strong external linkage rather than with weak ODR linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9ed2059d7b0da1775bcd0e64621aa3d90c014dc0 |
|
02-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Speculative MSVC fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8f90389c43efbbe820574f674a98ac701bf48a2 |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
If the key function of a record is inline, then the RTTI data should have weak_odr linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
531d55ff7b3ab8910487f916c340c7eccd7ef27e |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
More RTTI builder cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0814809e5bc27cccd59b63e99ab1eb52042dc13c |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f64531a17037faa9e0119e90961d2db77d06865d |
|
30-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
More RTTI cleanup, test that RTTI classes have the correct vtables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c8cfd636f645bdd4f8a519a925c697e528eb7f3f |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Match gcc and treat vector types as fundamental types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9c7b6bb952672b9d184a4426138579d55c370afc |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Handle enum types as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
978ef68bc4cde1448a1f6c8ab0e20543cec1a486 |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Test linkage of RTTI descriptors of array types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
09b6e6e8854cc4a824060101a9633082e55d7a33 |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Fix function type RTTI linkage and add tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4e6f8ee45d9b822b437529e2334b146bb8c3537f |
|
24-Dec-2009 |
Mike Stump <mrs@apple.com> |
Don't set hidden for a non-external symbol as that would make it extenal. Refine codegen for visibility and hidden. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c8f76f557c4839c8e5f142ac4681ad010e07c855 |
|
24-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix recent regression caught by g++.old-deja/g++.mike/eh19.C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
8d9fb9b21364892b5e41ebfacdad8f41414d2b89 |
|
23-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix regression found by g++.dg/eh/alias1.C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
625c1ae781e3b8973bc9ec520268fe3301e4caf5 |
|
21-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Incomplete structs should also have internal linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
17fa6f971c1912c77aa10bdac4b7991b5e1646e2 |
|
21-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Correcly handle pointers to member pointer types where the class or the pointee is incomplete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
8d1451535524cb21a6f8347bad9fed371b9d9ecb |
|
20-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Rework the way pointer types are handled by the RTTI builder. We now get the right linkage for indirect pointers to incomplete structs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
7177dee8aee4b432911c91f1b788963bec0cac9f |
|
19-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove ';' after method definition. Noticed by clang++, which one would think would have a higher respect for its own code. This is getting old, is this warning really adding value? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1d7088d1d9dc99e5478c0184a3e21cafef2a0b53 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that takes a CXXRecordDecl since we were just creating a QualType from it anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
ab6faf34259881cbaf0197430831ebac1fb98a34 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify RTTIBuilder::finish. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
234407793b43179f56268fbbb459e5a480df6dc5 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Move the Info vector into the RTTIBuilder struct. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8e4a1c0bf2e3dd26dd0721a102307bbb589e96a |
|
16-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3bf190ebefb861fd05c77d5f47d4709386735a12 |
|
14-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5ba7d2156f5b3f7b078b33fa9cd264762bc6779b |
|
13-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Change the RTTIBuilder's finish member function to take a pointer to the constants array + the length of the array. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
470fb73d4e09e1dfe62cb545d7fe0e567ac6e8d6 |
|
11-Dec-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix linkage of type info and vtable for classes without linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
44636d11eab74ea3948393f889173766096916ae |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Move info vectors and add assertions in preparation of moving the vector directly into RTTIBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4e7135613a558020f003972b2a5ae5f8d5306508 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use GetAddrOfRTTI when getting the RTTI pointer for a base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
31b7f52d8c8d459e80d2a72176cc7fcc4b7d8d38 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Improve linkage of RTTI data structures. Introduce CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d6baec80f2e7763bbcc9aefd7eaa1580223b1389 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use named flags in RTTIBuilder::BuildPointerType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1c4269a9d9a61b48d1ad7c180fb8f8fc07c2ad8c |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Be sure to instantiate rtti for non-polymorphic bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
92f2fe2541c60d2130677a1613b0d5f257798b8f |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Put the Builder classes into the anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
de05057932cebc3f43911f87d75869cb7b705a19 |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Change rtti/Rtti to RTTI, as it is an acronym. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0cb6c19e466e640853568386e35ee77b34ecbcea |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Rename CGRtti.cpp to CGRTTI.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|