llvm-project/clang/lib
Akira Hatanaka f3c89b1a6b [ObjC] Fix encoding of ObjC pointer types that are pointers to typedefs
clang was encoding pointers to typedefs as if they were pointers to
structs because that is apparently what gcc is doing.

For example:

```
@class Class1;

typedef NSArray<Class1 *> MyArray;

void foo1(void) {
  const char *s0 = @encode(MyArray *); // "^{NSArray=#}"
  const char *s1 = @encode(NSArray<Class1 *> *); // "@"
}
```

This commit removes the code that was there to make clang compatible
with gcc and make clang emit the correct encoding for ObjC pointers,
which is "@".

rdar://problem/50563529

Differential Revision: https://reviews.llvm.org/D61974

llvm-svn: 362034
2019-05-29 21:23:30 +00:00
..
ARCMigrate Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
AST [ObjC] Fix encoding of ObjC pointer types that are pointers to typedefs 2019-05-29 21:23:30 +00:00
ASTMatchers Move TraversalKind enum to ast_type_traits 2019-05-16 17:57:38 +00:00
Analysis [analyzer] print() JSONify: CFG implementation 2019-05-29 18:29:31 +00:00
Basic [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
CodeGen [CUDA][HIP] Skip setting `externally_initialized` for static device variables. 2019-05-29 17:23:27 +00:00
CrossTU [ASTImporter] Use llvm::Expected and Error in the importer API 2019-05-15 10:29:48 +00:00
Driver [WebAssembly] Support VPtr sanitizer for Emscripten 2019-05-29 18:31:50 +00:00
Edit Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
Format [clang-format] Allow configuring list of function-like macros that resolve to a type 2019-05-29 16:30:47 +00:00
Frontend Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows. 2019-05-24 04:46:22 +00:00
FrontendTool [analyzer] List checker/plugin options in 3 categories: released, alpha, developer 2019-05-23 22:52:09 +00:00
Headers revert rC361928: [PowerPC] [Clang] Port SSE intrinsics to PowerPC 2019-05-29 07:09:54 +00:00
Index [Index] Compute correct symbol kind for variable templates 2019-05-29 17:49:30 +00:00
Lex Make __has_builtin work with __builtin_LINE and friends. 2019-05-29 03:15:36 +00:00
Parse [OpenMP] Set pragma start loc to `#pragma` loc 2019-05-28 19:27:19 +00:00
Rewrite [analyzer] [NFC] PathDiagnostic: Create PathDiagnosticPopUpPiece 2019-05-29 19:21:59 +00:00
Sema [CodeComplete] Add semicolon when completing patterns for 'static_assert' and 'typedef 2019-05-29 15:32:17 +00:00
Serialization Permit static local structured bindings to be named from arbitrary scopes inside their declaring scope. 2019-05-25 01:04:17 +00:00
StaticAnalyzer [analyzer] Remove EndPath function as it is dead code 2019-05-29 20:47:27 +00:00
Tooling [LibTooling] Add `before` and `after` selectors for selecting point-ranges relative to nodes. 2019-05-29 12:40:36 +00:00
CMakeLists.txt