1332 Commits (7c63bef44e7fc6129ae7d9b112864da47f8cb3d9)

Author SHA1 Message Date
Jules Villard b59ff499c7 [clang] move error handling from cFrontend_config to a new cFrontend_errors module
5 years ago
Jules Villard a18cf040df [al] better distinction AL vs frontend in file names
5 years ago
Jules Villard 1c0345f00c [clang] move AL source code to new al/ folder
5 years ago
Martin Trojer 06d6363710 idirafter override flag
5 years ago
Jules Villard 41c003ace1 [biabd] rename models-related things to "biabduction-..."
5 years ago
Jules Villard 13d54990bd [models] get rid of include-based C++ models
5 years ago
Artem Pianykh 346c89c717 Make infer binary runnable on Mojave without fiddling with SDKROOT
5 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
5 years ago
Jules Villard 128f37985d [ocaml] upgrade most dependencies
5 years ago
Martin Trojer 124036ea0b New faster version of Diff/Test-Determinator
5 years ago
Jules Villard ef26e8bb28 [clang] NamespaceAliasDecl is just a no-op
5 years ago
Artem Pianykh 39dce8878f [infra] Update yojson and fix deprecations
5 years ago
Jules Villard a3086cbc37 [clang] remove 3 year obsolete TODO
5 years ago
Jules Villard e803a30c2d [clang] fix translation of `initListExpr` again
5 years ago
Jules Villard 58b1df6bb9 [clang] fix destructor placement for temporaries in conditionals
6 years ago
Jules Villard 3a3c93140e [pulse] translate initListExpr in more cases
6 years ago
Dino Distefano 571ae7774a Extended check on n-th parameter to cpp method calls
6 years ago
Jules Villard 04233ee49b [clang] destroy C++ temporaries
6 years ago
Jules Villard ab427fd3f3 [clang] cache of names of C++ temporaries
6 years ago
Jules Villard a9a7239831 [clang] split `inject_destructors` into two functions
6 years ago
Jules Villard db800f138b [clang] rewrite scope computations
6 years ago
Jules Villard eaa5c32432 [clang] some more debug info
6 years ago
Dino Distefano 472f155a7a Improved rule on block capturing CXX Reference
6 years ago
Ezgi Çiçek be85296759 [frontend] Move Preanalysis to frontend so that it is run always
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Jules Villard a3d8b9c4a4 [clang][oops] restore previous functionality
6 years ago
Jules Villard d00b31f48c [clang] also skip blacklisted flags when passed as -flag=arg
6 years ago
Martin Trojer 90a1324ed3 make blacklisted clang flags configurable
6 years ago
Dino Distefano 24728dc093 New ObjC checker for calls to @optional methods
6 years ago
Jules Villard 1395d5581d [clang] upgrade to 8.0.0
6 years ago
Jules Villard 8330394eff [clang] new option to override `-I` paths
6 years ago
Jules Villard 2fff66b1c9 [clang] refactor argument dispatch logic
6 years ago
Dino Distefano 2f3b376996 Added is_optional_objc_method predicate
6 years ago
Dino Distefano c077cab1a9 (Hopefully) fixed problems with AL
6 years ago
Dino Distefano 10ca0c3269 Fix detection of return type for instancetype when using NS_ASSUME_NONNUL
6 years ago
Mehdi Bouaziz b27c02ad35 [clang] Correct value for offsetof
6 years ago
Martin Trojer e7ad99eed0 Using DB to store modified functions
6 years ago
Nikos Gorogiannis 7106de35a3 [issuelogs] less imperative
6 years ago
Dino Distefano 4f982e9f63 Add predicate for Unavailable attr
6 years ago
Dino Distefano df438016f2 Adding SourceExp transition to AL
6 years ago
Lee Howes 183e9ed9fa Add call_cxx_method predicate
6 years ago
Martin Trojer 52fd4c50de Clang Diff Determinator
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Dino Distefano e2caf19d4f Fixed constexpr false positive
6 years ago
Dino Distefano 1172e6de50 Translate SynchronizedStmt
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Sungkeun Cho 3b5ef0b31b [inferbo] Translate re-declared globals to point to original ones
6 years ago
David Lively 692a844e0c [AL] use found_decl_ref in recently added predicates/placeholders
6 years ago
Lee Howes 5c2ef731ff Add support for qualified functions and a call_qualified_function predicate
6 years ago
David Lively 5aedc7e71c [AL] expose source loc of decl referenced by decl_ref
6 years ago
David Lively f00950a3c8 [AL] fix ast_node_cxx_fully_qualified_name for constructor exprs
6 years ago
David Lively 96beec5e53 [AL] fix ast_node_cxx_fully_qualified_name w/non-global vars
6 years ago
Jules Villard c3cadace86 [SIL][3/3] add CallFlag for synthetised destructor calls
6 years ago
Dino Distefano aae5192b79 fix vardecl const
6 years ago
Sungkeun Cho bae98c607f [infer] Translate VAArgExpr to the builtin function
6 years ago
Mehdi Bouaziz 620099113d Fix some comments
6 years ago
Jules Villard 41abbe363d [clang] do not add extra dereferences
6 years ago
Jules Villard f8338d8faf [clang] ignore `__attribute__((unused))` variable initialisations
6 years ago
Jules Villard cfa33bd993 [clang] skip unknown `-fno-absolute-module-directory` flag
6 years ago
Jules Villard 168e9099f7 [clang] upgrade to 7.0.1
6 years ago
David Lively c5890238f0 [Config] support arbitrary named symbol lists
6 years ago
David Lively a8c946f1d9 new predicate is_in_source_file and placeholders %source_file% and %kind%
6 years ago
David Lively d390a6f08a [CType_decl] Add missing case to `get_record_typename`
6 years ago
Nikos Gorogiannis 7bbb7fc869 [clang][objcpp] register exported methods and treat them as private in RacerD
6 years ago
Fabio Milano 499e6398b1 [CK][Linter Rule] Add CKRenderLayoutWithChildren component to Component Kit Conventional Superclass
6 years ago
Fabio Milano 28c3ed50de [CK][Linter Rule] Add CKRenderLayout component to Component Kit Conventional Superclass
6 years ago
David Lively 322066d248 Rename {has_,}cxx_full_name to {has_,}cxx_fully_qualified_name.
6 years ago
Mehdi Bouaziz 1fa459967b Prune_node_kind: sum type rather than string
6 years ago
David Lively 1f2b0d4152 Add new predicate has_cxx_qual_name and macro %cxx_full_name%
6 years ago
Fabio Milano afed12ad52 [CK][Linter Rule] Added CKRenderWithChildrenComponent as conventional component kit superclass
6 years ago
David Lively 5a531ac755 Make is_cxx_method_overriding predicate take regex matching class/name
6 years ago
David Lively 33eabe6bfd New is_cxx_method_overriding predicate
6 years ago
Jules Villard 1c668c4d41 [SIL][preanalysis] add call flag for functions treating first formal as return
6 years ago
Sungkeun Cho 5f925869b6 [infer] Translate more casts (unsigned int)
6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Jules Villard 54fb38b7e8 [clang] ensure we get the correct file path
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
6 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info
6 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit
6 years ago
Dino Distefano 6fe3edc44e Extending type matching to BlockExpr
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp
6 years ago
Sungkeun Cho 1ae393dc76 [infer] Get widths of build-in integer types
6 years ago
Jules Villard bee7649048 [perf] fix capture traces and record clang events
6 years ago
Dino Distefano 2e64566a6c Finding stateless CKComponents
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
6 years ago
Dino Distefano 08a26d4ba1 First approximation of stateless
6 years ago
Sungkeun Cho d94ba863c6 [infer] Add type in binary operator
6 years ago
Dino Distefano 89700a7d95 Added new predicated for captured values
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Sungkeun Cho 1330475032 [infer] Fix placement_new translation
6 years ago
Jules Villard 31e01a9aa0 [proc-cfg][3/5] stop caching whole-file cfgs in exe_env
6 years ago
Jules Villard 116ec5ae55 [clang] changes to accomodate the new version of clang
6 years ago
Jules Villard c257f68226 [kill -a][0/4] do not rely on `Config.analyzer`
6 years ago
Mehdi Bouaziz 90fd5ec4a4 Optimize generate_key_stmt/decl
6 years ago
Dino Distefano 3c04f32709 hadoc const version
6 years ago
Mehdi Bouaziz bd8d2eb941 ProcAttributes: simplify var_attribute
6 years ago
Mehdi Bouaziz d9fb7b3004 ProcAttributes: removed unused by_vals
6 years ago
Dino Distefano 21145c75c9 Added new predicate is_const_expr()
6 years ago
Mehdi Bouaziz 636da5954b Remove dead Config.arc_mode
6 years ago
Mehdi Bouaziz 1141c8c5a8 Linters: remove def_file
6 years ago
Mehdi Bouaziz 7964dd76ca Reporting cleanup 19: use IssueType for CIssue.issue_desc
6 years ago
Mehdi Bouaziz d331a7ad19 Start/Exit_node don't need the procname
6 years ago
Mehdi Bouaziz e8d8caeecd CFrontend_errors: avoid exposing a global reference
6 years ago
Mehdi Bouaziz 0cb31a8057 Reporting cleanup 18: move linters_def_file from reporting to issue type
6 years ago
Mehdi Bouaziz 249ef9d75b Reporting cleanup 17: move doc_url from reporting to issue type
6 years ago
Mehdi Bouaziz 882285a44e Simplify linters_doc_url
6 years ago
Daiva Naudziuniene bfab195d08 [dead store] Do not report dead stores on constexpr
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Jules Villard a3d5f0283d [clang] only pass `--Xclang` args to driver commands
6 years ago
Dino Distefano 370f33c8dc Added predicate for CXX11ConstantExpr
6 years ago
Mehdi Bouaziz 34a6a487c5 Reporting cleanup 10: log_frontend_issue
6 years ago
Mehdi Bouaziz eb282797ab Reporting cleanup 9: move NodeKey to Procdesc
6 years ago
Mehdi Bouaziz 2ee4b5da18 Reporting cleanup 4: clang_method_kind
6 years ago
Martin Trojer 451f8f1efa Add --Xbuck-no-inline and --Xclang flags to enable jackalope/ios builds.
6 years ago
Mehdi Bouaziz 919d05b5ef Reporting cleanup 3: NodeKey
6 years ago
Mehdi Bouaziz 114c4e436d Reporting cleanup 2: Errlog.log_issue
6 years ago
Daiva Naudziuniene e8c5a84acd [Ownership] Add ownership to return param
6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
6 years ago
Jules Villard 59f09ef697 [opam] upgrade atdgen to version 2
6 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
6 years ago
Jules Villard e5a5d64760 [caml] do not use `let _ =`
6 years ago
Jeremy Dubreil 8a6aa4b1fd [infer] fix the internal confusion between the issue kind and the severity
6 years ago
Dino Distefano 4065b76663 Fixed has_type for iterator type
6 years ago
Dino Distefano 1efc44c27f Fix has_type when used in the context of namespace
6 years ago
Martin Trojer 562f9d1c7c Add guard against triggering static self logic when we have nested class calls
6 years ago
Daiva Naudziuniene a8d80a590b [cfg] Add variant type for statement node
6 years ago
Daiva Naudziuniene 84cfd0a450 [frontend] Do not create exceptional successors for return nodes
6 years ago
Nikos Gorogiannis c2416defed Fix IntLit.to_int interface and uses.
6 years ago
Dino Distefano b215cdbff4 Fixed problem with expasion of %name% placeholder
6 years ago
Dulma Churchill 8ce394942b [clang] Do not crash on translating captured variables of lambda expressions
6 years ago
Dulma Churchill 5653839540 [clang] Add the types of captured variables to the procname of blocks
6 years ago
Kai Yang 2d73494e87 Add is_static_local_var predicate
6 years ago
Jules Villard 86e79a7125 [attributes] always have a (single) translation unit
7 years ago
Jules Villard 36f8d8f869 [lint] linter to force every file to `open! IStd`
7 years ago
Jules Villard 2c8d7a2046 [clang] support `SubstNonTypeTemplateParmExpr`
7 years ago
Jules Villard 3d63c34bd4 [clang] less verbose logging of translation errors
7 years ago
Daiva Naudziuniene 1e2e9b6d11 [clang frontent] Fix translation of binary operator
7 years ago
Dulma Churchill 2cf0e7a1d2 [clang] Treat class method as a static self only as the first argument of an instance method call, not a class method
7 years ago
Jules Villard 0110ad9e14 [deadcode] remove dead code
7 years ago
Dulma Churchill 93ffa826a7 [clang] Using dumped info from array and dict literals
7 years ago
Dulma Churchill 4c726692a9 [clang] Do not raise an exception when type pointer not found
7 years ago
Dulma Churchill a274cdf785 [IR] Add the flag is_variadic to the procedure attributes
7 years ago
Dulma Churchill 2f00ccb434 [IR] Unify the proc attribute translation_unit and source_captured
7 years ago
Daiva Naudziuniene 9738f9821e [frontend] Translating ToVoid cast
7 years ago
Dulma Churchill c1cd2f44cf [IR] Put the procnames for c functions and blocks in designated modules
7 years ago
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