summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Warn on top-level 'asm volatile' (instead of misparsing it).John McCall2010-01-251-0/+5
| | | | | | "Fixes" rdar://problem/7574870 llvm-svn: 94458
* global variable that binds reference to a non-lvalue reprotedFariborz Jahanian2010-01-251-2/+7
| | | | | | as NYI now. llvm-svn: 94453
* Fixes a rewriting bug of access ivar of a variable castFariborz Jahanian2010-01-251-1/+10
| | | | | | to subclass. (Fixes radar 7575882). llvm-svn: 94444
* Fix a code gen. bug involving compiling global references.Fariborz Jahanian2010-01-251-2/+2
| | | | | | (fixes radar 7574896). llvm-svn: 94434
* Move BugReporter.h, PathDiagnostic.h, and BugType.h to ↵Ted Kremenek2010-01-2528-37/+37
| | | | | | 'include/Checker/BugReporter' llvm-svn: 94428
* Code simplification; this should have no visible effects.Eli Friedman2010-01-251-33/+2
| | | | llvm-svn: 94427
* Move the type specifier location for elaborated-type-specifiers fromDouglas Gregor2010-01-252-3/+9
| | | | | | | the tag kind (union, struct, class, enum) over to the name of the tag, if there is a name, since most clients want to point at the name. llvm-svn: 94424
* Update C++ include paths for Exherbo, by Ingmar Vanhassel.Benjamin Kramer2010-01-251-3/+3
| | | | llvm-svn: 94420
* Add missing file.Ted Kremenek2010-01-251-0/+21
| | | | llvm-svn: 94407
* Split libAnalysis into two libraries: libAnalysis and libChecker.Ted Kremenek2010-01-2575-242/+226
| | | | | | | | | | | | | | | | | | | | | | | | | (1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
* fix rdar://7556129 a crash in blocks debug info codegen.Chris Lattner2010-01-251-2/+3
| | | | llvm-svn: 94402
* simplify code.Chris Lattner2010-01-252-23/+13
| | | | llvm-svn: 94401
* ASTUnit: Don't check that input files exist when parsing ASTs from the commandDaniel Dunbar2010-01-252-6/+9
| | | | | | | line -- they may be remapped (fake) files. This is useful for testing parsing entirely from memory. llvm-svn: 94395
* -fno-rtti is now the default.Chris Lattner2010-01-2411-11/+0
| | | | llvm-svn: 94379
* Implement [dcl.fct.spec]p6.Anders Carlsson2010-01-241-0/+22
| | | | llvm-svn: 94365
* Implement instantiation of AsmStmts (Crazy, I know)Anders Carlsson2010-01-245-7/+92
| | | | llvm-svn: 94361
* Mangle static variables with an extra name to distinguish them from ↵Alexis Hunt2010-01-241-6/+11
| | | | | | | | non-static variables in the same TU. Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix. llvm-svn: 94352
* fix PR6034, a crash on invalid where the switch stack would get Chris Lattner2010-01-243-8/+20
| | | | | | unbalanced. llvm-svn: 94347
* Fix a nasty bug where temporaries weren't marked as being conditional in ↵Anders Carlsson2010-01-242-0/+11
| | | | | | some cases. llvm-svn: 94341
* Use new initialization code when dealing with [dcl.init.aggr]p12. This fixes ↵Anders Carlsson2010-01-241-16/+28
| | | | | | the bug where array elements and member initializers weren't copied correctly. llvm-svn: 94340
* Change all InitializedEntity pointers over to be references.Anders Carlsson2010-01-231-137/+81
| | | | llvm-svn: 94335
* Start passing InitializedEntity to CheckDesignatedInitializer.Anders Carlsson2010-01-231-9/+22
| | | | llvm-svn: 94334
* Preserve access for enum constants during template instantiation.John McCall2010-01-231-0/+1
| | | | llvm-svn: 94333
* More init work, adding more entity parameters.Anders Carlsson2010-01-231-10/+27
| | | | llvm-svn: 94332
* Use the new init code for member subobjects.Anders Carlsson2010-01-231-6/+18
| | | | llvm-svn: 94329
* Switch some array initialization over to the new init code.Anders Carlsson2010-01-231-7/+22
| | | | llvm-svn: 94327
* Baby steps towards migrating the InitListChecker over to the new ↵Anders Carlsson2010-01-231-33/+65
| | | | | | initialization code. Pass an InitializedEntity pointer through to most init checker functions. Right now, it's ignored everywhere except when initializing vectors in C++. llvm-svn: 94325
* When an InitializedEntity is passed to CheckSingleInitializer, call the new ↵Anders Carlsson2010-01-231-22/+36
| | | | | | Sema::PerformCopyInitialization overload. llvm-svn: 94324
* Add bzero builtin; this should help codegen quality for code using thisEli Friedman2010-01-231-0/+1
| | | | | | function. llvm-svn: 94320
* Change CheckSingleInitializer to take/return OwningExprResults instead. No ↵Anders Carlsson2010-01-231-24/+46
| | | | | | functionality change. llvm-svn: 94316
* Simplify code with StringRef.Benjamin Kramer2010-01-231-6/+5
| | | | llvm-svn: 94314
* No need to terminate this buffer.Benjamin Kramer2010-01-231-4/+3
| | | | llvm-svn: 94313
* Produce a special diagnostic when users call a function with an argument ofJohn McCall2010-01-231-1/+16
| | | | | | | | | | | | | | | | incomplete type (or a pointer/reference to such). The causes of this problem are different enough to justify a different "design" for the diagnostic. Most notably, it doesn't give an operand index: it's usually pretty obvious which operand is the problem, it adds a lot of clutter to mention it, and the fix is usually in a different part of the file anyway. This is yet another diagnostic that should really have an analogue in the non-overloaded case --- which should be much easier to write because of the weaker space constraints. llvm-svn: 94303
* Fix the EntityKind order so that all entity kinds that can be copied (using ↵Anders Carlsson2010-01-231-5/+5
| | | | | | copy constructors) come first. Also, fix a bug where EK_New was left out of the err_init_conversion_failed diagnostic (It is now reported as 'new value'). Please review Doug :) llvm-svn: 94289
* During overload resolution diagnostics, sort non-viable candidates by the ↵John McCall2010-01-232-5/+122
| | | | | | | | | | | | | quality of their conversions. To make this work, fill out all conversions for all candidates (but only when diagnosing overload failure). Split out a few cases from ovl_fail_bad_conversion which didn't actually involve a failed argument conversion. I'm pretty sure this is not a well-founded ordering, but I'm not sure it matters. llvm-svn: 94283
* Separate EK_ArrayOrVectorElement into EK_ArrayElement and EK_VectorElement; ↵Anders Carlsson2010-01-232-12/+24
| | | | | | arrays and vectors are pretty different beasts in C++. Doug, please review/comment. llvm-svn: 94279
* Created __builtin___NSStringMakeConstantString() builtin, which generates ↵David Chisnall2010-01-239-20/+49
| | | | | | constant Objective-C strings. llvm-svn: 94274
* Rename getClangFullVendorVersion() to getClangFullVersion().Ted Kremenek2010-01-232-2/+2
| | | | llvm-svn: 94273
* Implement elementary access control.John McCall2010-01-237-18/+180
| | | | llvm-svn: 94268
* Extend clang_createTranslationUnitFromSourceFile() to support creatingDouglas Gregor2010-01-232-12/+61
| | | | | | translation units that include unsaved files. llvm-svn: 94258
* outside a method, 'super' should resolve in a normal name look upFariborz Jahanian2010-01-221-1/+11
| | | | | | to mimic gcc's behavior. Fixes radar 7400691. llvm-svn: 94246
* Add 'clang_getClangVersion()' function to CIndex. This exposes the full ↵Ted Kremenek2010-01-221-2/+2
| | | | | | Clang version string through the CIndex API. llvm-svn: 94242
* Move version string generation (e.g., "clang 1.1 ...") to ↵Ted Kremenek2010-01-224-16/+23
| | | | | | libBasic/Version.cpp, getClangFullVendorVersion(). llvm-svn: 94235
* (1) Rename getClangSubversionRevision() to getClangRevision(), andTed Kremenek2010-01-224-22/+30
| | | | | | | | | | | | | | | | | have it return a StringRef instead of an integer (to be more VCS agnostic). (2) Add getClangFullRepositoryVersion(), which contains an amalgamation of the repository name and the revision. (3) Change PCH to only emit the string returned by getClangFullRepositoryVersion() instead of also emitting the value of getClangSubversionRevision() (which has been removed). This is functionally equivalent. More cleanup to version string generation pending... llvm-svn: 94231
* ui64, etc. are valid VS suffixes.Fariborz Jahanian2010-01-221-1/+1
| | | | | | Fixes radar 7562363. llvm-svn: 94224
* Rename pch::SVN_BRANCH_REVISION to pch::VERSION_CONTROL_BRANCH_REVISION.Ted Kremenek2010-01-222-4/+4
| | | | llvm-svn: 94214
* Rename getClangSubversionPath() -> getClangRepositoryPath() and have it ↵Ted Kremenek2010-01-224-6/+9
| | | | | | return a StringRef. llvm-svn: 94213
* Be sure to select primary bases among the nearly empties in preorder,Mike Stump2010-01-221-0/+5
| | | | | | | not just among the direct bases. Before we where missing nearly empties that were bases of virtual base classes. llvm-svn: 94208
* Teach CIndex's cursor visitor to restrict its traversal to a specificDouglas Gregor2010-01-223-13/+17
| | | | | | | | | | | | | | region of interest (if provided). Implement clang_getCursor() in terms of this traversal rather than using the Index library; the unified cursor visitor is more complete, and will be The Way Forward. Minor other tweaks needed to make this work: - Extend Preprocessor::getLocForEndOfToken() to accept an offset from the end, making it easy to move to the last character in the token (rather than just past the end of the token). - In Lexer::MeasureTokenLength(), the length of whitespace is zero. llvm-svn: 94200
* Finish off fixing up debug information.Mike Stump2010-01-221-4/+4
| | | | llvm-svn: 94193
OpenPOWER on IntegriCloud