MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:marko.makela Date:December 2 2010 8:32am
Subject:bzr commit into mysql-5.5-innodb branch (marko.makela:3251) Bug#58226
View as plain text  
#At file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ based on revid:marko.makela@stripped4ufii06or4oe

 3251 Marko Mäkelä	2010-12-02
      Fix UNIV_MEM_DEBUG compilation failure caused by Bug#58226 fix.
      To fix Bug#58226 (speed up UNIV_DEBUG), among other things we no longer
      disable the inlining of the functions that are defined in InnoDB .ic files.
      Inside UNIV_MEM_DEBUG, there was an implicit type conversion from void*
      that is all right in C, but not in C++. Now that inlining was enabled,
      the C++ compiler would see the code and complain.
      Approved by Jimmy Yang on IRC.

=== modified file 'storage/innobase/include/mem0mem.ic'
--- a/storage/innobase/include/mem0mem.ic	revid:marko.makela@stripped54ufii06or4oe
+++ b/storage/innobase/include/mem0mem.ic	revid:marko.makela@strippedlzi
@@ -350,27 +350,27 @@ mem_heap_get_top(
 	ulint		n)	/*!< in: size of the topmost element */
 	mem_block_t*	block;
-	void*		buf;
+	byte*		buf;
 	block = UT_LIST_GET_LAST(heap->base);
-	buf = (byte*)block + mem_block_get_free(block) - MEM_SPACE_NEEDED(n);
+	buf = (byte*) block + mem_block_get_free(block) - MEM_SPACE_NEEDED(n);
-	ut_ad(mem_block_get_start(block) <=(ulint)((byte*)buf - (byte*)block));
+	ut_ad(mem_block_get_start(block) <= (ulint) (buf - (byte*) block));
 	/* In the debug version, advance buf to point at the storage which
 	was given to the caller in the allocation*/
-	buf = (byte*)buf + MEM_FIELD_HEADER_SIZE;
 	/* Check that the field lengths agree */
-	ut_ad(n == (ulint)mem_field_header_get_len(buf));
+	ut_ad(n == mem_field_header_get_len(buf));
-	return(buf);
+	return((void*) buf);

Attachment: [text/bzr-bundle] bzr/
bzr commit into mysql-5.5-innodb branch (marko.makela:3251) Bug#58226marko.makela2 Dec