533 Commits (bf8bc667078fb63e04a6a0441dd77173f3ea7ace)

Author SHA1 Message Date
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 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
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
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes
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 8a57575188 [clang] combine CProcname and CType_decl
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
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
Daiva Naudziuniene 12be484431 Remove unnecessary option type
7 years ago
Mehdi Bouaziz 7ab8b2c354 Inline records for Loops
7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly
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
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
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty
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
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
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 daa5154399 [capture] get rid of call graphs
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
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
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
8 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
8 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
8 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
8 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
8 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
8 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
8 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
8 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
8 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
8 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments
8 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks
8 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store.
8 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
8 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
8 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
8 years ago
Dulma Churchill e23153c1d9 [clang] Refactor the translation of allocation functions
8 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr)
8 years ago
Dulma Churchill 3924d25a25 [clang] Remove two more cases of assert false cases that happen in the apps
8 years ago
Jules Villard 810d756f79 [clang] split StringLiterals into chunks
8 years ago
Jules Villard 1b6c77b624 [clang] mark crash sites as `unimplemented` or `incorrect_assumption`
8 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
8 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
8 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
8 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
8 years ago
Jules Villard 2fff3b0733 [clang] distinguish genuine internal failures from unimplemented features
8 years ago
Daiva Naudziuniene 81c0fe6754 [clangplugin] Updating infer to work with the latest clang plugin version
8 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
8 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
8 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
8 years ago
Jules Villard 5b3c2c0901 [clang] fix evaluation order bug discovered by building with OCaml 4.05.0
8 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
8 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
8 years ago
Daiva Naudziuniene 5ee61a4019 [destructors] Refactoring destructor translation.
8 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
8 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
8 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
8 years ago
Andrzej Kotulski 6ca447fa6a [C] Fix issue with enum initialization lists
8 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
8 years ago
Sam Blackshear 73dba57e45 [cleanup] remove useless append_instrs on empty instruction list
8 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
8 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda
8 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
8 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
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
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard 1727bd4125 [clang] clang pointer map becomes a clang pointer hashtbl
8 years ago
Jules Villard 71f20908a1 [logging] revert to using `assert false` since we catch `Assert_failure` in some places
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
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
Andrzej Kotulski 7a0c4d9031 add more quals to SIL
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Andrzej Kotulski db3c07a631 [clang frontend] Pass type qualifiers through frontend
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Andrzej Kotulski a81f4e7bf9 Remove custom Clang_ast_types module, extend types instead
8 years ago
Andrzej Kotulski 21af28619f [C++] Use annotate attribute instead of deprecated
8 years ago
Andrzej Kotulski fbddeba8a7 [clang] Don't inline global var initializers
8 years ago
Andrzej Kotulski 2cc972705a [clang] Make backend use QualifiedCppName.t instead of string
8 years ago
Andrzej Kotulski 4da4949049 [clang][AST] Fix wrong type in translation of NoOp cast and MaterializeExpr
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
8 years ago
Andrzej Kotulski 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Andrzej Kotulski f4c424b4cc [clang frontend] Cleanup CAst_utils
8 years ago
Andrzej Kotulski 41c9b05b47 [clang frontend] assert false on param mismatch
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
8 years ago
Andrzej Kotulski 171083fbba [clang] Move mk_procname_ functions to separate module
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference
8 years ago
Andrzej Kotulski b3e9eedd59 [clang frontend] Make DeclStmt return empty exps
8 years ago
Andrzej Kotulski dd3de5b011 [clang frontend] Create nodes for dangling instructions
8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
8 years ago
Cristiano Calcagno adc68c6d57 [clang] Remove unnecessary list append in clang frontend
8 years ago
Cristiano Calcagno f605cb4b7e [clang cleanup] Split CFrontend_utils module into CAst_utils and CGeneral_utils
8 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings
9 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd
9 years ago
Josh Berdine 23cda11fda Core.Std.Int.Set
9 years ago
Josh Berdine de2e6c9d88 Core.Std.Option
9 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
9 years ago
Andrzej Kotulski 4d43f0e5d8 [clang] Remove CLocation.curr_file
9 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types.
9 years ago
Josh Berdine e747d21e0c [refactor] Rename CTypes and CTypes_decl modules
9 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
9 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration
9 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
9 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
9 years ago
Jules Villard a31658a9b8 [clang] treat constexpr as const too
9 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
9 years ago
Andrzej Kotulski 27ed2c7062 [clang] always call add_edge
9 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file
9 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
9 years ago
Jules Villard 8f32c3cfe1 [clang] minor cleanups
9 years ago
Dulma Churchill befab1007b [clang] Migrating clang logging to the Logging module
9 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type
9 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module
9 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field
9 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
9 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
9 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
9 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
9 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
9 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
9 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
9 years ago
Andrzej Kotulski be891e8413 Simplify builtin function detection during translation
9 years ago
Andrzej Kotulski 97fe6275bd Simplify language detection in frontend
9 years ago
Andrzej Kotulski ad325d5047 Drop ti_raw field from clang_ast_t.type_info
9 years ago
Andrzej Kotulski 21ecba2d17 move retain/release special handling to function_deref_trans
9 years ago
Martino Luca 9e3b3c5d77 Fix C++ tests
9 years ago
Martino Luca 80c82c0cae Adapt Infer to the new changes introduced by the upgrade to Clang 4.0
9 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
9 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
9 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
9 years ago
Jules Villard 7603395ee9 qual_type fields are namespaced now
9 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
9 years ago
Jules Villard 3b3f587652 update fcp to have qualifiers in ValueDecl types
9 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
9 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
9 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
9 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
9 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
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 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
Martino Luca 062ec6c872 Translate VAArgExpr
9 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
9 years ago
Andrzej Kotulski f40033fc5f Update fcp
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
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 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
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
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
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
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