From 6e75794e9da0e12b44c36272e16d18449d25a03d Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Wed, 28 Jun 2017 15:19:02 +0100 Subject: gdb/command.h: Include common/scoped_restore.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit command.h depends on scoped_restore: extern scoped_restore_tmpl prevent_dont_repeat (void); But doesn't include the corresponding header ("common/scoped_restore.h"). We haven't noticed a problem because utils.h includes scoped_restore.h, and defs.h includes utils.h. However, a patch that makes "symtab.h" include "completer.h", exposed the issue: https://sourceware.org/ml/gdb-patches/2017-06/msg00023.html. Without this fix that would break building all .o files like this: In file included from src/gdb/completer.h:21:0, from src/gdb/symtab.h:28, from src/gdb/language.h:26, from src/gdb/frame.h:72, from src/gdb/gdbarch.h:39, from src/gdb/defs.h:636, from src/gdb/top.c:20: src/gdb/command.h:434:8: error: ‘scoped_restore_tmpl’ does not name a type extern scoped_restore_tmpl prevent_dont_repeat (void); ^ Makefile:1911: recipe for target 'top.o' failed because defs.h includes gdbarch.h before it includes utils.h. gdb/ChangeLog: 2017-06-28 Pedro Alves * command.h: Include "common/scoped_restore.h". --- gdb/command.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gdb/command.h') diff --git a/gdb/command.h b/gdb/command.h index aa179e9..4a56a51 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -19,6 +19,7 @@ #define COMMAND_H 1 #include "gdb_vecs.h" +#include "common/scoped_restore.h" /* This file defines the public interface for any code wanting to create commands. */ -- cgit v1.1