summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup/remove some parts of the lifetime region handling code in memdep and ↵Owen Anderson2009-12-024-44/+21
| | | | | | | | GVN, per Chris' comments. Adjust testcases to match. llvm-svn: 90304
* Fix another "operator delete missing" crash: make sure we don't checkEli Friedman2009-12-022-2/+14
| | | | | | | isVirtual() before we've actually calculated whether the destructor is virtual. llvm-svn: 90303
* Tweak test to check for a bit more.Eli Friedman2009-12-021-0/+1
| | | | llvm-svn: 90302
* Make sure to call AddOverriddenMethods for implicit copy assignment operators;Eli Friedman2009-12-022-0/+11
| | | | | | it's rare, but possible, for the difference to be significant. llvm-svn: 90301
* Extend the source manager with the ability to override the contents ofDouglas Gregor2009-12-027-144/+144
| | | | | | | | | | files with the contents of an arbitrary memory buffer. Use this new functionality to drastically clean up the way in which we handle file truncation for code-completion: all of the truncation/completion logic is now encapsulated in the preprocessor where it belongs (<rdar://problem/7434737>). llvm-svn: 90300
* factor some code better.Chris Lattner2009-12-021-10/+10
| | | | llvm-svn: 90299
* formatting cleanups.Chris Lattner2009-12-021-20/+22
| | | | llvm-svn: 90298
* tidy up, remove dependence on order of evaluation of function args from ↵Chris Lattner2009-12-021-15/+12
| | | | | | EmitMemCpy. llvm-svn: 90297
* Hard bifurcate the state into nil receiver and non-nil receiver, so thatZhongxing Xu2009-12-026-102/+98
| | | | | | | | | | | we don't need to use the DoneEvaluation hack when check for ObjCMessageExpr. PreVisitObjCMessageExpr() only checks for undefined receiver or arguments. Add checker interface EvalNilReceiver(). This is a 'once-and-done' interface. llvm-svn: 90296
* libFrontend depends on libDriver now.Zhongxing Xu2009-12-021-1/+1
| | | | llvm-svn: 90295
* Eliminate the unnecessary FirstFID cache variable from the source manager's ↵Douglas Gregor2009-12-022-11/+27
| | | | | | ContentCache llvm-svn: 90294
* merge sext-2 into sext.llChris Lattner2009-12-022-14/+12
| | | | llvm-svn: 90293
* rename testChris Lattner2009-12-021-0/+0
| | | | llvm-svn: 90292
* filecheckizeChris Lattner2009-12-021-15/+54
| | | | llvm-svn: 90291
* Fixed an assertion failure for tracking sext of a vector of integersMon P Wang2009-12-022-1/+15
| | | | llvm-svn: 90290
* Stop trying to analyze class-hierarchies for dependently-scoped id-expressions;John McCall2009-12-024-125/+127
| | | | | | | | | | | | | there's nothing interesting we can say now that we're correctly not requiring the qualifier to name a known base class in dependent contexts. Require scope specifiers on member access expressions to name complete types if they're not dependent; delay lookup when they are dependent. Use more appropriate diagnostics when qualified implicit member access expressions find declarations from unrelated classes. llvm-svn: 90289
* Add ASTUnit::LoadFromCommandLine, which creates an ASTUnit out of a list ofDaniel Dunbar2009-12-024-13/+98
| | | | | | | | | | | | | | (clang/driver) command line arguments (including the source file). - The arguments are expected to include the source file. - The idea is that even though this is a somewhat odd API, its the form which many tools can most easily use (for example, by interposing with the compiler). Also, switch index-test's -ast-from-source to use this entry point, and provide a -arg command line argument which can be used to test that the command line arguments are handled correctly. llvm-svn: 90288
* Driver: Add Command::Creator member variable, which tracks the tool that wasDaniel Dunbar2009-12-023-22/+30
| | | | | | used to create a particular command. llvm-svn: 90287
* Added an assert.Fariborz Jahanian2009-12-011-1/+4
| | | | llvm-svn: 90285
* Fix a code gen. crash synthesizing a destructor.Fariborz Jahanian2009-12-014-5/+26
| | | | | | Fixes pr5660. llvm-svn: 90283
* Add utility routine to create subprogram definition entry from subprogram ↵Devang Patel2009-12-012-0/+27
| | | | | | declaration entry. llvm-svn: 90282
* Reuse existing subprogram DIE.Devang Patel2009-12-011-2/+7
| | | | llvm-svn: 90281
* In SourceManager::isBeforeInTranslationUnit, if we are trying to compare two ↵Daniel Dunbar2009-12-011-24/+14
| | | | | | | | | | source locations with no common ancestor in the include stack, determine order by assuming memory buffers preceed files, and then that FileIDs are created in order. The later assumption is patently false, but this was already broken -- this situation is conceptually impossible, my feeling is we should fix SourceManager and friends to make it impossible in practice as well. However, we need to fix PR5662 and perhaps some other things involving memory buffers first. In the short term I'm pretty sure this is reliable. Chris, Argiris, is this going to break anything that wasn't already broken? llvm-svn: 90280
* Added dead-stores test cases that involve the use of blocks.Ted Kremenek2009-12-011-0/+36
| | | | llvm-svn: 90277
* pass the reason for failure up from MemoryBuffer and report itChris Lattner2009-12-016-14/+22
| | | | | | | | | | | | in diagnostics when we fail to open a file. This allows us to report things like: $ clang test.c -I. test.c:2:10: fatal error: error opening file './foo.h': Permission denied #include "foo.h" ^ llvm-svn: 90276
* return more useful error messages by using strerror to format errnoChris Lattner2009-12-011-3/+3
| | | | | | instead of returning an ambiguous reason. llvm-svn: 90275
* Add new test case file that focuses on testing analyzer support for blocks.Ted Kremenek2009-12-011-0/+69
| | | | llvm-svn: 90274
* Make EmitStoreOfScalar generate a more sane representation of boolean stores.Eli Friedman2009-12-011-6/+1
| | | | | | "Fixes" PR5645. llvm-svn: 90272
* Update per Bill's comments. Work in progress.Eric Christopher2009-12-011-8/+8
| | | | llvm-svn: 90271
* Fix IsProvablyNotDerivedFrom to always use record definitions when available.John McCall2009-12-012-5/+20
| | | | | | Gets clang-on-clang passing again. llvm-svn: 90270
* Fix PR5391: support early clobber physical register def tied with a use (ewwww)Evan Cheng2009-12-013-4/+50
| | | | | | | | - A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber. - If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range. - Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature". llvm-svn: 90269
* The minimum element size in BumpVector should be 1, not 0.Ted Kremenek2009-12-011-1/+1
| | | | llvm-svn: 90268
* Provide the correct vector size for referenced variables.Ted Kremenek2009-12-011-1/+1
| | | | llvm-svn: 90267
* Rework how we support C++ implicit member accesses. If we can resolve anJohn McCall2009-12-0111-315/+647
| | | | | | | | | | | | | | | implicit member access to a specific declaration, go ahead and create it as a DeclRefExpr or a MemberExpr (with implicit CXXThisExpr base) as appropriate. Otherwise, create an UnresolvedMemberExpr or DependentScopeMemberExpr with a null base expression. By representing implicit accesses directly in the AST, we get the ability to correctly delay the decision about whether it's actually an instance member access or not until resolution is complete. This permits us to correctly avoid diagnosing the 'problem' of 'MyType::foo()' where the relationship to the type isn't really known until instantiation. llvm-svn: 90266
* Add test case for PR5662.Daniel Dunbar2009-12-011-0/+12
| | | | llvm-svn: 90264
* ASTUnit: Make sure to preserve the TargetInfo for later use.Daniel Dunbar2009-12-011-2/+3
| | | | llvm-svn: 90263
* Fix typo.Daniel Dunbar2009-12-011-1/+1
| | | | llvm-svn: 90262
* Add {ExternalSemaSource,SemaConsumer}::ForgetSema callback, and update PCHReaderDaniel Dunbar2009-12-014-1/+17
| | | | | | to use it so it at least won't try to access Sema once it is gone. llvm-svn: 90261
* test case for IV-Users simplification loop improvementJim Grosbach2009-12-011-0/+128
| | | | llvm-svn: 90260
* rename some variables.Chris Lattner2009-12-011-13/+13
| | | | llvm-svn: 90258
* tidyChris Lattner2009-12-011-1/+3
| | | | llvm-svn: 90257
* Add edge source labels to SelectionDAG graphs, now that the graph printingDan Gohman2009-12-012-0/+10
| | | | | | | framework omits differentiated edge sources in the case where the labels are empty strings. llvm-svn: 90254
* Minor cleanups.Dan Gohman2009-12-011-9/+9
| | | | llvm-svn: 90253
* Trim an unnecessary #include.Dan Gohman2009-12-011-1/+0
| | | | llvm-svn: 90252
* Don't default warnings to ON on MSVC, the spew is enough to triple the build ↵Daniel Dunbar2009-12-011-1/+7
| | | | | | time. :/ llvm-svn: 90251
* Exit the command line into <built-in> instead of going directly from the ↵Rafael Espindola2009-12-011-0/+5
| | | | | | | | command line to the input file. We passed <built-in> on the way in, so we should pass it again on the way out. llvm-svn: 90250
* (objc2 nonfragile-abi specific). If the translation unit includes an ↵Fariborz Jahanian2009-12-012-12/+25
| | | | | | | | | implementation of a subclass (direct or indirect) of a weak_import root class, emit a weak reference for the root class's metaclass (should complete radar 6815425). llvm-svn: 90249
* Clear function specific containers while processing end of a function, even ↵Devang Patel2009-12-012-9/+24
| | | | | | if DW_TAG_subprogram for current function is not found. llvm-svn: 90247
* Thumb1 exception handling setjmpJim Grosbach2009-12-013-0/+42
| | | | llvm-svn: 90246
* Fix early-return logic in scanReachableSymbols() to match the rest of the ↵Ted Kremenek2009-12-011-6/+6
| | | | | | recursive logic in the methods of ScanReachableSymbols. llvm-svn: 90245
OpenPOWER on IntegriCloud