gdb: Remove some C compiler support leftovers
authorPedro Alves <palves@redhat.com>
Thu, 6 Oct 2016 18:23:37 +0000 (19:23 +0100)
committerPedro Alves <palves@redhat.com>
Thu, 6 Oct 2016 18:23:37 +0000 (19:23 +0100)
Remove some __cplusplus checks, inline EXPORTED_CONST, and update some comments.

gdb/ChangeLog:
2016-10-06  Pedro Alves  <palves@redhat.com>

* cp-valprint.c (vtbl_ptr_name): Write "extern const" instead of
EXPORTED_CONST.
* stub-termcap.c: Remove __cplusplus checks.
* common/common-defs.h [!__cplusplus] (EXTERN_C, EXTERN_C_PUSH,
EXTERN_C_POP): Delete.
* common/common-exceptions.h (GDB_XCPT_SJMP): Update comments.
(GDB_XCPT) [!__cplusplus]: Delete.
(throw_exception, throw_exception_sjlj): Update comments.
* guile/guile-internal.h (as_a_scm_t_subr) [!__cplusplus]: Delete.
* guile/guile.c (extension_language_guile): Write "extern const"
instead of EXPORTED_CONST.
* features/feature_to_c.sh: Don't emit !__cplusplus code.  Write
"extern const" instead of EXPORTED_CONST.

gdb/ChangeLog
gdb/common/common-defs.h
gdb/common/common-exceptions.h
gdb/cp-valprint.c
gdb/features/feature_to_c.sh
gdb/guile/guile-internal.h
gdb/guile/guile.c
gdb/stub-termcap.c

index 502d3ded5c557be7a162c3ddc2281d60a586934e..e1cfc193ef82d82a24ecc79c57ee304a9e126719 100644 (file)
@@ -1,3 +1,19 @@
+2016-10-06  Pedro Alves  <palves@redhat.com>
+
+       * cp-valprint.c (vtbl_ptr_name): Write "extern const" instead of
+       EXPORTED_CONST.
+       * stub-termcap.c: Remove __cplusplus checks.
+       * common/common-defs.h [!__cplusplus] (EXTERN_C, EXTERN_C_PUSH,
+       EXTERN_C_POP): Delete.
+       * common/common-exceptions.h (GDB_XCPT_SJMP): Update comments.
+       (GDB_XCPT) [!__cplusplus]: Delete.
+       (throw_exception, throw_exception_sjlj): Update comments.
+       * guile/guile-internal.h (as_a_scm_t_subr) [!__cplusplus]: Delete.
+       * guile/guile.c (extension_language_guile): Write "extern const"
+       instead of EXPORTED_CONST.
+       * features/feature_to_c.sh: Don't emit !__cplusplus code.  Write
+       "extern const" instead of EXPORTED_CONST.
+
 2016-10-06  Doug Evans  <dje@google.com>
 
        * python/py-value.c (valpy_long): Handle unsigned values.
index 2c9411704531b510d176a4a22a718ae8313294e7..0d8d1001b1443a1d5ba03fcbfb9d011e4b29abd2 100644 (file)
 #include "cleanups.h"
 #include "common-exceptions.h"
 
-#ifdef __cplusplus
-# define EXTERN_C extern "C"
-# define EXTERN_C_PUSH extern "C" {
-# define EXTERN_C_POP }
-#else
-# define EXTERN_C extern
-# define EXTERN_C_PUSH
-# define EXTERN_C_POP
-#endif
+#define EXTERN_C extern "C"
+#define EXTERN_C_PUSH extern "C" {
+#define EXTERN_C_POP }
 
 #endif /* COMMON_DEFS_H */
index 6bf7e400adaa7b1bc8988e712435c2cd69458f60..4cc56b49a28fe269eff1ddff3da3378c14ffb663 100644 (file)
@@ -119,8 +119,7 @@ struct gdb_exception
 
 /* The different exception mechanisms that TRY/CATCH can map to.  */
 
-/* Make GDB exceptions use setjmp/longjmp behind the scenes.  This is
-   the only mode supported when GDB is built as a C program.  */
+/* Make GDB exceptions use setjmp/longjmp behind the scenes.  */
 #define GDB_XCPT_SJMP 1
 
 /* Make GDB exceptions use try/catch behind the scenes.  */
@@ -132,11 +131,7 @@ struct gdb_exception
    spurious code between the TRY and the CATCH block.  */
 #define GDB_XCPT_RAW_TRY 3
 
-#ifdef __cplusplus
-# define GDB_XCPT GDB_XCPT_TRY
-#else
-# define GDB_XCPT GDB_XCPT_SJMP
-#endif
+#define GDB_XCPT GDB_XCPT_TRY
 
 /* Functions to drive the sjlj-based exceptions state machine.  Though
    declared here by necessity, these functions should be considered
@@ -305,18 +300,16 @@ struct gdb_quit_bad_alloc
 
 /* *INDENT-ON* */
 
-/* Throw an exception (as described by "struct gdb_exception").  When
-   GDB is built as a C program, executes a LONG JUMP to the inner most
-   containing exception handler established using TRY/CATCH.  When
-   built as a C++ program, throws a C++ exception, using "throw".  */
+/* Throw an exception (as described by "struct gdb_exception"),
+   landing in the inner most containing exception handler established
+   using TRY/CATCH.  */
 extern void throw_exception (struct gdb_exception exception)
      ATTRIBUTE_NORETURN;
 
 /* Throw an exception by executing a LONG JUMP to the inner most
-   containing exception handler established using TRY_SJLJ.  Works the
-   same regardless of whether GDB is built as a C program or a C++
-   program.  Necessary in some cases where we need to throw GDB
-   exceptions across third-party library code (e.g., readline).  */
+   containing exception handler established using TRY_SJLJ.  Necessary
+   in some cases where we need to throw GDB exceptions across
+   third-party library code (e.g., readline).  */
 extern void throw_exception_sjlj (struct gdb_exception exception)
      ATTRIBUTE_NORETURN;
 
index 7b0c19a3bb798d4843c459b0e45e1ed2f45a4e1f..5fb2561798e4b4b67f23b3ff76c3268036618c65 100644 (file)
@@ -88,7 +88,7 @@ static void cp_print_value (struct type *, struct type *,
 
 
 /* GCC versions after 2.4.5 use this.  */
-EXPORTED_CONST char vtbl_ptr_name[] = "__vtbl_ptr_type";
+extern const char vtbl_ptr_name[] = "__vtbl_ptr_type";
 
 /* Return truth value for assertion that TYPE is of the type
    "pointer to virtual function".  */
index 439611a552b43c8b0e36b589c8101a78e69ccd5d..37de0b33263709f6997336baa7dbf16dcee7915a 100755 (executable)
@@ -64,12 +64,7 @@ done
 
 echo >> $output
 
-echo "#ifdef __cplusplus"                    >> $output
-echo "#  define EXPORTED_CONST extern const" >> $output
-echo "#else"                                 >> $output
-echo "#  define EXPORTED_CONST const"        >> $output
-echo "#endif"                                >> $output
-echo "EXPORTED_CONST char *const xml_builtin[][2] = {" >> $output
+echo "extern const char *const xml_builtin[][2] = {" >> $output
 
 for input; do
   basename=`echo $input | sed 's,.*/,,'`
index 0aa4a0a8f2877aacf4a66119a296cdfde7ddabea..5f819b88716890fcd72629a6df50938cf7aad06c 100644 (file)
@@ -50,8 +50,6 @@ typedef struct
 
 #define END_VARIABLES { NULL, SCM_BOOL_F, NULL }
 
-#ifdef __cplusplus
-
 /* Although scm_t_subr is meant to hold a function pointer, at least
    in some versions of guile, it is actually a typedef to "void *".
    That means that in C++, an explicit cast is necessary to convert
@@ -88,12 +86,6 @@ as_a_scm_t_subr (SCM (*func) (SCM, SCM, SCM))
   return (scm_t_subr) func;
 }
 
-#else
-
-/* In C, just do an implicit conversion.  */
-#define as_a_scm_t_subr(func) func
-
-#endif
 /* Scheme functions to define during initialization.  */
 
 typedef struct
index 117561d86b09fa62ecd7807de7cd7f5c481b1424..3a19eecc2a7c95e49ad4121e9f51360ac2784024 100644 (file)
@@ -77,7 +77,7 @@ extern const struct extension_language_ops guile_extension_ops;
 
 /* The main struct describing GDB's interface to the Guile
    extension language.  */
-EXPORTED_CONST struct extension_language_defn extension_language_guile =
+extern const struct extension_language_defn extension_language_guile =
 {
   EXT_LANG_GUILE,
   "guile",
index f38282316e0d0b04561311cca952ef7c93f40c58..ed3e605e117274081c77f311cd3a9a45dbbfaa39 100644 (file)
@@ -22,9 +22,7 @@
 
 #include "defs.h"
 
-#ifdef __cplusplus
 extern "C" {
-#endif
 
 /* -Wmissing-prototypes */
 extern int tgetent (char *buffer, char *termtype);
@@ -34,9 +32,7 @@ extern char* tgetstr (char *name, char **area);
 extern int tputs (char *string, int nlines, int (*outfun) (int));
 extern char *tgoto (const char *cap, int col, int row);
 
-#ifdef __cplusplus
 }
-#endif
 
 /* These globals below are global termcap variables that readline
    references.