534 Commits (ccb51912e128f1834db8f4e1d83b51cb7d61d8f6)

Author SHA1 Message Date
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
9 years ago
Dulma Churchill 8d279748fa Adding a key to the lint issues
9 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
9 years ago
Martino Luca adb0ef8a78 Alphabetize CIssue
9 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
9 years ago
Dulma Churchill fa8ae3e5e9 In the new framework where we go through every declaration we don't need a special case for properties anymore
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Jules Villard fb7aed07c6 typo and whitespace cleanup in cFrontend_config
9 years ago
Andrzej Kotulski 0aa5101a05 Replace space with _ in type names
9 years ago
Andrzej Kotulski 5ed50f5a97 Keep more precise information in constructor's var_exp_typ
9 years ago
Andrzej Kotulski ed3470c30e unify handling of many special cases in callExpr_trans
9 years ago
Dulma Churchill fb607ef388 Use the block captured variables as mangled
9 years ago
Jules Villard 9378913223 add constructor info to c++ methods
9 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
9 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
9 years ago
Andrzej Kotulski f40033fc5f Update fcp
9 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs
9 years ago
Andrzej Kotulski b8044c6b65 Use mangled names instead of function type for mangling
9 years ago
Andrzej Kotulski e61b6fe719 Use pointers to decls instead of class names when creating a type
9 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
9 years ago
Dulma Churchill 1617d470f1 Creating a specific type for frontend issues
9 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind
9 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module
9 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module
9 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module
9 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module
9 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module
9 years ago
Josh Berdine 32d09545e2 Closure values are not constants
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Dulma Churchill bcb1422a9a Implement direct atomic var check with the new ivar to property map
9 years ago
Andrzej Kotulski 046654a9c0 Fix translation of unary operator! for all integral types
9 years ago
Dulma Churchill 6ac4db7113 Change the check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK to use only the clang ast
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
9 years ago
Andrzej Kotulski 1f089d0e4b update fcp commit
9 years ago
Andrzej Kotulski e46cddb52b Use mangling in function parameters to encode its position
9 years ago
Dulma Churchill c06795e631 Fixing the treatment of annotations in the clang frontend
9 years ago
Dulma Churchill edc57f70f5 Translate CXXNoexceptExpr
9 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr
9 years ago
Dulma Churchill 52e037f77c Translate AttributedStmt and Fallthrough attribute
9 years ago
Dulma Churchill 7f3e99c3d4 Fix assert false when calling zero_value_of_numerical_type
9 years ago
Andrzej Kotulski 14f5f6b8e4 Update clang and raise buffer size
9 years ago
Andrzej Kotulski 4d90ef99f0 Fix custom type_ptr to char* and char
9 years ago
Josh Berdine bbec166174 Refactor Sil.typ into separate Typ module
9 years ago
Josh Berdine a6a766b5f5 Refactor Sil.Int into separate IntLit module
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Dulma Churchill a68c45c2a9 Fix dyspatch_async calls
9 years ago
Josh Berdine a85a88d145 Extend Sizeof with final extensible array length
9 years ago
Dulma Churchill 5ed970efa9 Fix the return stmt that would not be the last instruction in the path in some cases
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Dulma Churchill bf9d194e43 Translate builtin_expect as its first argument. Avoids weird symb. exec. problems
9 years ago
Sam Blackshear 83a14a3541 changing API to take pdesc instead of cfg
9 years ago
Dino Distefano daf043bff1 Fixing shortcircuit in binary operator.
9 years ago
Andrzej Kotulski 1a98bc6492 update facebook-clang-plugins
9 years ago
Andrzej Kotulski 3699b9c0dc Fix translation of passing struct parameters by value
9 years ago
Dulma Churchill de615594df Skip whitelisted functions form trace
9 years ago
Jules Villard 8f154144c0 add skip_clang_analysis_in_path from inferconfig to the CLI
9 years ago
Jules Villard aec3d0ccdf add skip_translation_headers from inferconfig to the CLI
9 years ago
Dulma Churchill 83e6ab1a20 Blacklist translation of files in inferconfig
9 years ago
Dulma Churchill 93fcf7be9f Skip cpp models from traces
9 years ago
Dino Distefano aae1dbac3d Skipping reporting global variable warning on known non-expensive cases.
9 years ago
Josh Berdine 88a2da91fc Add `make -C infer/src test_build` to `make test`
9 years ago
Dulma Churchill 6d8d9f56c2 Reducing the scope of all frontend checks on declarations
9 years ago
Andrzej Kotulski bfce6bac47 Model empty vector access
9 years ago
Dulma Churchill 6c7c18e920 Model other functions from glog library
9 years ago
Dulma Churchill 9b1bd712b5 Marking getters/setters as builtins only inside the definition of the class
9 years ago
Josh Berdine 3e2fa59262 Reimplement command line options
9 years ago
Dulma Churchill d73d4ea177 Getting a more precise type when creating ObjC objects
9 years ago
Sam Blackshear c92bbf362b removing need to pass around lists of temporary id's in the frontend
9 years ago
Sam Blackshear 4fd2f52fe8 new analysis for adding nullify's
9 years ago
Dulma Churchill c3fbd5af29 Model CHECK macro and fix the model for builtin_expect
9 years ago
Dino Distefano 83c1bbc832 Implementing a checker to warn initialization of global variables with mehod calls.
9 years ago
Dulma Rodriguez 7671fe755f Skip translation and checks from headers in specified folders
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Dulma Rodriguez be91fb5429 Fix toll free bridging
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dulma Rodriguez 8a1288860b Make alloc save a given procanem in the path
9 years ago
Dino Distefano b7ab1760a6 Translation of lambda [part one]
9 years ago
Jules Villard 70c8494625 opacify the type of node ids
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez d366bb970b Create the procdescs for frontend checks only when needed
9 years ago
Josh Berdine a5e1a6c77e Report time and memory stats
9 years ago
Dulma Rodriguez 6b2b76d956 Translate dynamic arrays to cpp classes
9 years ago
Josh Berdine 5481f14768 Remove dead code introduced in 41e99357
9 years ago
Andrzej Kotulski 590f73b59f Translate functions/methods from headers when they are referenced
9 years ago
Josh Berdine e1020c8ebe Remove -open(Utils) compile flag hack
9 years ago
Andrzej Kotulski 037b27d465 Put goto label map into Context instead of one global map
9 years ago
Andrzej Kotulski e495a81942 Remove parent_dec from translate_one_decl
9 years ago
Andrzej Kotulski 64bb3b62b3 Use variable stmt location info in init_res_trans
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Dulma Rodriguez 44491679cf Fix broken tests in master
9 years ago
Sam Blackshear e9cb9f4352 assign pointer type checker
9 years ago
Cristiano Calcagno 031f433b15 Print timing information in InferClang debug mode.
9 years ago
Cristiano Calcagno a386cf7dbf Fix quadratic behaviour of collect_res_trans.
9 years ago
Josh Berdine fd062cf736 Refactor SymExec.ModelBuiltins into toplevel module
9 years ago
Cristiano Calcagno 509a666ee0 Refactor Sil.pvar into a separate module.
9 years ago
Cristiano Calcagno 53702e43e8 Created IR folder for the intermediate representaion files.
9 years ago
Sam Blackshear c03f39f20c Fixing some issues with Obj-C blocks
9 years ago
Josh Berdine 2dcd93204c Refactor SymExec.Builtin into toplevel module
9 years ago
Dulma Rodriguez c0e5365458 Translate delete of arrays with the correct destructor
9 years ago
Dino Distefano b7e93737df This diff exclude names containing queue from the strong delegate warning
9 years ago
Dulma Rodriguez 0c5bca7a4b Translate arrays created with new
9 years ago
Dulma Rodriguez c6524d799f Translate C++ constructors after new
9 years ago
Dino Distefano fc5d4897a5 Registered Observer check done by front-end
9 years ago
Cristiano Calcagno c198d76631 Clean up the Procname module, and remove remaining assert false
9 years ago
Dulma Rodriguez 9f7bfea98f Translate CXXStdInitializerListExpr
9 years ago
Sam Blackshear f9bffe1e87 move remove_tmps and add_abstraction steps into the pre-analysis
9 years ago
Andrzej Kotulski 0a32ff4400 Translate std::move from system headers to improve analysis quality
9 years ago
Sam Blackshear ab1ac822f6 Replacing Ctuple with Cclosure
9 years ago
Josh Berdine 66d865ff6a Accept command line options via environment vars
9 years ago
Dulma Rodriguez a62ccc7a05 Fixing init list expr when there is no variable or compound literal expression
9 years ago
Dulma Rodriguez 7ffb635719 Restore translating C++ methods only in cxx experimental mode
9 years ago
Dulma Rodriguez 10a14a7324 Translate CXXTypeidExpr
9 years ago
Dino Distefano 45ae457150 Renamed files to reflect the new structure of the translation.
9 years ago
Dino Distefano ce0ae5c821 Refactoring in preparation of implementing C++ lambda
9 years ago
Dulma Rodriguez 3d4942a748 Restore not translating header in testing mode
9 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
9 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
9 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
9 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
9 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
9 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
9 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
9 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
9 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
9 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
9 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
9 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
9 years ago
Sam Blackshear 878bf938eb kill Tenum
9 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
9 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
9 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
9 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
9 years ago
Dulma Rodriguez 06f40efab8 Add extra dereference to the variable of the method call to find null dereferences when a method called with null.
9 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
9 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
10 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
10 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
10 years ago
Andrzej Kotulski 9163b319a6 Fix whitespace issues from last diff
10 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
10 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
10 years ago
Josh Berdine 02056079cf Warn of unused values
10 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
10 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
10 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
10 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
10 years ago
Josh Berdine b155168083 Open Utils implicitly
10 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
10 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
10 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
10 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
10 years ago
Dulma Rodriguez 5db8fa4539 Remove tvars from the tenv
10 years ago
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
10 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
10 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
10 years ago
Cristiano Calcagno d31b041fba Replace CRC module with Digest.
10 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
10 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
10 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
10 years ago
Andrzej Kotulski 1d6aea0fb9 Add typ to trans_state.var_exp
10 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
10 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
10 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
10 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
10 years ago
Cristiano Calcagno 58611b15d0 Cleanup of CMethod_signature.
10 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
10 years ago
Andrzej Kotulski b08acedf29 Use clang for default argument resolution
10 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
10 years ago
Andrzej Kotulski 262796d3bf Distinguish between C++ and objc class types
10 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
10 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
10 years ago
Andrzej Kotulski 3dcd6490c2 Translate reinterpret_cast and const_cast
10 years ago
Cristiano Calcagno 7673d94600 Distinguish between class kinds: CPP, Java, Objc
10 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
10 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
10 years ago
Andrzej Kotulski e329916e5b Add basic translation of CXXBindTemporaryExpr
10 years ago
Andrzej Kotulski 1fe920c0c5 Cleanup code triggering code translation
10 years ago
Andrzej Kotulski ec80d40bdd Populate return parameter when returning + turn on new feature for C/C++
10 years ago
Andrzej Kotulski 61de633647 Add information whether translated method has return parameter
10 years ago
Andrzej Kotulski 2c8238849d Add return parameter to function/method call
10 years ago
Andrzej Kotulski 58be5d0eb0 Add return parameter to functions returning structs
10 years ago
jrm 18668a41ce simplify the API to create procedure descriptions
10 years ago
Cristiano Calcagno 162dc42b5b Use a record for struct types instead of a 7-tuple.
10 years ago
Andrzej Kotulski a317ac38f2 Use init_exp in InitListExpr and CompoundLiteralExpr
10 years ago
Andrzej Kotulski 5eb7d9e994 Add init_pvar to trans_state and use it in c++ constructor
10 years ago
Dulma Rodriguez f379383b04 Adding support for annotations for cpp classes to separate them in the backend from objc classes
10 years ago
Andrzej Kotulski fcb561a1ee Use Sil.exp instead of var_res_trans to get initialized variable
10 years ago
Jules Villard 59a3b9c22a add temp var from compoundLiteralExpr to the function locals
10 years ago
Jules Villard 7b9b6841d2 translate CompoundLiteralExpr
10 years ago
Dulma Rodriguez 7855d6ecfa Fix the order of the translated stmts inside compound stmt
10 years ago
Dino Distefano 377893637a Direct property access should not fire on dealloc methods
10 years ago
Dulma Rodriguez c88ac54613 Improving the line number information in the string delegate warning check
10 years ago
Dino Distefano d4d5c3bb2f Implemented new check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK
10 years ago
Dulma Rodriguez 432dd28731 Improving the line number information in the string delegate warning check
10 years ago
Andrzej Kotulski 0ae9b0e7a1 Change the way nested structs are translated
10 years ago
Andrzej Kotulski df192d06c3 Use ints as clang pointers
10 years ago