1047 Commits (6f3719f5f2f428c5ce53a1190d99bffdb6decad8)

Author SHA1 Message Date
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Martino Luca cd49acc1cf Refactor directory traversal into its own utility function
7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
7 years ago
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted
7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'.
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Dulma Churchill 18782be7c9 [linters] Adding a new predicate for in an ObjC class that is subclass of some class
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Dominic Cooney c542b65a42 Add a lint rule warning about ObjC custom setters for weak properties
7 years ago
Jules Villard ed55fc63f2 [clang] use a more efficient `var_decl_info`
7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
7 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file
7 years ago
Dulma Churchill f739d73ed5 [utils] Move function for appending lists without duplicates to the IList method
7 years ago
Jules Villard 37847cc10a [clang] add infer C++ #include models when siof is enabled
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments
7 years ago
Jules Villard 6c9cee700b [clang] do not use C++ header models unless biabduction or inferbo is active
7 years ago
Jules Villard 61b2c9105b [cli] crash if capture happens with conflicting C++ header models
7 years ago
Jules Villard 71ed554c57 [cli] introduce `--linters` and `--capture`
7 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks
7 years ago
Jeremy Dubreil a671307363 [infer][clang] fix test failures caused by unused code compiler warnings
7 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store.
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Martino Luca 3df1e52928 [Buck][compilation-database] Do not run clang command that cannot be attached to the frontend
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Dulma Churchill e23153c1d9 [clang] Refactor the translation of allocation functions
7 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations
7 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr)
7 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes
7 years ago
Dulma Churchill 3924d25a25 [clang] Remove two more cases of assert false cases that happen in the apps
7 years ago
Jules Villard 810d756f79 [clang] split StringLiterals into chunks
7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types
7 years ago
Dulma Churchill ca23ed5f5f [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE when the variable has __block attribute
7 years ago
Dulma Churchill bb3201a8e8 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for variables of type std:vector
7 years ago
Dulma Churchill e5007cf2e0 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for the loop indices
7 years ago
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Martino Luca 7bd2cedb1d [fcp] Add ooti_ prefix to objc_object_type_info type
7 years ago
Jules Villard f3d98eb807 [time] do not rely on gettimeofday for measuring time
7 years ago
Jules Villard 1b6c77b624 [clang] mark crash sites as `unimplemented` or `incorrect_assumption`
7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Martino Luca 03a727143a Remove previous_decl field from ast_expressions.ml
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Dulma Churchill de162c86ab [cleanup] Do not create captured folders when only linting
7 years ago
Dulma Churchill 652af47da7 [linters] Add transition to parameters by position in the parameters list
7 years ago
Dino Distefano d694038abd New test for the tableaux method.
7 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
7 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
7 years ago
Dulma Churchill 234d3627b6 [clang] Support the new @available expression in ObjC in the unavailable API check
7 years ago
Jules Villard cb8e75be85 [clang] do without unstructured type strings
7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
7 years ago
Dulma Churchill 5569ee751a [linters] Add transitions Fields and FieldName
7 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields
7 years ago
Dino Distefano f3b158a158 Fix use of SEL in AL
7 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Jules Villard 2fff3b0733 [clang] distinguish genuine internal failures from unimplemented features
7 years ago
Sam Blackshear faf04af1f4 [cleanup] kill some debug code
7 years ago
Daiva Naudziuniene 81c0fe6754 [clangplugin] Updating infer to work with the latest clang plugin version
7 years ago
Dulma Churchill d8765d1d44 [linters] Include only base name of ObjC methods in the linters bug hash
7 years ago
Dulma Churchill b99b653ffa [linters] Fix the computing of the successors of method declarations
7 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters
7 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
7 years ago
Dino Distefano 8cad1b5e69 Remove ETX operator from AL
7 years ago
Jules Villard c07cd81392 [log] better exception reraising
7 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
7 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
7 years ago
Dulma Churchill 7e3298711c [AL] Compute a witness child node when computing formulas to be used for more precise bug hashing
7 years ago
Jules Villard 5b3c2c0901 [clang] fix evaluation order bug discovered by building with OCaml 4.05.0
7 years ago
Martino Luca 740e9973d6 Replace existing calls to `exit` with InferExit exceptions to better control flow of executions
7 years ago
Martino Luca e247492901 [AL] Validate AST node names in AL source files
7 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
7 years ago
Daiva Naudziuniene 5ee61a4019 [destructors] Refactoring destructor translation.
7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
7 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
7 years ago
Sam Blackshear b4c0ddcff3 [cleanup] kill `Config.frontend_debug`
7 years ago
Dulma Churchill 47221ab273 [linters] Add support for Cxx structs when querying types
7 years ago
Dulma Churchill ecd79a56d3 [linters] Support transition Parameters also by ObjC method calls
7 years ago
Dulma Churchill 47088e078e [linters] Use the sdk version by path in the error message of unavailable api check
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
7 years ago
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
7 years ago
Daiva Naudziuniene 02c2e2b5bf Added a function to test if procdesc is a destructor.
7 years ago
Dulma Churchill 9f19f12a1b [linters] Fix incorrect assert false in Component linters
7 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
7 years ago
Martino Luca e8a0599850 [AL] add `--linters-validate-syntax-only` to check whether there are any syntax errors in AL files
7 years ago
Martino Luca 3576f2f7cc [AL] New exception ALFileException with source-location info
7 years ago
Martino Luca 98b1f74071 Refactor AL parser's exception into a separate module
7 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0
7 years ago
Dulma Churchill a3309926b3 [linters] Add transition parameter with label for ObjC method declarations or method calls
7 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path
7 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
7 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
7 years ago
Dulma Churchill 336f6f8dff [linters] Support reference types in the linters type parser
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Martino Luca 17cc5ec7be Remove unsupported `index-store-path` argument from clang commands
7 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL
7 years ago
Andrzej Kotulski de6c396800 [docs] Extend src/clang/README.md with info about AST
7 years ago
Jules Villard f5ee50e7b5 [graphql] kill unused files
7 years ago
Andrzej Kotulski 6ca447fa6a [C] Fix issue with enum initialization lists
7 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
7 years ago
Sam Blackshear 73dba57e45 [cleanup] remove useless append_instrs on empty instruction list
7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
7 years ago
Dulma Churchill 00c1b354e1 [linters] Improve to_string method for boxed values
7 years ago
Dulma Churchill d0858c7770 [linters] Improve the to_string method for string constants
7 years ago
Josh Berdine b36eaa2618 [clang] Disable -fembed-bitcode
7 years ago
Andrzej Kotulski c2207f5b06 small fixes to infer/src/*/README.md files
7 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
7 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda
7 years ago
Dino Distefano a386ef5e83 Adding predicate for identify a selector with a particular name
7 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
7 years ago
Jules Villard 845114f570 [al] precompute regexps
7 years ago
Jia Chen 3bacba762a Whitelist the constructors+conversion operators+destructors for classes listed on whitelisted_cpp_classes
7 years ago
Andrzej Kotulski d4c728913a [clang] Ignore all -mllvm args passed to clang -cc1
7 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
7 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
7 years ago
Dulma Churchill 4a6652faef [linters] Do not report mutable local variable in components advice on static locals
8 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
8 years ago
Dulma Churchill 8e078c33d7 [linters] Print active linters to the stdout when --print-active-checkers is passed
8 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
8 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Daiva Naudziuniene 77e3110adc Propagating access of Decl from clang plugin to ProcAttributes.
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Andrzej Kotulski a864b4068f [clang IR] Change Fieldname.t to store typename
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Sungkeun Cho f8b8dd1abb [infer] Parse unsigned short (uint16_t) as IUShort
8 years ago
Dulma Churchill 2d1a8f4940 [linters] Remove leftover code related to paths
8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list.
8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Andrzej Kotulski 4ce997c8f0 [clang] blacklist -profile-guided-section-prefix
8 years ago
Dulma Churchill 855b87e5d9 [linters] Remove internal error warning that is not really an error
8 years ago
Dulma Churchill 45a8e48e00 [linters] Adapt the debugger and linters-developer-mode to the new logs
8 years ago
Dulma Churchill 47f1c6ffac [linters] Global paths
8 years ago
Dulma Churchill 99a0f894b6 [linters] Add option to blacklist the unavailable api check for some files
8 years ago
Dulma Churchill dfca0cdcf7 [linters] Introduce whitelist and blacklist path, also multiple paths
8 years ago
Andrzej Kotulski cf8d5483db [C++] Add option to exclude header models from compilation
8 years ago
Dulma Churchill 57dd45dd82 [linters] Improve the error message in implicit cast error
8 years ago
Dino Distefano 55da0055c9 Predicate for `using namespace`
8 years ago
Jules Villard b449b8c735 [wibble] refactor error output
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard 03bd3f1df1 [log] append ERROR in front of `failwith` toplevel messages
8 years ago
Jules Villard b50f9f2695 [police] open IStd everywhere
8 years ago
Jules Villard 644066f4be [driver] make clear when the results dir becomes available
8 years ago
Jules Villard 1727bd4125 [clang] clang pointer map becomes a clang pointer hashtbl
8 years ago
Jia Chen c0e20e0880 Propagate C++ noexcept annotation from frontend to backend
8 years ago
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer
8 years ago
Martino Luca 2e8e5733f6 [AL] Load AL files from a directory
8 years ago
Dino Distefano 0809279b3b Extending type parser to deal with typedefs
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Dulma Churchill 46a539df82 [linters] Specify path in linters
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Martino Luca d5fbb298eb Skip compilation of certain source files, if desired
8 years ago
Jules Villard 71f20908a1 [logging] revert to using `assert false` since we catch `Assert_failure` in some places
8 years ago
Dulma Churchill a7cff528fa [linters] Disable components factory function rule
8 years ago
Dino Distefano 4e7c7f30c1 Extended transitions to universal quantified operators
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Dino Distefano bdd2395be6 Adding ability to get type of paramters.
8 years ago
Dino Distefano cfd0a9b038 Extending type parser to parse ObjC classes.
8 years ago
Jules Villard 4266360606 [build] taking the .mli into account actually broke the build
8 years ago
Jules Villard 8dacc2df94 [build] move ctl_parse_types.mli to the right place
8 years ago
Jules Villard 252c78bb0e [clang] initialize dynamically-size stack-allocated arrays
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Jules Villard 709376945f [config] migrate help to use man pages
8 years ago
Dino Distefano 99552edd7b Extending type parser to parse pointer types.
8 years ago
Dulma Churchill 68f957ac97 [linters] Print name and type of the node in the debugging
8 years ago
Dulma Churchill d04a03b8e3 [linters] Remove redundant predicate
8 years ago
Dulma Churchill c9670d215d [linters] Add new predicate has_type and check for implicit cast
8 years ago
Dino Distefano c6a29e5e8a Adding more builtin type to parser
8 years ago
Jules Villard 29f7967f26 [build] remove unused values
8 years ago