aboutsummaryrefslogtreecommitdiff
path: root/gdb/Makefile.in
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-02-23 16:14:08 +0000
committerPedro Alves <palves@redhat.com>2017-02-23 16:14:08 +0000
commit07e253aa3b7a530f22b84053e661842ccd9da2ea (patch)
tree20dc7cea2b67f76f68844e81e5c035fb8413a551 /gdb/Makefile.in
parent1e9d41d49f7f0b9e7381e8bf8ce848f8a33b8fde (diff)
downloadgdb-07e253aa3b7a530f22b84053e661842ccd9da2ea.zip
gdb-07e253aa3b7a530f22b84053e661842ccd9da2ea.tar.gz
gdb-07e253aa3b7a530f22b84053e661842ccd9da2ea.tar.bz2
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 <palves@redhat.com> * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New. (%.o) <unittests/%.c>: 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.
Diffstat (limited to 'gdb/Makefile.in')
-rw-r--r--gdb/Makefile.in10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 43253d3..268c2c6 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -523,6 +523,12 @@ SUBDIR_PYTHON_DEPS =
SUBDIR_PYTHON_LDFLAGS =
SUBDIR_PYTHON_CFLAGS =
+SUBDIR_UNITTESTS_SRCS = \
+ unittests/function-view-selftests.c
+
+SUBDIR_UNITTESTS_OBS = \
+ function-view-selftests.o
+
# Opcodes currently live in one of two places. Either they are in the
# opcode library, typically ../opcodes, or they are in a header file
# in INCLUDE_DIR.
@@ -1909,6 +1915,10 @@ all: gdb$(EXEEXT) $(CONFIG_ALL)
$(COMPILE) $<
$(POSTCOMPILE)
+%.o: ${srcdir}/unittests/%.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
# Specify an explicit rule for gdb/common/agent.c, to avoid a clash with the
# object file generate by gdb/agent.c.
common-agent.o: $(srcdir)/common/agent.c