Go to file
Saleem Abdulrasool f3a981e801 AST: add missing ObjC extensions to MS style name decoration
Add support for encoding type arguments for lightweight generics in
Objective-C++ mode.  Additionally, add support for the `__kindof` modifier.
This should complete the coverage of the ObjC extensions that clang currently
supports under the MS style name decoration scheme.

This is implemented similar to the Objective-C lifetime qualifiers decoration:
a template specialization in the `__ObjC` namespace so that we can interoperate
with Microsoft's tools as well as ensure that we do not accidentally collide
with new features in the Microsoft implementation.

Since the `__kindof` appertains to the type and not the pointer, we apply the
template specialization to the underlying type instead of the pointer type.

Unfortunately, until D52581 is resolved, the generated name is not really
compatible with the MS tools as well as breaks interoperability with
Objective-C++ and C++.

This resolves PR37754!

llvm-svn: 343338
2018-09-28 16:47:53 +00:00
clang AST: add missing ObjC extensions to MS style name decoration 2018-09-28 16:47:53 +00:00
clang-tools-extra [docs] Fix links in Clangd documentation 2018-09-28 09:32:47 +00:00
compiler-rt Revert r342652 "[winasan] Unpoison the stack in NtTerminateThread" 2018-09-28 14:41:25 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx [libc++] Remove Fuchsia-specific knowledge to pick the ABI version 2018-09-26 08:24:51 +00:00
libcxxabi Update docs to reference new libc++ mailing lists. 2018-09-22 19:52:12 +00:00
libunwind Reverting r342895 2018-09-24 16:36:33 +00:00
lld [ELF][HEXAGON] Add support for dynamic libraries 2018-09-28 14:09:16 +00:00
lldb Reapply the changes reverted by r343236 2018-09-28 13:38:16 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm Revert "[LLVM-C] Add bindings for addCoroutinePassesToExtensionPoints" 2018-09-28 16:45:18 +00:00
openmp [libomptarget-nvptx] Add testing infrastructure 2018-09-28 15:05:43 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [IslAst] Fix InParallelFor nesting. 2018-09-27 13:39:37 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.