changeset 17406:253d6bbd7aa4

obstack: port --enable-gcc-warnings to clang * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast): Avoid casts from looser to stricter-aligned pointers.
author Paul Eggert <eggert@cs.ucla.edu>
date Wed, 15 May 2013 00:27:15 -0700
parents 2760c772c42c
children b5c1d4b2677e
files ChangeLog lib/obstack.h
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
 
+	obstack: port --enable-gcc-warnings to clang
+	* lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
+	Avoid casts from looser to stricter-aligned pointers.
+
 	memchr2: port --enable-gcc-warnings to clang
 	* lib/memchr2.c (memchr2):
 	Avoid casts from looser to stricter-aligned pointers.
--- a/lib/obstack.h
+++ b/lib/obstack.h
@@ -342,14 +342,16 @@
 # define obstack_ptr_grow_fast(OBSTACK,aptr)                            \
 __extension__                                                           \
 ({ struct obstack *__o1 = (OBSTACK);                                    \
-   *(const void **) __o1->next_free = (aptr);                           \
+   void *__p1 = __o1->next_free;                                        \
+   *(const void **) __p1 = (aptr);                                      \
    __o1->next_free += sizeof (const void *);                            \
    (void) 0; })
 
 # define obstack_int_grow_fast(OBSTACK,aint)                            \
 __extension__                                                           \
 ({ struct obstack *__o1 = (OBSTACK);                                    \
-   *(int *) __o1->next_free = (aint);                                   \
+   void *__p1 = __o1->next_free;                                        \
+   *(int *) __p1 = (aint);                                              \
    __o1->next_free += sizeof (int);                                     \
    (void) 0; })