summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-06-21 08:53:30 +0200
committerAndy Wingo <wingo@pobox.com>2018-06-21 20:20:04 +0200
commit38e2c2c6b192c516fd85c6b712d675bfaa64d150 (patch)
treea8ff6513a4613ac94b280acd0582d1754dd1310c
parent6ad1fc9ce067b912892dd82c944d3870205301bd (diff)
downloadguile-38e2c2c6b192c516fd85c6b712d675bfaa64d150.tar.gz
Deprecate scm_t_uint8 and similar typedefs
* libguile/deprecated.h (SCM_DEPRECATED_TYPE): New helper define; removed after. (scm_t_int8, scm_t_uint8, scm_t_int16, scm_t_uint16) (scm_t_int32, scm_t_uint32, scm_t_intmax, scm_t_uintmax) (scm_t_intptr, scm_t_uintptr, scm_t_int64 scm_t_uint64) (scm_t_ptrdiff): Deprecate these types. Even on Guile 2.2 people should use the stdint types.
-rw-r--r--libguile/deprecated.h20
-rw-r--r--libguile/gen-scmconfig.c16
2 files changed, 21 insertions, 15 deletions
diff --git a/libguile/deprecated.h b/libguile/deprecated.h
index 9552d0e2e..b1a15ba86 100644
--- a/libguile/deprecated.h
+++ b/libguile/deprecated.h
@@ -89,6 +89,26 @@
#define SCM_HAVE_ARRAYS 1 /* always true now */
+#ifdef __GNUC__
+#define SCM_DEPRECATED_TYPE __attribute__((__deprecated__))
+#else
+#define SCM_DEPRECATED_TYPE /*deprecated*/
+#endif
+typedef int8_t scm_t_int8 SCM_DEPRECATED_TYPE;
+typedef uint8_t scm_t_uint8 SCM_DEPRECATED_TYPE;
+typedef int16_t scm_t_int16 SCM_DEPRECATED_TYPE;
+typedef uint16_t scm_t_uint16 SCM_DEPRECATED_TYPE;
+typedef int32_t scm_t_int32 SCM_DEPRECATED_TYPE;
+typedef uint32_t scm_t_uint32 SCM_DEPRECATED_TYPE;
+typedef intmax_t scm_t_intmax SCM_DEPRECATED_TYPE;
+typedef uintmax_t scm_t_uintmax SCM_DEPRECATED_TYPE;
+typedef intptr_t scm_t_intptr SCM_DEPRECATED_TYPE;
+typedef uintptr_t scm_t_uintptr SCM_DEPRECATED_TYPE;
+typedef int64_t scm_t_int64 SCM_DEPRECATED_TYPE;
+typedef uint64_t scm_t_uint64 SCM_DEPRECATED_TYPE;
+typedef ptrdiff_t scm_t_ptrdiff SCM_DEPRECATED_TYPE;
+#undef SCM_DEPRECATED_TYPE
+
void scm_i_init_deprecated (void);
#endif
diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c
index 8eebe65bd..8d77dfaf2 100644
--- a/libguile/gen-scmconfig.c
+++ b/libguile/gen-scmconfig.c
@@ -255,20 +255,6 @@ main (int argc, char *argv[])
pf ("#define SCM_SIZEOF_INTPTR_T %zu\n", sizeof (intptr_t));
pf ("#define SCM_SIZEOF_UINTPTR_T %zu\n", sizeof (uintptr_t));
- pf("typedef int8_t scm_t_int8;\n");
- pf("typedef uint8_t scm_t_uint8;\n");
- pf("typedef int16_t scm_t_int16;\n");
- pf("typedef uint16_t scm_t_uint16;\n");
- pf("typedef int32_t scm_t_int32;\n");
- pf("typedef uint32_t scm_t_uint32;\n");
- pf("typedef intmax_t scm_t_intmax;\n");
- pf("typedef uintmax_t scm_t_uintmax;\n");
- pf("typedef intptr_t scm_t_intptr;\n");
- pf("typedef uintptr_t scm_t_uintptr;\n");
- pf("typedef int64_t scm_t_int64;\n");
- pf("typedef uint64_t scm_t_uint64;\n");
- pf("typedef ptrdiff_t scm_t_ptrdiff;\n");
-
pf ("\n");
pf ("/* same as POSIX \"struct timespec\" -- always defined */\n");
#ifdef HAVE_SYSTEM_STRUCT_TIMESPEC
@@ -345,7 +331,7 @@ main (int argc, char *argv[])
how the application that uses Guile is compiled. */
#if defined GUILE_USE_64_CALLS && defined HAVE_STAT64
- pf ("typedef scm_t_int64 scm_t_off;\n");
+ pf ("typedef int64_t scm_t_off;\n");
pf ("#define SCM_T_OFF_MAX INT64_MAX\n");
pf ("#define SCM_T_OFF_MIN INT64_MIN\n");
#elif SIZEOF_OFF_T == SIZEOF_INT