- Feb 14, 2009
-
-
Douglas Gregor authored
Add -ffreestanding to suppress the implicit declaration of library builtins like printf and malloc. Fixes PR3586 llvm-svn: 64566
-
Mike Stump authored
llvm-svn: 64565
-
Cedric Venet authored
Correct two files with inconsistent lines endings. llvm-svn: 64564
-
Fariborz Jahanian authored
which consequently caused a Seg fault. during meta-data generation. It also addresses an issue related to late binding of newly synthesize ivars (when we support it). llvm-svn: 64563
-
Anders Carlsson authored
llvm-svn: 64562
-
Douglas Gregor authored
about, whether they are builtins or not. Use this to add the appropriate "format" attribute to NSLog, NSLogv, asprintf, and vasprintf, and to translate builtin attributes (from Builtins.def) into actual attributes on the function declaration. Use the "printf" format attribute on function declarations to determine whether we should do format string checking, rather than looking at an ad hoc list of builtins and "known" function names. Be a bit more careful about when we consider a function a "builtin" in C++. llvm-svn: 64561
-
Anders Carlsson authored
llvm-svn: 64560
-
Mike Stump authored
llvm-svn: 64559
-
Ted Kremenek authored
ConstraintManager: - constify getSymVal() BasicConstraintManager: - Pull out logic that would be common to ConstraintManagers of a similar nature and put them in a parent class called 'SimpleConstraintManager'. RangeConstraintManager: - Added a new prototype ConstraintManager to track ranges of variables! This ConstraintManager keeps tracks of ranges of concrete integers that a symbolic integer may have. AnalysisConsumer: - Add driver option to use RangeConstraintManager with GRExprEngine-based analyses. llvm-svn: 64558
-
Anton Korobeynikov authored
llvm-svn: 64557
-
Cedric Venet authored
llvm-svn: 64556
-
Cedric Venet authored
llvm-svn: 64555
-
Cedric Venet authored
Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. llvm-svn: 64554
-
Argyrios Kyrtzidis authored
llvm-svn: 64553
-
Duncan Sands authored
intrinsics to any IntrWriteArgMem intrinsics. llvm-svn: 64551
-
Mikhail Glushenkov authored
llvm-svn: 64550
-
Chris Lattner authored
llvm-svn: 64549
-
Chris Lattner authored
llvm-svn: 64548
-
Chris Lattner authored
llvm-svn: 64547
-
Chris Lattner authored
We don't have "zero cost" exceptions for ObjC yet, so there is no codegen support required. llvm-svn: 64546
-
Chris Lattner authored
llvm-svn: 64545
-
Chris Lattner authored
1) implement parser and sema support for reading and verifying attribute(warnunusedresult). 2) rename hasLocalSideEffect to isUnusedResultAWarning, inverting the sense of its result. 3) extend isUnusedResultAWarning to directly return the loc and range info that should be reported to the user. Make it substantially more precise in some cases than what was previously reported. 4) teach isUnusedResultAWarning about CallExpr to decls that are pure/const/warnunusedresult, fixing a fixme. 5) change warn_attribute_wrong_decl_type to not pass in english strings, instead, pass in integers and use %select. llvm-svn: 64543
-
Chris Lattner authored
llvm-svn: 64542
-
Ted Kremenek authored
llvm-svn: 64541
-
Duncan Sands authored
now that this no longer implies nocapture. llvm-svn: 64540
-
Duncan Sands authored
taken advantage of anywhere. Change the definition of IntrWriteArgMem to no longer imply nocapture, and explicitly add nocapture attributes everywhere (well, not quite everywhere, because some of these intrinsics did capture their arguments!). Also, make clear that the lack of other side-effects does not exclude doing volatile loads or stores - the atomic intrinsics do these, yet they are all marked IntrWriteArgMem (this change is safe because nothing exploited it). llvm-svn: 64539
-
Anders Carlsson authored
Don't ignore the const attribute - we even have CG support for that. Do ignore the malloc attribute however. llvm-svn: 64538
-
Anders Carlsson authored
llvm-svn: 64537
-
Chris Lattner authored
llvm-svn: 64536
-
Dan Gohman authored
llvm-svn: 64535
-
Ted Kremenek authored
symbols from an SVal. - Fixed a bug in EnvironmentManager::RemoveDeadBindings() where it did not mark live all the symbols reachable from a live block-level expression. - Fixed a bug in the retain/release checker where it did not stop tracking symbols that 'escaped' via compound literals being assigned to something the BasicStoreManager didn't reason about. llvm-svn: 64534
-
Daniel Dunbar authored
ASTContext types. llvm-svn: 64533
-
Dan Gohman authored
- Test for signed and unsigned wrapping conditions, instead of just testing for non-negative induction ranges. - Handle loops with GT comparisons, in addition to LT comparisons. - Support more cases of induction variables that don't start at 0. llvm-svn: 64532
-
Dan Gohman authored
llvm-svn: 64531
-
Dan Gohman authored
No functionality change. llvm-svn: 64530
-
Daniel Dunbar authored
important for both keeping the generated LLVM simple and for ensuring that integer types are passed/promoted correctly. llvm-svn: 64529
-
Ted Kremenek authored
llvm-svn: 64527
-
Douglas Gregor authored
we can define builtins such as fprintf, vfprintf, and __builtin___fprintf_chk. Give a nice error message when we need to implicitly declare a function like fprintf. llvm-svn: 64526
-
Ted Kremenek authored
- Added a new 'node builder' class called GRStmtNodeBuilderRef (name may change). This is essentially a smart reference to a GRStmtNodeBuilder object that keeps track of the current context (predecessor node, GRExprEngine object, etc.) The idea is to gradually simplify the interface between GRExprEngine and GRTransferFuncs using this new builder (i.e., passing 1 argument instead of 5). It also handles some of the "auto-transition" for node creation, simplifying some of the logic in GRExprEngine itself. - Used GRStmtBuilderRef to replace GRTransferFuncs::EvalStore with GRTransferFuncs::EvalBind. The new EvalBind method will be used at any arbitrary places where a binding between a location and value takes place. Moreover, GRTransferFuncs no longer has the responsibility to request StoreManager to do the binding; this is now in GRExprEngine::EvalBind. All GRTransferFuncs::EvalBind does is checker-specific logic (which can be a no-op). llvm-svn: 64525
-
Anders Carlsson authored
llvm-svn: 64522
-