1135 Commits (713c308fc7ba7482df761fcd7d9d82da1a9d9399)

Author SHA1 Message Date
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks
7 years ago
Jules Villard 710dae8ee4 [doc] add `make doc` target for building html API doc
7 years ago
Dulma Churchill 7409e33ed2 [clang] Add parameters info to the procname of c functions
7 years ago
Dulma Churchill cbdb00a710 [clang] Compute the parameters of a method to be passed to the procname
7 years ago
Daiva Naudziuniene 610ed0c885 [uninit] Filter out fields if they come from unions
7 years ago
Dulma Churchill 9b32ce59c7 [clang] Use the procname_from_decl method when computing objc method names to add to the tenv
7 years ago
Dulma Churchill 01c62589af [clang] Remove dependency from is_cpp from get_parameters function
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Dulma Churchill 663a923ee1 [clang] Remove dependency of mk_c_function from is_cpp
7 years ago
Dulma Churchill dee25640f8 [clang] Remove lang from the CMethodSignature that was unused
7 years ago
Dulma Churchill 6ad971c875 [clang] Refactor building method signatures
7 years ago
Mehdi Bouaziz c9b79039f9 cTrans: simplify assign_captured_var
7 years ago
Brandon Kieft eab7fd1242 Add predicates to check the receiver class type
7 years ago
Mehdi Bouaziz 1d62441918 Fix List.drop
7 years ago
Dulma Churchill 7a68dde647 [clang] Refactor computing procnames for blocks
7 years ago
Dulma Churchill 4a710a64b1 [clang] Move functions about cTypes to the CType module
7 years ago
Mehdi Bouaziz 6c58614f40 cArithmetic_trans: simplification
7 years ago
Sam Blackshear 9ca945aa2f [ownership] warn when returning references to borrowed values
7 years ago
Jules Villard 8715c4f892 [clang] make switch statement translation more robust
7 years ago
Dulma Churchill 20de2f66ad [objc frontend] Log Skipped declaration inside a class directly instead of throwing an exception
7 years ago
Jules Villard 92c129dc4e [cfg] rename `Cfg.is_proc_cfg_connected` to `Procdesc.is_connected`
7 years ago
Dulma Churchill 4687573a48 [clang] Removes a crash when unexpected declarations are found in toplevel class declarations
7 years ago
Dulma Churchill accfc00d82 [objc frontend] Do not crash on internal forward classes
7 years ago
Dulma Churchill 87d1f0f241 [clang] Make an assert false into incorrect_assumption as it is happening in prod
7 years ago
Sam Blackshear 5ed2016899 [clang] basic support for exceptional control-flow
7 years ago
Jules Villard 316da14857 [clang] minorish improvements
7 years ago
Daiva Naudziuniene 4e821129a4 [cfg] Log if the cfg is broken for a join node or not
7 years ago
Dulma Churchill 27a7f2e798 [linters] Do not report mutable local variable in weakSelf and strongSelf
7 years ago
Dulma Churchill 2ee4956c03 [objc] Add methods of ObjC classes and ObjC protocols to the tenv
7 years ago
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload
7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression
7 years ago
Brandon Kieft cb66e4212b Add predicates for instance and class methods
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Daiva Naudziuniene 28b696881c [minor] Use List.is_empty instead of List.length equal to 0
7 years ago
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol
7 years ago
Ezgi Çiçek fcb83a949f implement missing CXXInheritedCtorInitExpr
7 years ago
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do
7 years ago
Brandon Kieft 275f4c3a8c Add predicates to check for protocols
7 years ago
Brandon Kieft 439839a9fa Add is_in_(interface/implementation) predicates
7 years ago
Brandon Kieft 7d4bd403df Add is_objc_method_exposed predicate
7 years ago
Brandon Kieft 01ee635902 Add is_objc_method_overriding predicate
7 years ago
Nikos Gorogiannis 9a2c494454 [infer] refactor LintIssues for general use.
7 years ago
Mehdi Bouaziz 3ef6cb1c75 Kill generic typevar modelling
7 years ago
Brandon Kieft d7cf002461 Add new ObjC predicates, mostly related to categories
7 years ago
Dulma Churchill 780006097a [clang frontend] Do not crash when finding unexpected declarations when collecting local variables
7 years ago
Jules Villard 7595f10346 [clang] return a nondet expression instead of -1
7 years ago
Jules Villard 634e9a3897 [clang] crash on unrecognised method declaration
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Daiva Naudziuniene cd511580e0 [frontend] Fix the leaf nodes in the translation of destructors
7 years ago
Daiva Naudziuniene dc567eaa7a [frontend] Preserve leaf nodes in declaration statement translation
7 years ago
Dulma Churchill 077d9a534b [objc frontend] Do not assume that the fast enumeration in ObjC always includes a declaration of the loop variable
7 years ago
Jules Villard 1a0ba42a3b [clang] unbreak build, factorise unimplemented constructs
7 years ago
Nikos Gorogiannis de6ee858a8 [clang] translate unimplemented features to skip
7 years ago
Jules Villard 0bbdf63957 [clang] do not attempt to translate pointer to member constructs
7 years ago
Dino Distefano d4337abcb4 Added predicate for C++ copy constructors
7 years ago
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes
7 years ago
Sam Blackshear fe610330bf [clang] remove is_generic_model boolean from procnames
7 years ago
Jules Villard 6c806d39c8 [clang] minor cosmetic changes
7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature
7 years ago
Jules Villard d92e82b379 [clang] fix translation of `UserDefinedLiteral`
7 years ago
Sam Blackshear d882626d25 [clang] include method information in type environment
7 years ago
Sam Blackshear 8a57575188 [clang] combine CProcname and CType_decl
7 years ago
Sam Blackshear ff23aca725 [clang] get_struct_decls utility function
7 years ago
Sam Blackshear 9b2ac3de6e [clang] make it easier to call CProcname.from_decl
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Dino Distefano 9043f26b89 Added documentation to cPredicate.mli
7 years ago
Sam Blackshear 4fc0ecd86b [clang] don't include procname in broken cfg error message
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
7 years ago
Sam Blackshear 3e6bd7f063 [clang] log broken CFGs
7 years ago
Jules Villard 7c0bf66794 [clang] do not run clang on unsupported commands
7 years ago
Sungkeun Cho 00e1139071 [frontend] Parse binary operator using types of parameters
7 years ago
Daiva Naudziuniene 7c7b239248 [minor] out of place comment
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Varun Arora 00744a888a [reporting][perf] PerfStats directly resolves filename - no need to pass as parameter
7 years ago
Varun Arora 24e66ada0b [reporting][perf] combine PerfStats source_file with stats_type
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages
7 years ago
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Varun Arora 266ae2ed6e [reporting][perf] designate frontend perf stats as either Capture or Linters in EventLogger
7 years ago
Daiva Naudziuniene 12be484431 Remove unnecessary option type
7 years ago
Mehdi Bouaziz 279e7d67f0 More inline records
7 years ago
Varun Arora 77e643ee1e combine ocaml_pos and ml_loc
7 years ago
Varun Arora 5d6951a545 [logging] Always log PerfStats to EventLogger
7 years ago
Varun Arora 37720e1bbf [logging] performance stats logging via EventLogger
7 years ago
Mehdi Bouaziz 7ab8b2c354 Inline records for Loops
7 years ago
Dulma Churchill d763cfdd6f [clang] Keep QualifiedCppName free of clang frontend modules dependencies
7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly
7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Dulma Churchill eef8774aa2 [clang] Restore the debug tenv file for the clang frontend
7 years ago
Dulma Churchill 9f343853ec [clang] Find fields from the properties corresponding to the property implementations.
7 years ago
Jules Villard fa6a798451 [clang] improve `CMethodSignature` interface
7 years ago
Sam Blackshear aca9d034a7 [clang] translate capture-by-reference correctly
7 years ago
Jérémie Marguerie 8cfc7f2cad Add function to retrieve the lifetime of an ivar pointer and check if it is strong
7 years ago
Varun Arora 32b2a707e8 [reporting] Exceptions of visibility Exn_developer are now logged using EventLogger when not running in developer mode
7 years ago
Jules Villard 4c002f0c98 [sqlite] migrate tenv to sqlite
7 years ago
Jules Villard 098b0700c2 [clang] upgrade internal clang
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Sungkeun Cho 373e6b39cc [infer] Use inline record for Typ.Tarray
7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields
7 years ago
Varun Arora 9348012dc3 [clang] restore logging of procedures translated summaries
7 years ago
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty
7 years ago
Dulma Churchill c38052bbaa [clang] Catch a few more occurring incorrect assumptions
7 years ago
Sam Blackshear 9366e8dbc8 [clang] add id -> pvar bindings to C++ lambda capture
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear 3d170a82c4 [clang] translate lambdas that capture `this`
7 years ago
Dulma Churchill 366f4f5ca2 [clang] Make another crash into incorrect_assumption
7 years ago
Sam Blackshear 9ae77b67fd [clang] simplify translation of `this` expressions
7 years ago
Jules Villard 1d80ce37ab [pp] print contents of argfiles, recursively, on error
7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Jules Villard ab9c18b85d [clang] echo clang stdout when running non-plugin commands
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Varun Arora 315db072ac [clang] change CTrans_utils.Self.SelfClassException to use new CFrontend_config.ocaml_pos type instead of raw tuple
7 years ago
Dulma Churchill 8053734563 [linters] Add logging and caught exceptions to the linters
7 years ago
Jeremy Dubreil 47b5104892 [infer][clang] convert assert false to incorrect_assumption in CProcname
7 years ago
Sam Blackshear 82d033c970 [clang] convert some assert false's to structured fails
7 years ago
Varun Arora 440040ada9 [clang] make ast_node argument optional in Unimplemented and IncorrectAssumption exception raising functions
7 years ago
Daiva Naudziuniene ec263afe58 [clang frontend] placement new
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
7 years ago
Jules Villard 337fb9bcdd [al] import files relatively to the current al file
7 years ago
Jules Villard 6d908adf14 [al] use "quotes" for user imports
7 years ago
Jules Villard 7fc7511238 [clang] blacklist `--expt-relaxed-constexpr`
7 years ago
Varun Arora b97ba077ad [clang] Added logging of caught exceptions of type SelfClassException to clang frontend
7 years ago
Varun Arora 773b43d94e [clang] Added logging of caught exceptions of type IncorrectAssumption to clang frontend
7 years ago
Varun Arora 2ede6c1ac4 [clang] Added logging of caught exceptions of type Unimplemented to clang frontend
7 years ago
Jules Villard 1d4128e0c0 [clang] blacklist some flags at the -### level
7 years ago
Jules Villard 1a5ba13778 [cfg][minor] do not duplicate the Hashtbl API
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Jules Villard 92e3d56f2e [cleanup] add missing `open! IStd`
7 years ago
Varun Arora 0003c3acc9 change procedures_translated logging to use eventlogger framework
7 years ago
Varun Arora cd02014209 [clang] Added logging of attempted and completed procedure translations to clang frontend
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Jeremy Dubreil c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Mehdi Bouaziz d8bd7b7deb [inferbo] Only use inferbo models when biabduction is off
7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods
7 years ago
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