aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-10-29Implement overloading rules for reference bindingDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58381 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Make sure internally synthesized block pointer types are converted before ↵Steve Naroff
pretty printing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58380 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Temporary disable the const-object-declaration-without-initializer check, ↵Douglas Gregor
because it depends on linkage-specifier semantics we don't yet have git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58377 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Workaround an LLVM bug where inlining functions with debug info breaksDaniel Dunbar
code generation. - For now, disable running the always inliner pass (at -O0) if we are also generating debug information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Improve llvm-gcc compatibility, -Os implies -O2 (sortof).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Add notes for SCA.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58369 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Update FindSpecRefs to recognize named section references.Daniel Dunbar
- Unfortunately, I don't have an easy way to map from named sections to numbers nicely so they don't get page numbers or integrate in the list well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58368 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Fix for PR2966: va_start/va_end use the *address* of the Eli Friedman
va_list, not the value. Patch fixes an assert on x86-64 and a wrong-code bug on x86. I'm not completely sure, but I think it's a regression from r58306. Does anyone run regression tests regularly on x86-64? The crash should have been picked up there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58366 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Patch by Nikita Zhuk:Ted Kremenek
The attached patch adds additional checks to -warn-objc-missing-dealloc. It checks that all ivars which are used in implementation of synthesized properties are either a) released in dealloc if the property has retain" or "copy" attribute OR b) not released in dealloc if the property has "assign" attribute git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58363 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29IOServiceGetMatchingServices is a release function.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Choose CompileOptions (optimization passes) to match llvm-gcc moreDaniel Dunbar
closely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58361 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Fix mmintrin.h to use proper definition of functions taking noDaniel Dunbar
arguments. - More important than it looks, this inhibits trivial inlining otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Rename: AddDecl => BindDeclZhongxing Xu
BindDecl better describes what the function does: - Bind the VarDecl to its memory region - Bind the memory region to some initial value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58359 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Tweak Sema::CheckReferenceInit so that it (optionally) computes an Douglas Gregor
ImplicitConversionSequence and, when doing so, following the specific rules of [over.best.ics]. The computation of the implicit conversion sequences implements C++ [over.ics.ref], but we do not (yet) have ranking for implicit conversion sequences that use reference binding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58357 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29MemSpaceRegions could be uninitialized. We only require R is a real region.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58356 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Implement initialization of a reference (C++ [dcl.init.ref]) as partDouglas Gregor
of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58353 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28.s files don't require the preprocessor, patch by Roman Divacky!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28More changes necessary to integrate the objc and blocks rewriters.Steve Naroff
With this commit, stuff like this is very close to working... [foo barf:^(int){ printf("whatever\n"); }]; Here is what is currently translates to... ((id (*)(id, SEL, void (^)(int)))(void *)objc_msgSend)((id)foo, sel_registerName("barf:"), (void (*)(int))__main_block_func_0); I just need make sure the funky cast on objc_msgSend() is converted from "void (^)(int)" to "void (*)(int)". Since the cast doesn't appear in the source code, it needs to be converted in RewriteObjC::SynthMessageExpr(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58348 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Minor UI enhancement:Ted Kremenek
(1) when all of the bug category boxes are checked, automatically check "All Bugs" (2) when any of the bug category boxes are unchecked, automatically uncheck "All Bugs" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58346 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Patch by Nikita Zhuk:Ted Kremenek
The attached patch adds a checkbox to the scan-build summary report, which toggles all other checkboxes' states. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58344 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Access pass manager consistently.Daniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-2880-col fixes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58341 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Rename ExplicitCCastExpr to CStyleCastExprDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58331 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Replace a dyn_cast with a cast when we know the exact typeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Add newline.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Update random notes.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58321 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Add isGlobalsRegion() predicate to MemRegionManager.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28clarify comment, rename argument to avoid a subtle conflictChris Lattner
with an ivar that wasn't a bug but was confusing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Call llvm_shutdown() on (normal) termination. This makes --time-passes usable.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58308 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Don't run the verifier as part of IRgen, this is now down (per module)Daniel Dunbar
in the driver (this means we no longer run the verifier per function, however). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58307 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Improve our handling of (C++) references within Clang. Specifically:Douglas Gregor
- Do not allow expressions to ever have reference type - Extend Expr::isLvalue to handle more cases where having written a reference into the source implies that the expression is an lvalue (e.g., function calls, C++ casts). - Make GRExprEngine::VisitCall treat the call arguments as lvalues when they are being bound to a reference parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58306 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Initialize Suffix and Prefix to 0, even with a bad entry. Removes an ↵Ted Kremenek
uninitialized value warning from gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58305 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Add attribute always_inline support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58304 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28Mark mmintrin functions static inline, this ensures they don't end upDaniel Dunbar
being emitted unless needed and doesn't inhibit inlining. - Can be fixed once we implement C99 inline semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58303 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27- Fix type-punning warning in SVals.cpp by using a real iterator class for ↵Ted Kremenek
symbol_iterator. - Add symbol_iterator support for SymbolicRegions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58300 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Remove type-punning warning in GRExprEngine. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58292 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Skip random pathname characters better. I had a 5 in mine.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58291 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Add test case to exercise IRgen "unsupported" path (mostly cleanup).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58286 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27With -verify, only exit early on failure.Daniel Dunbar
- Nice if -verify test exercise the various cleanup functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Remove unneeded CheckASTConsumer function.Daniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58282 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Comment fix, ParseAST does not take ownership of the consumer.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58281 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Add 'expected-warning' for braces around scalar initializerTed Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58280 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Added compound literal test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58279 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Added preliminary support for CompoundLiterals in the static analyzer:Ted Kremenek
- GRExprEngine::VisitCompoundLiteral... (1) visits the initializer list (generating ExplodedNodes) (2) creates a CompoundMemRegion for the literal (3) creates a new state with the bound literal values using GRStateManager::BindCompoundLiteral - GRStateManager::BindCompoundLiteral simply calls StoreManager::BindCompoundLiteral to get a new store and returns a persistent GRState with that store. - BasicStore::BindCompoundLiteral simply returns the same store, as it doesn't handle field sensitivity - RegionStore::BindCompoundLiteral currently fires an assert (pending discussion of how to best implement mappings for CompoundLiteralRegion). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58277 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58276 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Pull determination of the super region for a VarRegion into a single ↵Ted Kremenek
getVarRegion() method. This provides a common clean API for clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58272 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Added CompoundLiteralRegion to represent the (temporary) memory allocated ↵Ted Kremenek
for a compound literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58270 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27Fix testsuite regression for "crash.m".Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58269 91177308-0d34-0410-b5e6-96231b3b80d8