diff --git a/ChangeLog b/ChangeLog index 78a6323ddef..bb433d6cdaa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3158,3 +3158,5 @@ abort return EINTR (or a short transfer size) if a signal is received while waiting to receive or send serial data. This behavior is required by POSIX. + * include/sys/types.h: Define NULL to be (0) if __cplusplus is defined. + (contributed by Mike Smith) diff --git a/include/sys/types.h b/include/sys/types.h index 6014b9b74db..2ae69d4a7e4 100644 --- a/include/sys/types.h +++ b/include/sys/types.h @@ -1,7 +1,7 @@ /**************************************************************************** * include/sys/types.h * - * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -63,8 +63,11 @@ /* NULL is usually defined in stddef.h (which includes this file) */ #ifndef NULL - /* SDCC is sensitive to NULL pointer type conversions */ -# ifdef SDCC + /* SDCC is sensitive to NULL pointer type conversions, and C++ defines + * NULL as zero + */ + +# if defined(SDCC) || defined(__cplusplus) # define NULL (0) # else # define NULL ((void*)0)