Cast result of obstack_next_free

Message ID 20141105060729.GB30857@bubble.grove.modra.org
State New, archived
Headers

Commit Message

Alan Modra Nov. 5, 2014, 6:07 a.m. UTC
  obstack_next_free is supposed to return a void*, rather than a char*
as it does currently.  Avoid warning on void* arithmetic when
obstack_next_free gets it proper return type.  Committing as obvious.

	* cp-valprint.c (cp_print_value_fields): Cast obstack_next_free
	to char* before doing pointer arithmetic.
  

Patch

diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
index 42010c2..8f456bf 100644
--- a/gdb/cp-valprint.c
+++ b/gdb/cp-valprint.c
@@ -370,7 +370,7 @@  cp_print_value_fields (struct type *type, struct type *real_type,
 	      /* In effect, a pop of the printed-statics stack.  */
 
 	      void *free_to_ptr =
-		obstack_next_free (&dont_print_statmem_obstack) -
+		(char *) obstack_next_free (&dont_print_statmem_obstack) -
 		(obstack_final_size - statmem_obstack_initial_size);
 
 	      obstack_free (&dont_print_statmem_obstack,
@@ -385,7 +385,7 @@  cp_print_value_fields (struct type *type, struct type *real_type,
 	      if (obstack_final_size > stat_array_obstack_initial_size)
 		{
 		  void *free_to_ptr =
-		    obstack_next_free (&dont_print_stat_array_obstack)
+		    (char *) obstack_next_free (&dont_print_stat_array_obstack)
 		    - (obstack_final_size
 		       - stat_array_obstack_initial_size);