summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make sure we actually found a redeclaration before complaining about ↵Douglas Gregor2009-08-281-1/+1
| | | | | | attributes added to a redeclaration in C++ llvm-svn: 80403
* Add printing of access specifiers to DeclPrinter. The formatting is pretty ↵Anders Carlsson2009-08-281-8/+25
| | | | | | bad but it works :) llvm-svn: 80402
* Remove #if 0'd code that is clearly not neededDouglas Gregor2009-08-281-24/+0
| | | | llvm-svn: 80399
* path to ir-gen 12.3.1 Conversion by constructorFariborz Jahanian2009-08-282-7/+23
| | | | llvm-svn: 80398
* Don't crash when instantiating templates containing anonymous structs/unionsDouglas Gregor2009-08-281-14/+26
| | | | llvm-svn: 80397
* Test instantiation of static data members that live within nestedDouglas Gregor2009-08-281-3/+0
| | | | | | member templates. llvm-svn: 80396
* Fix and test template instantiation for nested member templates.Douglas Gregor2009-08-281-2/+5
| | | | llvm-svn: 80394
* Tighten up the conversion from a single-level template argument listDouglas Gregor2009-08-284-21/+20
| | | | | | | | | | to a multi-level template argument list by making it explicit. The forced auditing of callers found a bug in the instantiation of member classes inside member templates. I *love* static type systems. llvm-svn: 80391
* Remove the conversion from a multi-level template argument list back to a ↵Douglas Gregor2009-08-281-8/+0
| | | | | | single template argument list. We no longer need this crutch llvm-svn: 80390
* Implement template instantiation for member class templates.Douglas Gregor2009-08-286-135/+139
| | | | | | | | | | When performing template instantiation of the definitions of member templates (or members thereof), we build a data structure containing the template arguments from each "level" of template instantiation. During template instantiation, we substitute all levels of template arguments simultaneously. llvm-svn: 80389
* retain/release checker: [CIContext createCGImage...] and friends returned CFTed Kremenek2009-08-281-5/+8
| | | | | | | objects that are not automatically garbage collected. This fixes <rdar://problem/7174400>. llvm-svn: 80387
* Improve support for using decls in the decl printer.Anders Carlsson2009-08-281-0/+16
| | | | llvm-svn: 80386
* Check for UnresolvedUsingDecl when determining if a declaration is a ↵Anders Carlsson2009-08-281-1/+1
| | | | | | redeclaration or not. llvm-svn: 80383
* patch to prevent crash in hopelessly incorrectFariborz Jahanian2009-08-281-0/+1
| | | | | | method definition with labels. llvm-svn: 80381
* Collect multiple levels of template arguments into a new type,Douglas Gregor2009-08-283-22/+112
| | | | | | | MultiLevelTemplateArgumentList. This is a baby step toward instantiating member templates; no intended functionality change yet. llvm-svn: 80380
* Fix this for real.Anders Carlsson2009-08-283-4/+5
| | | | llvm-svn: 80377
* Allow explicit ctors for casts.Anders Carlsson2009-08-281-1/+1
| | | | llvm-svn: 80374
* When doing overload resolution, expressions that are value dependent but not ↵Anders Carlsson2009-08-281-4/+18
| | | | | | type dependent and of integral type should not be treated as null pointer constants. llvm-svn: 80369
* Pass InOverloadResolution all the way down to IsPointerConversion.Anders Carlsson2009-08-285-18/+35
| | | | llvm-svn: 80368
* Instantiate unresolved using declarations.Anders Carlsson2009-08-282-3/+23
| | | | llvm-svn: 80366
* ir-gen related patch for type conversionFariborz Jahanian2009-08-284-27/+25
| | | | | | with class type conversion methods. WIP. llvm-svn: 80365
* Omnibus friend decl refactoring. Instead of cloning AST classes for friendJohn McCall2009-08-287-195/+224
| | | | | | | | | | | | | | declarations of same, introduce a single AST class and add appropriate bits (encoded in the namespace) for whether a decl is "real" or not. Much hackery about previously-declared / not-previously-declared, but it's essentially mandated by the standard that friends alter lookup, and this is at least fairly non-intrusive. Refactor the Sema methods specific to friends for cleaner flow and less nesting. Incidentally solve a few bugs, but I remain confident that we can put them back. llvm-svn: 80353
* Create UnresolvedUsingDecls.Anders Carlsson2009-08-281-10/+9
| | | | llvm-svn: 80346
* Factor declaration building out to Sema::BuildUsingDeclaration.Anders Carlsson2009-08-282-25/+42
| | | | llvm-svn: 80337
* Check in UnresolvedUsingDecl.Anders Carlsson2009-08-282-0/+12
| | | | llvm-svn: 80336
* Use SymbolicRegion instead of CodeTextRegion for symbolic functionTed Kremenek2009-08-284-58/+19
| | | | | | | | pointers. Most logic cares first about whether or not a region is symbolic, and second if represents code. This should fix a series of silent corner case bugs (as well as simplify a bunch of code). llvm-svn: 80335
* More work on using declarations.Anders Carlsson2009-08-282-2/+12
| | | | llvm-svn: 80333
* Many improvements to using declarations.Anders Carlsson2009-08-281-19/+68
| | | | llvm-svn: 80332
* Use C++ style comments.Ted Kremenek2009-08-281-2/+2
| | | | llvm-svn: 80320
* Implement: <rdar://problem/6337132> CWE-273: Failure to Check Whether PrivilegesTed Kremenek2009-08-281-2/+80
| | | | | | | | Were Dropped Successfully Patch by Geoff Keating! llvm-svn: 80313
* When looking for overloaded member operators, make sure to instantiateDouglas Gregor2009-08-271-4/+10
| | | | | | | | | class template specializations (when possible) and look into base classes. Thanks to Eli for the test case! FIXME -=1. llvm-svn: 80302
* CFG construction: Abort CFG construction when processing a CompoundStmt if anyTed Kremenek2009-08-271-0/+3
| | | | | | of its subexpressions resulted in a "bad CFG". llvm-svn: 80298
* Rename 'bindExpr' to 'BindExpr'.Ted Kremenek2009-08-273-58/+58
| | | | llvm-svn: 80294
* Move the AnalysisContext* from GRState to Environment.Ted Kremenek2009-08-272-11/+9
| | | | llvm-svn: 80293
* Define _GNU_SOURCE in C++ mode so that clang works with GNU libstdc++.Eli Friedman2009-08-271-0/+2
| | | | llvm-svn: 80289
* Clean up CodeGenFunction::EmitCastLValue to use the cast kind. Error Eli Friedman2009-08-271-3/+13
| | | | | | out for user-defined conversions instead of crashing. llvm-svn: 80282
* Fix for PR4794 (instantiating friend class decl); this version shouldn't Eli Friedman2009-08-271-1/+5
| | | | | | cause any regressions. llvm-svn: 80277
* Back out bad piece of r80272. Will look at fixing this a different way.Eli Friedman2009-08-271-4/+1
| | | | llvm-svn: 80273
* PR4794: Make instantiating friend class decls not crash.Eli Friedman2009-08-272-1/+6
| | | | llvm-svn: 80272
* Add an InOverloadResolution flag to TryCopyInitialization.Anders Carlsson2009-08-274-9/+18
| | | | llvm-svn: 80261
* Remove more default arguments.Anders Carlsson2009-08-276-15/+40
| | | | llvm-svn: 80260
* Remove default arguments from TryImplicitConversion and fix a bug found in ↵Anders Carlsson2009-08-275-16/+52
| | | | | | the process. llvm-svn: 80258
* Remove default argument from TryCopyInitialization.Anders Carlsson2009-08-274-7/+17
| | | | llvm-svn: 80256
* Revert the flags change for now, I have a better idea for this.Anders Carlsson2009-08-274-31/+15
| | | | llvm-svn: 80255
* Implement instantiation of the declarations of member functionDouglas Gregor2009-08-272-10/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | templates within class templates, producing a member function template of a class template specialization. If you can parse that, I'm sorry. Example: template<typename T> struct X { template<typename U> void f(T, U); }; When we instantiate X<int>, we now instantiate the declaration X<int>::f, which looks like this: template<typename U> void X<int>::f(int, U); The path this takes through TemplateDeclInstantiator::VisitCXXMethodDecl is convoluted and ugly, but I don't know how to improve it yet. I'm resting my hopes on the multi-level substitution required to instantiate definitions of nested templates, which may simplify this code as well. More testing to come... llvm-svn: 80252
* Add a OverloadResolutionFlags and start converting some of the overload ↵Anders Carlsson2009-08-274-15/+31
| | | | | | methods over to using it instead of bools arguments. llvm-svn: 80248
* Remove a unused member variable. Instead query the option from AnalysisManager.Zhongxing Xu2009-08-271-3/+3
| | | | llvm-svn: 80226
* When checking whether one declaration context encloses another, make sure to ↵Douglas Gregor2009-08-271-0/+10
| | | | | | look at the primary contexts. Thanks to Eli for the test case llvm-svn: 80212
* Don't check member and base initializers if the constructor is dependent.Anders Carlsson2009-08-271-27/+33
| | | | llvm-svn: 80211
* Use early returns to avoid indentation.Anders Carlsson2009-08-271-72/+76
| | | | llvm-svn: 80209
OpenPOWER on IntegriCloud