From df30244622aff60b2b7a316ae9baa36ef22e5685 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 20 Aug 2013 15:12:53 +0000 Subject: [PATCH] fix PR python/15816 This fixes PR python/15816. The bug here is that python-selftest.exp can fail: No symbol "RETURN_MASK_ALL" in current context. RETURN_MASK_ALL is a macro, so if macros do not end up in the debuginfo (very typical) then the test fails. It seemed simplest to me to simply turn the RETURN_MASK_ defines into enum constants. This way they end up in the debuginfo and all is well. PR python/15816: * exceptions.h (return_mask): Now an enum. (RETURN_MASK_QUIT, RETURN_MASK_ERROR, RETURN_MASK_ALL): Now enum constants. Built and regtested on x86-64 Fedora 18. --- gdb/ChangeLog | 7 +++++++ gdb/exceptions.h | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d11e226..2e0109e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2013-08-20 Tom Tromey + PR python/15816: + * exceptions.h (return_mask): Now an enum. + (RETURN_MASK_QUIT, RETURN_MASK_ERROR, RETURN_MASK_ALL): Now + enum constants. + +2013-08-20 Tom Tromey + * cp-namespace.c (cp_lookup_symbol_imports_or_template): Use get_objfile_arch. * elfread.c (elf_rel_plt_read, elf_gnu_ifunc_record_cache) diff --git a/gdb/exceptions.h b/gdb/exceptions.h index bf41860..129d29a 100644 --- a/gdb/exceptions.h +++ b/gdb/exceptions.h @@ -38,10 +38,13 @@ enum return_reason }; #define RETURN_MASK(reason) (1 << (int)(-reason)) -#define RETURN_MASK_QUIT RETURN_MASK (RETURN_QUIT) -#define RETURN_MASK_ERROR RETURN_MASK (RETURN_ERROR) -#define RETURN_MASK_ALL (RETURN_MASK_QUIT | RETURN_MASK_ERROR) -typedef int return_mask; + +typedef enum +{ + RETURN_MASK_QUIT = RETURN_MASK (RETURN_QUIT), + RETURN_MASK_ERROR = RETURN_MASK (RETURN_ERROR), + RETURN_MASK_ALL = (RETURN_MASK_QUIT | RETURN_MASK_ERROR) +} return_mask; /* Describe all exceptions. */ -- 2.7.4