| OLD | NEW |
| 1 //===--- ASTContext.cpp - Context to hold long-lived AST nodes ------------===// | 1 //===--- ASTContext.cpp - Context to hold long-lived AST nodes ------------===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file implements the ASTContext interface. | 10 // This file implements the ASTContext interface. |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 return CanonTTP; | 674 return CanonTTP; |
| 675 } | 675 } |
| 676 | 676 |
| 677 CXXABI *ASTContext::createCXXABI(const TargetInfo &T) { | 677 CXXABI *ASTContext::createCXXABI(const TargetInfo &T) { |
| 678 if (!LangOpts.CPlusPlus) return nullptr; | 678 if (!LangOpts.CPlusPlus) return nullptr; |
| 679 | 679 |
| 680 switch (T.getCXXABI().getKind()) { | 680 switch (T.getCXXABI().getKind()) { |
| 681 case TargetCXXABI::GenericARM: // Same as Itanium at this level | 681 case TargetCXXABI::GenericARM: // Same as Itanium at this level |
| 682 case TargetCXXABI::iOS: | 682 case TargetCXXABI::iOS: |
| 683 case TargetCXXABI::iOS64: | 683 case TargetCXXABI::iOS64: |
| 684 case TargetCXXABI::Emscripten: // @LOCALMOD Emscripten | |
| 685 case TargetCXXABI::GenericAArch64: | 684 case TargetCXXABI::GenericAArch64: |
| 686 case TargetCXXABI::GenericMIPS: | 685 case TargetCXXABI::GenericMIPS: |
| 687 case TargetCXXABI::GenericItanium: | 686 case TargetCXXABI::GenericItanium: |
| 688 return CreateItaniumCXXABI(*this); | 687 return CreateItaniumCXXABI(*this); |
| 689 case TargetCXXABI::Microsoft: | 688 case TargetCXXABI::Microsoft: |
| 690 return CreateMicrosoftCXXABI(*this); | 689 return CreateMicrosoftCXXABI(*this); |
| 691 } | 690 } |
| 692 llvm_unreachable("Invalid CXXABI type!"); | 691 llvm_unreachable("Invalid CXXABI type!"); |
| 693 } | 692 } |
| 694 | 693 |
| (...skipping 7404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8099 VTContext.reset(new ItaniumVTableContext(*this)); | 8098 VTContext.reset(new ItaniumVTableContext(*this)); |
| 8100 } | 8099 } |
| 8101 return VTContext.get(); | 8100 return VTContext.get(); |
| 8102 } | 8101 } |
| 8103 | 8102 |
| 8104 MangleContext *ASTContext::createMangleContext() { | 8103 MangleContext *ASTContext::createMangleContext() { |
| 8105 switch (Target->getCXXABI().getKind()) { | 8104 switch (Target->getCXXABI().getKind()) { |
| 8106 case TargetCXXABI::GenericAArch64: | 8105 case TargetCXXABI::GenericAArch64: |
| 8107 case TargetCXXABI::GenericItanium: | 8106 case TargetCXXABI::GenericItanium: |
| 8108 case TargetCXXABI::GenericARM: | 8107 case TargetCXXABI::GenericARM: |
| 8109 case TargetCXXABI::Emscripten: // @LOCALMOD Emscripten | |
| 8110 case TargetCXXABI::GenericMIPS: | 8108 case TargetCXXABI::GenericMIPS: |
| 8111 case TargetCXXABI::iOS: | 8109 case TargetCXXABI::iOS: |
| 8112 case TargetCXXABI::iOS64: | 8110 case TargetCXXABI::iOS64: |
| 8113 return ItaniumMangleContext::create(*this, getDiagnostics()); | 8111 return ItaniumMangleContext::create(*this, getDiagnostics()); |
| 8114 case TargetCXXABI::Microsoft: | 8112 case TargetCXXABI::Microsoft: |
| 8115 return MicrosoftMangleContext::create(*this, getDiagnostics()); | 8113 return MicrosoftMangleContext::create(*this, getDiagnostics()); |
| 8116 } | 8114 } |
| 8117 llvm_unreachable("Unsupported ABI"); | 8115 llvm_unreachable("Unsupported ABI"); |
| 8118 } | 8116 } |
| 8119 | 8117 |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8426 } | 8424 } |
| 8427 | 8425 |
| 8428 // Explicitly instantiate this in case a Redeclarable<T> is used from a TU that | 8426 // Explicitly instantiate this in case a Redeclarable<T> is used from a TU that |
| 8429 // doesn't include ASTContext.h | 8427 // doesn't include ASTContext.h |
| 8430 template | 8428 template |
| 8431 clang::LazyGenerationalUpdatePtr< | 8429 clang::LazyGenerationalUpdatePtr< |
| 8432 const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain>::ValueType | 8430 const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain>::ValueType |
| 8433 clang::LazyGenerationalUpdatePtr< | 8431 clang::LazyGenerationalUpdatePtr< |
| 8434 const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain>::makeValue( | 8432 const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain>::makeValue( |
| 8435 const clang::ASTContext &Ctx, Decl *Value); | 8433 const clang::ASTContext &Ctx, Decl *Value); |
| OLD | NEW |