diff options
author | Jason Merrill <jason@redhat.com> | 2018-05-17 19:28:34 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2018-05-17 19:28:34 -0400 |
commit | b2ff74575d7269d6f3a9a83b86e68d229cbc539f (patch) | |
tree | 67941a07b2fd39de7e20d799fcd8527e03749c2d | |
parent | 7bbce9b50302959286381d9177818642bceaf301 (diff) | |
download | gcc-b2ff74575d7269d6f3a9a83b86e68d229cbc539f.zip gcc-b2ff74575d7269d6f3a9a83b86e68d229cbc539f.tar.gz gcc-b2ff74575d7269d6f3a9a83b86e68d229cbc539f.tar.bz2 |
line-map.c (linemap_init): Use placement new.
* line-map.c (linemap_init): Use placement new.
* system.h: #include <new>.
From-SVN: r260343
-rw-r--r-- | libcpp/ChangeLog | 5 | ||||
-rw-r--r-- | libcpp/line-map.c | 2 | ||||
-rw-r--r-- | libcpp/system.h | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index a66948f..88cbe1b 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2018-05-17 Jason Merrill <jason@redhat.com> + + * line-map.c (linemap_init): Use placement new. + * system.h: #include <new>. + 2018-03-14 David Malcolm <dmalcolm@redhat.com> * include/line-map.h (compare): New function on linenum_type. diff --git a/libcpp/line-map.c b/libcpp/line-map.c index a84084c..b2ebfeb 100644 --- a/libcpp/line-map.c +++ b/libcpp/line-map.c @@ -348,7 +348,7 @@ linemap_init (struct line_maps *set, /* PR33916, needed to fix PR82939. */ memset (set, 0, sizeof (struct line_maps)); #else - *set = line_maps (); + new (set) line_maps(); #endif set->highest_location = RESERVED_LOCATION_COUNT - 1; set->highest_line = RESERVED_LOCATION_COUNT - 1; diff --git a/libcpp/system.h b/libcpp/system.h index 719435d..76420e1 100644 --- a/libcpp/system.h +++ b/libcpp/system.h @@ -438,6 +438,10 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; /* Some compilers do not allow the use of unsigned char in bitfields. */ #define BOOL_BITFIELD unsigned int +#ifdef __cplusplus +#include <new> +#endif + /* Poison identifiers we do not want to use. */ #if (GCC_VERSION >= 3000) #undef calloc |