Make ssize_t an actual ssize_t
In the process of getting rid of compiler includes during in coreboot and libpayload, we defined size_t and ssize_t ourselves, using a GCC macro for size_t: __SIZE_TYPE__. Unfortunately, there is no __SSIZE_TYPE__, so we temporarily redefine unsigned to signed to make __SIZE_TYPE__ __SSIZE_TYPE__. Signed-off-by: Stefan Reinauer <reinauer@google.com> Change-Id: I4cf4eb0fdaa4db64277c2585fe2c1bdc0acdf02b Reviewed-on: https://gerrit.chromium.org/gerrit/49947 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Commit-Queue: Stefan Reinauer <reinauer@google.com> Tested-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/4156 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 Stefan Reinauer
						Stefan Reinauer
					
				
			
			
				
	
			
			
			
						parent
						
							118b382e7d
						
					
				
				
					commit
					f8b36501fd
				
			| @@ -6,7 +6,13 @@ typedef long ptrdiff_t; | ||||
| #define __SIZE_TYPE__ unsigned long | ||||
| #endif | ||||
| typedef __SIZE_TYPE__ size_t; | ||||
| typedef long ssize_t; | ||||
| /* There is a GCC macro for a size_t type, but not | ||||
|  * for a ssize_t type. Below construct tricks GCC | ||||
|  * into making __SIZE_TYPE__ signed. | ||||
|  */ | ||||
| #define unsigned signed | ||||
| typedef __SIZE_TYPE__ ssize_t; | ||||
| #undef unsigned | ||||
|  | ||||
| typedef int wchar_t; | ||||
| typedef unsigned int wint_t; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user