const private_region m_private_reg;
};
-class kf_ubsan_bounds : public internal_known_function
-{
- /* Empty. */
-};
-
/* Handle calls to functions referenced by
__attribute__((malloc(FOO))). */
make_unique<kf_atomic_fetch_op> (BIT_IOR_EXPR));
}
+/* Handle calls to the various IFN_UBSAN_* with no return value.
+ For now, treat these as no-ops. */
+
+class kf_ubsan_noop : public internal_known_function
+{
+};
+
/* Handle calls to the various __builtin___ubsan_handle_*.
These can return, but continuing after such a return
isn't likely to be interesting to the user of the analyzer.
static void
register_sanitizer_builtins (known_function_manager &kfm)
{
+ /* Handle calls to the various IFN_UBSAN_* with no return value.
+ For now, treat these as no-ops. */
+ kfm.add (IFN_UBSAN_NULL,
+ make_unique<kf_ubsan_noop> ());
+ kfm.add (IFN_UBSAN_BOUNDS,
+ make_unique<kf_ubsan_noop> ());
+ kfm.add (IFN_UBSAN_PTR,
+ make_unique<kf_ubsan_noop> ());
+
kfm.add (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
make_unique<kf_ubsan_handler> ());
}
/* Internal fns the analyzer has known_functions for. */
{
kfm.add (IFN_BUILTIN_EXPECT, make_unique<kf_expect> ());
- kfm.add (IFN_UBSAN_BOUNDS, make_unique<kf_ubsan_bounds> ());
}
/* GCC built-ins that do not correspond to a function