| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Move the "needs exception support" logic to clang. This also fixes | Rafael Espindola | 2009-10-01 | 2 | -11/+32 |
| | | | | | | | | -fno-exceptions in C++ code. We used to always define __EXCEPTIONS in C++. llvm-svn: 83199 | ||||
| * | Fix a lame regression in IR gen for C++ delete expressions. PR5102 | Douglas Gregor | 2009-10-01 | 2 | -0/+14 |
| | | | | | llvm-svn: 83195 | ||||
| * | Add support for class and protocol references. | Steve Naroff | 2009-10-01 | 3 | -145/+203 |
| | | | | | llvm-svn: 83186 | ||||
| * | A couple of refinements for laying out debug information for | Mike Stump | 2009-10-01 | 1 | -12/+15 |
| | | | | | | | BlockDeclRefDecls. llvm-svn: 83185 | ||||
| * | Anonymous namespaces, sema + codegen. A lot of semantics are still broken, | John McCall | 2009-10-01 | 7 | -5/+97 |
| | | | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184 | ||||
| * | Improve template argument deduction in the case where the parameter | Douglas Gregor | 2009-09-30 | 2 | -8/+4 |
| | | | | | | | | | | type is a template-id (e.g., basic_ostream<CharT, Traits>) and the argument type is a class that has a derived class matching the parameter type. Previously, we were giving up on template argument deduction too early. llvm-svn: 83177 | ||||
| * | When overload resolution fails for an overloaded operator, show the | Douglas Gregor | 2009-09-30 | 7 | -22/+45 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | overload candidates (but not the built-in ones). We still rely on the underlying built-in semantic analysis to produce the initial diagnostic, then print the candidates following that diagnostic. One side advantage of this approach is that we can perform more validation of C++'s operator overloading with built-in candidates vs. the semantic analysis for those built-in operators: when there are no viable candidates, we know to expect an error from the built-in operator handling code. Otherwise, we are not modeling the built-in semantics properly within operator overloading. This is checked as: assert(Result.isInvalid() && "C++ binary operator overloading is missing candidates!"); if (Result.isInvalid()) PrintOverloadCandidates(CandidateSet, /*OnlyViable=*/false); The assert() catches cases where we're wrong in a +Asserts build. The "if" makes sure that, if this happens in a production clang (-Asserts), we still build the proper built-in operator and continue on our merry way. This is effectively what happened before this change, but we've added the assert() to catch more flies. llvm-svn: 83175 | ||||
| * | Tweak CHECK lines to eliminate a failure on i686-apple-darwin10 | Douglas Gregor | 2009-09-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 83173 | ||||
| * | Issue good diagnostics when initializing a refernce type with | Fariborz Jahanian | 2009-09-30 | 3 | -3/+12 |
| | | | | | | | a bad initializer. Fixes pr4274. llvm-svn: 83169 | ||||
| * | Add an error for function parameters that have a qualified address space ↵ | Tanya Lattner | 2009-09-30 | 3 | -3/+20 |
| | | | | | | | since this is not allowed by the embedded c extension spec. llvm-svn: 83165 | ||||
| * | fix line #'s | Chris Lattner | 2009-09-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 83162 | ||||
| * | add some more popular examples, color code warning: and error: like the ↵ | Chris Lattner | 2009-09-30 | 1 | -14/+57 |
| | | | | | | | command line. llvm-svn: 83161 | ||||
| * | Convert from nonportable grep to filecheck, patch by John Thompson | Chris Lattner | 2009-09-30 | 1 | -3/+22 |
| | | | | | llvm-svn: 83158 | ||||
| * | Update C++ status page | Douglas Gregor | 2009-09-30 | 1 | -94/+95 |
| | | | | | llvm-svn: 83157 | ||||
| * | Note location of operators caused the circularity. | Fariborz Jahanian | 2009-09-30 | 3 | -6/+10 |
| | | | | | llvm-svn: 83153 | ||||
| * | <rdar://problem/7263113> Make clang produce gcc's objc_assign_StrongCast as ↵ | Fariborz Jahanian | 2009-09-30 | 2 | -1/+38 |
| | | | | | | | a result of type-cast of an ivar in assignment. llvm-svn: 83150 | ||||
| * | update copyright. | Chris Lattner | 2009-09-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 83149 | ||||
| * | Improve debugging information for BlockDeclRefExpr. WIP. Given this | Mike Stump | 2009-09-30 | 3 | -0/+246 |
| | | | | | | | | scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138 | ||||
| * | Spare the processors of those poor wretches who have no choice but to write | John McCall | 2009-09-30 | 1 | -4/+3 |
| | | | | | | | unbounded chains of operator-> delegations. llvm-svn: 83134 | ||||
| * | Detect operator-> chains of arbitrary length. Use a terrible data structure | John McCall | 2009-09-30 | 2 | -3/+25 |
| | | | | | | | to strike fear into the hearts of CPUs everywhere. llvm-svn: 83133 | ||||
| * | self-referecing operator '->' member function was causing | Fariborz Jahanian | 2009-09-30 | 3 | -0/+18 |
| | | | | | | | infinit recursion. This patch fixes it. [13.3.1.2]-p2 llvm-svn: 83124 | ||||
| * | Find operators new/delete in base classes. FIXME -= 2; | Douglas Gregor | 2009-09-30 | 2 | -8/+6 |
| | | | | | llvm-svn: 83119 | ||||
| * | Desugaring optimizations. Add single-step desugaring methods to all | John McCall | 2009-09-29 | 6 | -79/+206 |
| | | | | | | | | | | concrete types. Use unqualified desugaring for getAs<> and sundry. Fix a few users to either not desugar or use qualified desugar, as seemed appropriate. Removed Type's qualified desugar method, as it was easy to accidentally use instead of QualType's. llvm-svn: 83116 | ||||
| * | The C++ delete expression strips cv-qualifiers from the pointed-to type. My ↵ | Douglas Gregor | 2009-09-29 | 2 | -0/+17 |
| | | | | | | | previous fix eliminated this behavior, so bring it back again. llvm-svn: 83113 | ||||
| * | Pull TypeLocVisitor into its own header file. | Argyrios Kyrtzidis | 2009-09-29 | 7 | -41/+63 |
| | | | | | llvm-svn: 83112 | ||||
| * | Keep track of type references in DeclReferenceMap. | Argyrios Kyrtzidis | 2009-09-29 | 2 | -1/+45 |
| | | | | | llvm-svn: 83111 | ||||
| * | In ASTVisitor, call the correct base methods. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -4/+4 |
| | | | | | llvm-svn: 83110 | ||||
| * | Fix Decl class hierarchy. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -4/+4 |
| | | | | | llvm-svn: 83109 | ||||
| * | 13.1-p3 Overloadable declarations | Fariborz Jahanian | 2009-09-29 | 3 | -3/+15 |
| | | | | | | | Parameter declarations that differ only in the presence or absence of const and/or volatile are equivalent. llvm-svn: 83104 | ||||
| * | Resolve a source location inside the return type of a functon. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+3 |
| | | | | | llvm-svn: 83101 | ||||
| * | When pointing at a type decl reference, ASTLocation is a NamedDeclRef. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+2 |
| | | | | | llvm-svn: 83099 | ||||
| * | Resolve a source location that is inside a type declarator. | Argyrios Kyrtzidis | 2009-09-29 | 1 | -4/+134 |
| | | | | | llvm-svn: 83098 | ||||
| * | Introduce ObjCInterfaceLoc which provides type source information for ObjC ↵ | Argyrios Kyrtzidis | 2009-09-29 | 6 | -0/+60 |
| | | | | | | | interfaces. llvm-svn: 83097 | ||||
| * | Introduce TypedefLoc::getTypedefDecl(). | Argyrios Kyrtzidis | 2009-09-29 | 1 | -0/+4 |
| | | | | | llvm-svn: 83096 | ||||
| * | Modify ASTLocation and apart from being a Decl or Stmt, allow it to also be: | Argyrios Kyrtzidis | 2009-09-29 | 8 | -133/+157 |
| | | | | | | | | -A NamedDecl reference -A TypeLoc llvm-svn: 83095 | ||||
| * | Introduce ObjCProtocolListLoc for keeping source location information for ↵ | Argyrios Kyrtzidis | 2009-09-29 | 8 | -17/+152 |
| | | | | | | | protocol references. llvm-svn: 83094 | ||||
| * | Introduce ObjCProtocolListType type subclass. | Argyrios Kyrtzidis | 2009-09-29 | 9 | -4/+133 |
| | | | | | | | | | | This is used only for keeping detailed type source information for protocol references, it should not participate in the semantics of the type system. Its protocol list is not canonicalized. llvm-svn: 83093 | ||||
| * | Move DeclSpec::setProtocolQualifiers() out of line. | Argyrios Kyrtzidis | 2009-09-29 | 2 | -9/+14 |
| | | | | | llvm-svn: 83092 | ||||
| * | Keep protocol source locations when parsing protocol references. | Argyrios Kyrtzidis | 2009-09-29 | 4 | -22/+56 |
| | | | | | llvm-svn: 83091 | ||||
| * | Introduce Type::getTypeClassName() that returns the string associated with ↵ | Argyrios Kyrtzidis | 2009-09-29 | 2 | -0/+11 |
| | | | | | | | the TypeClass enum. llvm-svn: 83090 | ||||
| * | Introduce TypeLoc::getSourceRange(). | Argyrios Kyrtzidis | 2009-09-29 | 2 | -26/+26 |
| | | | | | llvm-svn: 83089 | ||||
| * | -Introduce TypeLoc::getOpaqueData() | Argyrios Kyrtzidis | 2009-09-29 | 2 | -10/+11 |
| | | | | | | | -Make TypeLoc's constructor public. llvm-svn: 83088 | ||||
| * | Add more const-goodness to ASTLocation. | Argyrios Kyrtzidis | 2009-09-29 | 3 | -21/+20 |
| | | | | | llvm-svn: 83087 | ||||
| * | Fix truck sized thinko where Darwin/ARM toolchain didn't look for programs in | Daniel Dunbar | 2009-09-29 | 2 | -0/+11 |
| | | | | | | | libexec, *blush*. llvm-svn: 83086 | ||||
| * | Add a test case demonstrating a situation where we get protocol type checking | Daniel Dunbar | 2009-09-29 | 1 | -0/+15 |
| | | | | | | | right for multiple anonymous categories. llvm-svn: 83085 | ||||
| * | Handle C++ delete expressions when the overloaded delete operator is a | Douglas Gregor | 2009-09-29 | 5 | -21/+90 |
| | | | | | | | | | | | | "usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080 | ||||
| * | Fixes a nasty bug which only turned up in 32bit build of clang and | Fariborz Jahanian | 2009-09-29 | 1 | -1/+7 |
| | | | | | | | | | had to do with an initialized field when multiple type conversions are ambiguous but must be treated as user defined conversion for overload resolution purposes. llvm-svn: 83079 | ||||
| * | Update checker build. | Ted Kremenek | 2009-09-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 83074 | ||||
| * | Fix: <rdar://problem/7261075> [RegionStore] crash when handling load: ↵ | Ted Kremenek | 2009-09-29 | 2 | -1/+17 |
| | | | | | | | | | '*((unsigned int *)"????")' This issue was originally reported via personal email by Thomas Clement! llvm-svn: 83069 | ||||
| * | Make sure to flush raw_string_ostream, from John Thompson | Douglas Gregor | 2009-09-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 83066 | ||||

