From 07e253aa3b7a530f22b84053e661842ccd9da2ea Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 23 Feb 2017 16:14:08 +0000 Subject: Introduce gdb::function_view This commit adds a new function_view type. This type holds a non-owning reference to a callable. It is meant to be used as callback type of functions, instead of using the C-style pair of function pointer and 'void *data' arguments. function_view allows passing references to stateful function objects / lambdas with captures as callbacks efficiently, while function pointer + 'void *' does not. See the intro in the new function-view.h header for more. Unit tests included, put into a new gdb/unittests/ subdir. gdb/ChangeLog: 2017-02-23 Pedro Alves * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New. (%.o) : New pattern. * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS. * common/function-view.h: New file. * unittests/function-view-selftests.c: New file. * configure: Regenerate. --- gdb/configure | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gdb/configure') diff --git a/gdb/configure b/gdb/configure index 6df88d9..7fbae9f 100755 --- a/gdb/configure +++ b/gdb/configure @@ -17410,6 +17410,8 @@ if $development; then $as_echo "#define GDB_SELF_TEST 1" >>confdefs.h + CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_UNITTESTS_OBS)" + CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_UNITTESTS_SRCS)" fi -- cgit v1.1