OSDN Git Service

* libiberty.h (ASTRDUP): Add casts required for stricter
authorbernie <bernie@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Jul 2004 20:54:38 +0000 (20:54 +0000)
committerbernie <bernie@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Jul 2004 20:54:38 +0000 (20:54 +0000)
type conversion rules of C++.
* obstack.h (obstack_free): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84642 138bc75d-0d04-0410-961f-82ee72b054a4

include/ChangeLog
include/libiberty.h
include/obstack.h

index a4df91a..55ea885 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-13  Bernardo Innocenti  <bernie@develer.com>
+
+       * libiberty.h (ASTRDUP): Add casts required for stricter
+       type conversion rules of C++.
+       * obstack.h (obstack_free): Likewise.
+
 2004-05-04  Andreas Jaeger  <aj@suse.de>
 
        * demangle.h: Do not use C++ reserved keyword typename as
index 761b2cf..5c10153 100644 (file)
@@ -309,7 +309,7 @@ extern PTR C_alloca PARAMS ((size_t)) ATTRIBUTE_MALLOC;
 # define ASTRDUP(X) \
   (__extension__ ({ const char *const libiberty_optr = (X); \
    const unsigned long libiberty_len = strlen (libiberty_optr) + 1; \
-   char *const libiberty_nptr = alloca (libiberty_len); \
+   char *const libiberty_nptr = (char *const) alloca (libiberty_len); \
    (char *) memcpy (libiberty_nptr, libiberty_optr, libiberty_len); }))
 #else
 # define alloca(x) C_alloca(x)
@@ -323,7 +323,7 @@ extern unsigned long libiberty_len;
 # define ASTRDUP(X) \
   (libiberty_optr = (X), \
    libiberty_len = strlen (libiberty_optr) + 1, \
-   libiberty_nptr = alloca (libiberty_len), \
+   libiberty_nptr = (char *) alloca (libiberty_len), \
    (char *) memcpy (libiberty_nptr, libiberty_optr, libiberty_len))
 #endif
 
index 5496ff2..007853e 100644 (file)
@@ -494,9 +494,9 @@ __extension__                                                               \
 # define obstack_free(OBSTACK, OBJ)                                    \
 __extension__                                                          \
 ({ struct obstack *__o = (OBSTACK);                                    \
-   void *__obj = (OBJ);                                                        \
+   void *__obj = (void *) (OBJ);                                       \
    if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit)  \
-     __o->next_free = __o->object_base = __obj;                                \
+     __o->next_free = __o->object_base = (char *) __obj;               \
    else (obstack_free) (__o, __obj); })
 \f
 #else /* not __GNUC__ or not __STDC__ */