summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/rtti-fundamental.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Borrow visibility from __fundamental_type_info for generated fundamental ↵Thomas Anderson2018-07-241-1/+70
| | | | | | | | | | | | | type infos This is necessary so the clang gives hidden visibility to fundamental types when -fvisibility=hidden is passed. Fixes https://bugs.llvm.org/show_bug.cgi?id=35066 Differential Revision: https://reviews.llvm.org/D49109 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337788 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Itanium RTTI emission so that we emit fundamental type information into theRichard Smith2016-02-031-0/+10
| | | | | | | | | | | | | | | | | C++ ABI library for the same set of types for which we expect the C++ ABI library to provide the RTTI. Specifically: 1) __int128 and unsigned __int128 are now emitted into the ABI library. We always expected them to be there but never actually made sure to emit them. 2) Do not expect OpenCL builtin types to have type info in the C++ ABI library. Neither libc++abi nor libstdc++ puts them there when built with either GCC or Clang. This matches GCC's behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259616 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding type info for f16c floating-point type. This is consistent with theYunzhong Gao2014-04-171-0/+5
| | | | | | | | | | Itanium ABI in 2.9.2 Place of Emission. Differential Revision: http://reviews.llvm.org/D2750 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206439 91177308-0d34-0410-b5e6-96231b3b80d8
* type_info objects are not unnamed_addr: the ABI requires us toJohn McCall2014-02-081-60/+60
| | | | | | | | | | unique them and permits the implementation of dynamic_cast (and anything else which knows it's working with a complete class type) to compare their addresses directly. rdar://16005328 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201020 91177308-0d34-0410-b5e6-96231b3b80d8
* Set unnamed_addr in every type info.Rafael Espindola2011-01-111-60/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123293 91177308-0d34-0410-b5e6-96231b3b80d8
* std::nullptr_t is a fundamental type for RTTI purposes.Anders Carlsson2010-11-041-39/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118238 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit standard-library RTTI with external linkage, not weak_odr.John McCall2010-08-041-57/+57
| | | | | | | | | | | | 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
* Eliminate excessive PCH deserialization caused by the search forDouglas Gregor2010-04-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | __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
* Test for the previous commit.Rafael Espindola2010-03-271-0/+71
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99702 91177308-0d34-0410-b5e6-96231b3b80d8