summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle ParenExprs in mangleExpression.Anders Carlsson2009-11-061-0/+5
| | | | llvm-svn: 86218
* Refine the vcall for a function that is defined in a virtual baseMike Stump2009-11-061-6/+13
| | | | | | class that is overridden in a base that isn't morally virtual. llvm-svn: 86217
* static analyzer: refactor checking logic for returning the address of a ↵Ted Kremenek2009-11-066-131/+226
| | | | | | | | | stack variable or a garbage value into their own respective subclasses of Checker (and put them in .cpp files where their implementation details are hidden from GRExprEngine). llvm-svn: 86215
* If we have a C-style cast, functional cast, or a static_cast to aDouglas Gregor2009-11-061-2/+2
| | | | | | | | | | class type, don't perform the array-to-pointer or function-to-pointer conversions, because we may end up binding a reference to a function or array. With this change, FileCheck now passes -fsyntax-only! llvm-svn: 86211
* When we encounter a derived-to-base conversion when performing anDouglas Gregor2009-11-061-1/+11
| | | | | | | implicit conversion sequence, check the validity of this conversion and then perform it. llvm-svn: 86210
* Minor cleanup of my last patch.Fariborz Jahanian2009-11-061-1/+1
| | | | llvm-svn: 86209
* Minor cleanup: use BuiltinBug (which will soon be renamed) for ↵Ted Kremenek2009-11-065-10/+8
| | | | | | DeferenceChecker and friends so that they always report the same bug type. llvm-svn: 86208
* This patch implements Sema for clause 13.3.3.1p4.Fariborz Jahanian2009-11-064-11/+30
| | | | | | | It has to do with vararg constructors used as conversion functions. Code gen needs work. This is WIP. llvm-svn: 86207
* Make sure that EnumConstantDecls always get a type, even when they have ↵Douglas Gregor2009-11-061-14/+20
| | | | | | type-dependent initializers. llvm-svn: 86197
* Strip off the /clang/tools/clang at the end of the Subversion URL, if it's thereDouglas Gregor2009-11-051-0/+4
| | | | llvm-svn: 86195
* Eliminate tablsJohn Thompson2009-11-052-62/+62
| | | | llvm-svn: 86183
* clean up integer preprocessor type definitions, patch by Ken Dyck!Chris Lattner2009-11-052-14/+42
| | | | llvm-svn: 86177
* Make ASTContext::getIntWidth return 1 for all boolean type variations, not ↵Sebastian Redl2009-11-051-1/+1
| | | | | | just for the unqualified, unaliased bool. llvm-svn: 86174
* The signed/unsigned checker should not warn for value-dependent expressions, ↵Sebastian Redl2009-11-051-0/+5
| | | | | | and should especially not try to evaluate them. llvm-svn: 86173
* Be a little more careful when trying to extract a TypeDecl from a ↵Douglas Gregor2009-11-051-1/+2
| | | | | | enum/class/struct/union specifier; in invalid code, we may also see ClassTemplateDecls. llvm-svn: 86171
* Adding -fshort-wchar option.John Thompson2009-11-054-0/+20
| | | | llvm-svn: 86167
* Don't allow definitions of array variables without some size information in ↵Sebastian Redl2009-11-051-0/+10
| | | | | | C++. Fixed PR5401 llvm-svn: 86165
* Enable debug info for global variables at -O1+Devang Patel2009-11-051-7/+0
| | | | llvm-svn: 86156
* Added support for static variables which requireFariborz Jahanian2009-11-053-13/+17
| | | | | | initialization before main. Fixes pr5396. llvm-svn: 86145
* Eliminate some false positives due to a thinko in the "'blah' isDouglas Gregor2009-11-051-11/+7
| | | | | | | always zero in this context" warning logic. Also, make the diagnostic itself more precise when referring to pointer values ("NULL" vs. "zero"). llvm-svn: 86143
* Add Ubuntu 9.10 libstdc++ install location.Sebastian Redl2009-11-051-0/+5
| | | | llvm-svn: 86142
* When collecting types for built-in candidates, make arrays decay to ↵Sebastian Redl2009-11-051-0/+4
| | | | | | pointers. Otherwise, subscripting an array leads to no candidates at all. Fixes PR5360. llvm-svn: 86140
* Allow the element type of arrays to be incomplete in C++.Sebastian Redl2009-11-053-18/+37
| | | | | | This fixes PR5048. Also fix a bug where zero-sized arrays weren't warned about when the size was unsigned. llvm-svn: 86136
* Parse C++0x constexpr. Test case follows when this does something useful.Sebastian Redl2009-11-053-0/+17
| | | | llvm-svn: 86135
* Fixed two places where we needed to force completion of a typeDouglas Gregor2009-11-054-11/+18
| | | | | | | | | | | | (without complaining if it fails) to get proper semantics: reference binding with a derived-to-base conversion and the enumeration of constructors for user-defined conversions. There are probably more cases to fix, but my prior attempt at statically ensuring that complete-type checking always happens failed. Perhaps I'll try again. With this change, Clang can parse include/llvm/*.h! llvm-svn: 86129
* Implement the conditional-operator part of -Wsign-compare. TurnJohn McCall2009-11-053-5/+12
| | | | | | | | | | | | DiagnoseSignCompare into Sema::CheckSignCompare and call it from more places. Add some enumerator tests. These seem to expose some oddities in the types we're converting C++ enumerators to; in particular, they're converting to unsigned before int, which seems to contradict 4.5 [conv.prom] p2. Note to self: stop baiting Doug in my commit messages. llvm-svn: 86128
* Tweak wording and classifications of analyzer diagnostics.Ted Kremenek2009-11-051-3/+3
| | | | llvm-svn: 86127
* References can't be zero; omit zero check for return value adjustmentsMike Stump2009-11-051-19/+25
| | | | | | in covariant thunks that return references. llvm-svn: 86121
* Refine covariant return value adjustments for thunks when nullMike Stump2009-11-051-1/+19
| | | | | | pointers are returned. llvm-svn: 86120
* Refine layout for indirect virtual base classes.Mike Stump2009-11-052-40/+38
| | | | llvm-svn: 86116
* Replace DiagnosticClient::setLangOptions with {Begin,End}SourceFile, and clarifyDaniel Dunbar2009-11-051-0/+1
| | | | | | | invariants (diagnostics with source informations must occur between {Begin,End}SourceFile). llvm-svn: 86113
* Convert CreateAnalysisConsumer and friends to just take a const ↵Daniel Dunbar2009-11-053-35/+33
| | | | | | Preprocessor&, and simplify. llvm-svn: 86112
* Remove unused SetPreprocessor method.Daniel Dunbar2009-11-051-2/+0
| | | | llvm-svn: 86111
* Acting on Daniel's nagging, remove PathDiagnosticClientFactory() andTed Kremenek2009-11-053-78/+52
| | | | | | | | migrate work in the destructors of PathDiagnosticClients from their destructors to FlushReports(). The destructors now currently call FlushReports(); this will be fixed in a subsequent patch. llvm-svn: 86108
* Make html::{SyntaxHighlight,HighlightMacros} take a const Preprocessor.Daniel Dunbar2009-11-051-16/+21
| | | | | | | | | This is conceptually correct, but adds a huge hack to HighlightMacros which is in fact doing all sorts of mutation to the Preprocessor. See FIXME. Chris, please review. llvm-svn: 86107
* Make LookUpIdentifierInfo const. This makes the Identifiers table mutable and isDaniel Dunbar2009-11-051-1/+1
| | | | | | | | | a little fuzzy, but conceptually it's just uniquing the identifier. Chris, please review. I debated splitting into const/non-const versions where the const one propogated constness to the resulting IdentifierInfo*. llvm-svn: 86106
* StringRefize Preprocessor::getIdentifierInfo.Daniel Dunbar2009-11-051-2/+2
| | | | llvm-svn: 86105
* When instantiating a UnaryOperator, allow the resulting expression toDouglas Gregor2009-11-054-30/+49
| | | | | | | | | | | | | still be dependent or invoke an overloaded operator. Previously, we only supported builtin operators. BinaryOperator/CompoundAssignOperator didn't have this issue because we always built a CXXOperatorCallExpr node, even when name lookup didn't find any functions to save until instantiation time. Now, that code builds a BinaryOperator or CompoundAssignOperator rather than a CXXOperatorCallExpr, to save some space. llvm-svn: 86087
* Modify GRExprEngine::EvalBind() to take both a "store expression" andTed Kremenek2009-11-052-41/+35
| | | | | | | | an "assign expression", representing the expressions where the value binding occurs and the assignment takes place respectively. These are largely syntactic clues for better error reporting. llvm-svn: 86084
* Implement -Wsign-compare, or at least the actual comparison part of it.John McCall2009-11-051-0/+37
| | | | | | | | Conditional operands are next. Fixes part of rdar://problem/7289584. llvm-svn: 86083
* Make sure to grab CVR qualifiers from the canonical type. ARGH!Douglas Gregor2009-11-051-2/+2
| | | | llvm-svn: 86079
* Kill PreprocessorFactory, which was both morally repugnant and totally unused.Daniel Dunbar2009-11-046-50/+28
| | | | llvm-svn: 86076
* When instantiating a MemberExpr, be sure to instantiate theDouglas Gregor2009-11-041-4/+33
| | | | | | explicitly-specified template arguments, too! llvm-svn: 86066
* Comments, formatting. Based on patch by Brandon Pearcy!John McCall2009-11-041-2/+8
| | | | llvm-svn: 86065
* A simple reordering of the definitions in stdint.h and Chris Lattner2009-11-041-75/+83
| | | | | | introduces no new function changes. Patch by Ken Dyck! llvm-svn: 86062
* Diagnose using a field to initialize itself. Patch by Brandon Pearcy!John McCall2009-11-041-0/+59
| | | | llvm-svn: 86061
* When starting a C++ member access expression, make sure to compute theDouglas Gregor2009-11-042-64/+75
| | | | | | | | | type of the object even when it is dependent. Specifically, this makes sure that we get the right type for "this->", which is important when performing name lookup into this scope to determine whether an identifier or operator-function-id is a template name. llvm-svn: 86060
* Give DeclarationName's operator< a more predictable, useful orderingDouglas Gregor2009-11-041-5/+45
| | | | llvm-svn: 86055
* Fix a little canonical-types issue with non-type template arguments.Douglas Gregor2009-11-041-1/+1
| | | | | | Fixes PR5349. llvm-svn: 86052
* InitializePreprocessor cannot fail.Daniel Dunbar2009-11-041-4/+1
| | | | llvm-svn: 86048
OpenPOWER on IntegriCloud