summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Reorder the header search a bit so that it matches gcc exactly:Rafael Espindola2009-11-231-5/+7
| | | | | | | *) the ../backward dir is the last in libstdc++ to be searched *) If compiling c++, the c++ headers are searched first llvm-svn: 89661
* Let using directives refer to namespace aliases. Fixes PR5479.Sebastian Redl2009-11-233-19/+27
| | | | llvm-svn: 89657
* Require a class type to be complete before probing its conversionDouglas Gregor2009-11-231-0/+7
| | | | | | | functions for a switch condition's conversion to integral or enumeration type. llvm-svn: 89656
* Implement conversion from a switch condition with class type to anDouglas Gregor2009-11-231-32/+98
| | | | | | integral or enumeration type (vi user-defined conversions). Fixes PR5518. llvm-svn: 89655
* Canonical template arguments that are template template parameters byDouglas Gregor2009-11-231-2/+12
| | | | | | | their template parameter depth and position, so that we can match redeclarations appropriately. Fixes PR5527 and PR5528. llvm-svn: 89654
* Improve type-checking of templates by distinguishing between membersDouglas Gregor2009-11-231-6/+2
| | | | | | | of the current instantiation and members of an unknown specialization when type-checking a qualified-if expression. llvm-svn: 89653
* Do not mark declarations as used when performing overload resolution. Fixes ↵Douglas Gregor2009-11-233-4/+21
| | | | | | PR5541 llvm-svn: 89652
* Tolerate extraneous "template<>" headers better, downgrading theDouglas Gregor2009-11-231-4/+16
| | | | | | | | | | complaint to a warning and providing a helpful node in the case where the "template<>" header is redundant because the corresponding template-id refers to an explicit specialization. C++0x might still change this behavior, and existing practice is all over the place on the number of "template<>" headers actually needed. llvm-svn: 89651
* Fix CMake buildDouglas Gregor2009-11-231-0/+1
| | | | llvm-svn: 89650
* Centralize and complete the computation of value- and type-dependence for ↵Douglas Gregor2009-11-239-91/+74
| | | | | | DeclRefExprs llvm-svn: 89649
* UndefBranchChecker: more bug reporter helper information emit.Zhongxing Xu2009-11-232-90/+54
| | | | llvm-svn: 89643
* Initial refactor of UndefBranchChecker. We still use GRBranchNodeBuilderZhongxing Xu2009-11-234-41/+99
| | | | | | in the checker directly. But I don't have a better approach for now. llvm-svn: 89640
* Encapsulate "an array of TemplateArgumentLocs and two angle bracket ↵John McCall2009-11-2316-475/+299
| | | | | | | | | | locations" into a new class. Use it pervasively throughout Sema. My fingers hurt. llvm-svn: 89638
* Teach CodeGenFunction::EmitDecl to ignore Using and UsingShadow decls.Daniel Dunbar2009-11-231-2/+6
| | | | llvm-svn: 89633
* x86_64, PR5582: Layout bases for C++ records.Daniel Dunbar2009-11-221-1/+27
| | | | | | | - Ideally we would have an single iteration interface for this, but this works for now. llvm-svn: 89632
* Recognize .hpp as a C++ header.Daniel Dunbar2009-11-221-0/+1
| | | | llvm-svn: 89630
* Add clang -cc1 parsing of analyzer options.Daniel Dunbar2009-11-222-2/+71
| | | | llvm-svn: 89629
* Fix LookupResult's sanity-check to handle shadow decls.John McCall2009-11-221-1/+2
| | | | llvm-svn: 89624
* Change CheckDeadStores to use Expr::isNullPointerConstant, which will ↵Ted Kremenek2009-11-221-6/+5
| | | | | | | | correctly determine whether an expression is a null pointer constant. Patch by Kovarththanan Rajaratnam! llvm-svn: 89621
* Use EmitStoreOfScalar when copying the scalar to the space allocated by 'new'.Anders Carlsson2009-11-221-2/+3
| | | | llvm-svn: 89613
* When laying out bitfields, make sure that the data size is always aligned to ↵Anders Carlsson2009-11-222-11/+28
| | | | | | a byte. This fixes PR5580. llvm-svn: 89611
* Move bit-field layout out into a separate function. No functionality change.Anders Carlsson2009-11-222-69/+87
| | | | llvm-svn: 89604
* Define SIG_ATOMIC_MIN and SIG_ATOMIC_MAX in terms of __SIG_ATOMIC_WIDTH__.Ken Dyck2009-11-221-2/+2
| | | | llvm-svn: 89598
* Define __SIG_ATOMIC_WIDTH__ for use in stdint.h.Ken Dyck2009-11-221-0/+1
| | | | llvm-svn: 89597
* Undefined compound assignment result is checked in ↵Zhongxing Xu2009-11-221-9/+0
| | | | | | UndefinedAssignmentChecker. So this check is redundant. llvm-svn: 89592
* Remove invalid comments. The result is undefined only when operands are ↵Zhongxing Xu2009-11-221-2/+0
| | | | | | undefined. llvm-svn: 89591
* Save and restore the HasGen flag in MallocChecker.Zhongxing Xu2009-11-221-0/+1
| | | | llvm-svn: 89590
* Don't include a dead header.Benjamin Kramer2009-11-221-1/+0
| | | | llvm-svn: 89587
* Remove UndefinedAssignmentChecker's header.Zhongxing Xu2009-11-223-3/+21
| | | | llvm-svn: 89585
* If a C++ qualified id is followed by a postfix suffix, it is never the directJohn McCall2009-11-222-1/+22
| | | | | | | | | | | | | | operand of an addressof operator, and so we should not treat it as an abstract member-pointer expression and therefore suppress the implicit member access. This is really a well-formedness constraint on expressions: a DeclRefExpr of a FieldDecl or a non-static CXXMethodDecl (or template thereof, or unresolved collection thereof) should not be allowed in an arbitrary location in the AST. Arguably it shouldn't be allowed anywhere and we should have a different expr node type for this. But unfortunately we don't have a good way of enforcing this kind of constraint right now. llvm-svn: 89578
* Reorganize the intermediate BuildDeclarationNameExpr routines again.John McCall2009-11-223-87/+82
| | | | llvm-svn: 89575
* Consider a FunctionTemplate to be an overload all on its lonesome. TrackJohn McCall2009-11-227-78/+124
| | | | | | this information through lookup rather than rederiving it. llvm-svn: 89570
* Support emitting aggregate class initializers. Fixes PR5581.Anders Carlsson2009-11-211-1/+1
| | | | llvm-svn: 89569
* This patch implements objective-c's 'SEL' type as a built-inFariborz Jahanian2009-11-218-22/+27
| | | | | | | | | | | | | | | | | | type and fixes a long-standing code gen. crash reported in at least two PRs and a radar. (radar 7405040 and pr5025). There are couple of remaining issues that I would like for Ted. and Doug to look at: Ted, please look at failure in Analysis/MissingDealloc.m. I have temporarily added an expected-warning to make the test pass. This tests has a declaration of 'SEL' type which may not co-exist with the new changes. Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp. I think the changes which I have ifdef'ed out are correct. They need be considered for in a few Indexer/PCH test cases. llvm-svn: 89561
* Make FixedAddressChecker and experimental check; it currently produces a ton ↵Ted Kremenek2009-11-212-1/+2
| | | | | | of false positives when analyzing some projects (e.g., Wine). llvm-svn: 89560
* Overload resolution doesn't decide whether to do ADL or not anymore; stoppingJohn McCall2009-11-212-14/+5
| | | | | | threading that state. llvm-svn: 89557
* Mangler: Sketch mangling for TemplateArgument::Declaration kind.Daniel Dunbar2009-11-211-27/+32
| | | | | | - Several important FIXMEs related to whether arguments are expressions or external names, and the mangling of extern "C" names (c.f., PR5522). llvm-svn: 89556
* Mangler: Lift shouldMangleDeclName predicate out of CXXNameMangler::mangle.Daniel Dunbar2009-11-213-44/+49
| | | | | | | | - Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression). - This also tidies up the predicate to be more obvious what is getting mangled. llvm-svn: 89555
* Mangler: Strengthen invariants, MangleContext::mangleName should only be ↵Daniel Dunbar2009-11-211-15/+12
| | | | | | called on var or function decls. llvm-svn: 89554
* Mangler: Inline a bunch of functions into their sole caller, not that I ↵Daniel Dunbar2009-11-211-106/+56
| | | | | | don't love typing for typings sake, but... llvm-svn: 89553
* DeclPrinter: Indent access specifiers.Daniel Dunbar2009-11-211-3/+6
| | | | llvm-svn: 89552
* Remove dead variable.Daniel Dunbar2009-11-211-1/+0
| | | | llvm-svn: 89551
* Mangler: Split isStdNamespace for when the caller already has a NamespaceDecl.Daniel Dunbar2009-11-211-5/+6
| | | | llvm-svn: 89550
* IRgen: Eliminate CXXNameMangler::mangleCXX{C,D}tor.Daniel Dunbar2009-11-211-24/+10
| | | | llvm-svn: 89549
* IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,Daniel Dunbar2009-11-216-96/+67
| | | | | | | instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548
* Sink free mangle* methods into MangleContext.Daniel Dunbar2009-11-216-239/+234
| | | | llvm-svn: 89547
* Add 1+2 consts.Daniel Dunbar2009-11-211-1/+1
| | | | llvm-svn: 89546
* Delete trailing space.Daniel Dunbar2009-11-211-85/+85
| | | | llvm-svn: 89545
* "Incremental" progress on using expressions, by which I mean totally rippingJohn McCall2009-11-2115-451/+583
| | | | | | | | | | | | | | | | | | | | | | into pretty much everything about overload resolution in order to wean BuildDeclarationNameExpr off LookupResult::getAsSingleDecl(). Replace UnresolvedFunctionNameExpr with UnresolvedLookupExpr, which generalizes the idea of a non-member lookup that we haven't totally resolved yet, whether by overloading, argument-dependent lookup, or (eventually) the presence of a function template in the lookup results. Incidentally fixes a problem with argument-dependent lookup where we were still performing ADL even when the lookup results contained something from a block scope. Incidentally improves a diagnostic when using an ObjC ivar from a class method. This just fell out from rewriting BuildDeclarationNameExpr's interaction with lookup, and I'm too apathetic to break it out. The only remaining uses of OverloadedFunctionDecl that I know of are in TemplateName and MemberExpr. llvm-svn: 89544
* Added rudimentary C++0x attribute support.Alexis Hunt2009-11-2119-136/+616
| | | | | | | | | | | | | | The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
OpenPOWER on IntegriCloud