llvm-project/clang/lib/AST
Douglas Gregor a9d8493310 Objective-C doesn't consider the use of incomplete types as method
parameter types to be ill-formed. However, it relies on the
completeness of method parameter types when producing metadata, e.g.,
for a protocol, leading IR generating to crash in such cases.

Since there's no real way to tighten down the semantics of Objective-C
here without breaking existing code, do something safe but lame:
suppress the generation of metadata when this happens.

Fixes <rdar://problem/9123036>.

llvm-svn: 132171
2011-05-27 01:19:52 +00:00
..
APValue.cpp Refactoring of constant expression evaluator 2011-05-13 03:29:01 +00:00
ASTConsumer.cpp Reintroduce the ASTConsumer/ASTUnit fix from r110610, it has nothing to do with the breakage. 2010-08-11 18:52:41 +00:00
ASTContext.cpp Objective-C doesn't consider the use of incomplete types as method 2011-05-27 01:19:52 +00:00
ASTDiagnostic.cpp Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
ASTImporter.cpp Implement a new type node, UnaryTransformType, designed to represent a 2011-05-24 22:41:36 +00:00
AttrImpl.cpp Generate Attr subclasses with TableGen. 2010-08-18 23:23:40 +00:00
CMakeLists.txt Unbreak CMake build 2011-02-28 14:32:11 +00:00
CXXABI.h Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. 2010-11-25 01:51:53 +00:00
CXXInheritance.cpp Support for C++11 (non-template) alias declarations. 2011-04-15 14:24:37 +00:00
Decl.cpp Implement explicit specialization of explicitly-defaulted constructors. 2011-05-23 23:14:04 +00:00
DeclBase.cpp Implement a minor optimization by not introducing declarations into 2011-05-06 23:32:38 +00:00
DeclCXX.cpp Implement a little bit of cleanup and a lot more of the base work 2011-05-25 20:50:04 +00:00
DeclFriend.cpp Support C++ friend declarations for PCH. 2010-06-29 22:47:00 +00:00
DeclGroup.cpp I lied. Kill off a few more Destroy methods 2010-07-25 18:32:30 +00:00
DeclObjC.cpp Fixed source range for all DeclaratorDecl's. 2011-03-08 08:55:46 +00:00
DeclPrinter.cpp Modify some deleted function methods to better reflect reality: 2011-05-06 20:44:56 +00:00
DeclTemplate.cpp Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
DeclarationName.cpp Selector::getIdentifierInfoForSlot() can return NULL values, a fact 2011-02-18 22:29:55 +00:00
DumpXML.cpp Include assembler label for functions in the XML dump 2011-05-13 21:10:39 +00:00
Expr.cpp PR9899: handle pseudo-destructors correctly in noexcept() expressions. 2011-05-12 02:11:32 +00:00
ExprCXX.cpp Make yet another placeholder type, this one marking that an expression is a bound 2011-04-26 20:42:42 +00:00
ExprClassification.cpp Classify bound member function types are member function types. Fixes 2011-05-21 21:04:55 +00:00
ExprConstant.cpp Implement the initial part of C++0x [expr.const]p2, which specifies 2011-05-24 16:02:01 +00:00
ExternalASTSource.cpp From Vassil Vassilev: 2011-05-04 12:59:24 +00:00
InheritViz.cpp Revert 123553, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:49 +00:00
ItaniumCXXABI.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
ItaniumMangle.cpp Implement a new type node, UnaryTransformType, designed to represent a 2011-05-24 22:41:36 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
Mangle.cpp For consistency, use llvm::raw_ostream in the rest of the mangle api. 2011-02-11 02:52:17 +00:00
MicrosoftCXXABI.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
MicrosoftMangle.cpp Implement a new type node, UnaryTransformType, designed to represent a 2011-05-24 22:41:36 +00:00
NestedNameSpecifier.cpp Refactor the construction of nested-name-specifiers with 2011-02-28 23:58:31 +00:00
ParentMap.cpp Give some convenient idiomatic accessors to Stmt::child_range and 2011-02-13 04:07:26 +00:00
RecordLayout.cpp Convert RecordLayout::Alignment to CharUnits from bit units. No change in 2011-02-15 02:32:40 +00:00
RecordLayoutBuilder.cpp Implenment #pack pragma and ms_struct attribute layout. 2011-05-11 16:58:31 +00:00
Stmt.cpp Parsing/AST support for Structured Exception Handling 2011-04-28 01:08:34 +00:00
StmtDumper.cpp Add an optional field attached to a DeclRefExpr which points back to the 2011-05-01 23:48:14 +00:00
StmtIterator.cpp Support for C++11 (non-template) alias declarations. 2011-04-15 14:24:37 +00:00
StmtPrinter.cpp Implement the __is_trivially_copyable type trait 2011-05-13 00:31:07 +00:00
StmtProfile.cpp Store a parameter index and function prototype depth in every 2011-05-01 22:35:37 +00:00
StmtViz.cpp Adapt to the DOTGraphTraits changes in LLVM. 2009-11-30 14:16:05 +00:00
TemplateBase.cpp Silence more -Wnon-pod-memset given its current implementation. I may be 2011-04-28 08:19:45 +00:00
TemplateName.cpp Teach Sema::ActOnCXXNestedNameSpecifier and Sema::CheckTemplateIdType 2011-03-04 21:37:14 +00:00
Type.cpp Implement a new type node, UnaryTransformType, designed to represent a 2011-05-24 22:41:36 +00:00
TypeLoc.cpp Make yet another placeholder type, this one marking that an expression is a bound 2011-04-26 20:42:42 +00:00
TypePrinter.cpp Fix MSVC warning: <unsafe use of type 'bool' in operation> 2011-05-25 16:07:10 +00:00