aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-05Be a little more careful when trying to extract a TypeDecl from a ↵Douglas Gregor
enum/class/struct/union specifier; in invalid code, we may also see ClassTemplateDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Adding -fshort-wchar option.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05De-FIXME a testDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Don't allow definitions of array variables without some size information in ↵Sebastian Redl
C++. Fixed PR5401 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86165 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Enable debug info for global variables at -O1+Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Adds doxygen comment for HasSideEffects method.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Added support for static variables which requireFariborz Jahanian
initialization before main. Fixes pr5396. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86145 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Eliminate some false positives due to a thinko in the "'blah' isDouglas Gregor
always zero in this context" warning logic. Also, make the diagnostic itself more precise when referring to pointer values ("NULL" vs. "zero"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86143 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Add Ubuntu 9.10 libstdc++ install location.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05When collecting types for built-in candidates, make arrays decay to ↵Sebastian Redl
pointers. Otherwise, subscripting an array leads to no candidates at all. Fixes PR5360. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86140 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Add clang_site_config user variable, so that extra tests (e.g., utils/C++Syntax)Daniel Dunbar
can always find the main clang site config (when invoked via CMake/Makefiles, at least). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86139 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Allow the element type of arrays to be incomplete in C++.Sebastian Redl
This fixes PR5048. Also fix a bug where zero-sized arrays weren't warned about when the size was unsigned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Parse C++0x constexpr. Test case follows when this does something useful.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Don't run anything other than the compiler in these tests.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Fixed two places where we needed to force completion of a typeDouglas Gregor
(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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Implement the conditional-operator part of -Wsign-compare. TurnJohn McCall
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Tweak wording and classifications of analyzer diagnostics.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86127 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Add EXTRA_TESTDIRS variable for specifying additional test directories.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05References can't be zero; omit zero check for return value adjustmentsMike Stump
in covariant thunks that return references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86121 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Refine covariant return value adjustments for thunks when nullMike Stump
pointers are returned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Testcase for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Update.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86117 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Refine layout for indirect virtual base classes.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86116 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Fix 80-col violation.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86115 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Replace DiagnosticClient::setLangOptions with {Begin,End}SourceFile, and clarifyDaniel Dunbar
invariants (diagnostics with source informations must occur between {Begin,End}SourceFile). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86113 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Convert CreateAnalysisConsumer and friends to just take a const ↵Daniel Dunbar
Preprocessor&, and simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Remove unused SetPreprocessor method.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86111 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05AnalysisManager: Don't rely on PathDiagnosicClients flushing their ↵Ted Kremenek
diagnostics when they are destroyed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Remove clang-cc -html-diags option, this doesn't fit in well and we get plentyDaniel Dunbar
of coverage of this from the analyzer. If this bothers you, I can add it back in a mode where non-source diagnostics go to stderr and only source diagnostics use -html-diags, but I don't think anyone uses this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86109 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Acting on Daniel's nagging, remove PathDiagnosticClientFactory() andTed Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Make html::{SyntaxHighlight,HighlightMacros} take a const Preprocessor.Daniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86107 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Make LookUpIdentifierInfo const. This makes the Identifiers table mutable and isDaniel Dunbar
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*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05StringRefize Preprocessor::getIdentifierInfo.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86104 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05CreatePreprocessor cannot failDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05When instantiating a UnaryOperator, allow the resulting expression toDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Modify GRExprEngine::EvalBind() to take both a "store expression" andTed Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Implement -Wsign-compare, or at least the actual comparison part of it.John McCall
Conditional operands are next. Fixes part of rdar://problem/7289584. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Make sure to grab CVR qualifiers from the canonical type. ARGH!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Kill PreprocessorFactory, which was both morally repugnant and totally unused.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Turn if chain into switch.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Tweak formatting.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04When instantiating a MemberExpr, be sure to instantiate theDouglas Gregor
explicitly-specified template arguments, too! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Comments, formatting. Based on patch by Brandon Pearcy!John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04A simple reordering of the definitions in stdint.h and Chris Lattner
introduces no new function changes. Patch by Ken Dyck! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86062 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Diagnose using a field to initialize itself. Patch by Brandon Pearcy!John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86061 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04When starting a C++ member access expression, make sure to compute theDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86060 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04ignore two new -W flags, patch by Tom Jablin!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Give DeclarationName's operator< a more predictable, useful orderingDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86055 91177308-0d34-0410-b5e6-96231b3b80d8