* mi/mi-common.c (_initialize_gdb_mi_common): Remove.
Use static_assert to check the size of async_reason_string_lookup. * common/gdb_assert.h (static_assert): New macro.
This commit is contained in:
parent
fc87b9e825
commit
f5afdc187d
|
@ -1,3 +1,10 @@
|
||||||
|
2011-11-22 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* mi/mi-common.c (_initialize_gdb_mi_common): Remove.
|
||||||
|
Use static_assert to check the size of
|
||||||
|
async_reason_string_lookup.
|
||||||
|
* common/gdb_assert.h (static_assert): New macro.
|
||||||
|
|
||||||
2011-11-22 Alan Modra <amodra@gmail.com>
|
2011-11-22 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Correct branch
|
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Correct branch
|
||||||
|
|
|
@ -20,6 +20,12 @@
|
||||||
#ifndef GDB_ASSERT_H
|
#ifndef GDB_ASSERT_H
|
||||||
#define GDB_ASSERT_H
|
#define GDB_ASSERT_H
|
||||||
|
|
||||||
|
/* A static assertion. This will cause a compile-time error if EXPR,
|
||||||
|
which must be a compile-time constant, is false. */
|
||||||
|
|
||||||
|
#define static_assert(expr) \
|
||||||
|
extern int never_defined_just_used_for_checking[(expr) ? 1 : -1]
|
||||||
|
|
||||||
/* PRAGMATICS: "gdb_assert.h":gdb_assert() is a lower case (rather
|
/* PRAGMATICS: "gdb_assert.h":gdb_assert() is a lower case (rather
|
||||||
than upper case) macro since that provides the closest fit to the
|
than upper case) macro since that provides the closest fit to the
|
||||||
existing lower case macro <assert.h>:assert() that it is
|
existing lower case macro <assert.h>:assert() that it is
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
|
#include "gdb_assert.h"
|
||||||
#include "mi-common.h"
|
#include "mi-common.h"
|
||||||
|
|
||||||
static const char * const async_reason_string_lookup[] =
|
static const char * const async_reason_string_lookup[] =
|
||||||
|
@ -37,19 +38,10 @@ static const char * const async_reason_string_lookup[] =
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static_assert (ARRAY_SIZE (async_reason_string_lookup) == EXEC_ASYNC_LAST + 1);
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
async_reason_lookup (enum async_reply_reason reason)
|
async_reason_lookup (enum async_reply_reason reason)
|
||||||
{
|
{
|
||||||
return async_reason_string_lookup[reason];
|
return async_reason_string_lookup[reason];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
|
||||||
extern initialize_file_ftype _initialize_gdb_mi_common;
|
|
||||||
|
|
||||||
void
|
|
||||||
_initialize_gdb_mi_common (void)
|
|
||||||
{
|
|
||||||
if (ARRAY_SIZE (async_reason_string_lookup) != EXEC_ASYNC_LAST + 1)
|
|
||||||
internal_error (__FILE__, __LINE__,
|
|
||||||
_("async_reason_string_lookup is inconsistent"));
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue