line-map.c (linemap_init): Use placement new.

* line-map.c (linemap_init): Use placement new.

	* system.h: #include <new>.

From-SVN: r260343
This commit is contained in:
Jason Merrill 2018-05-17 19:28:34 -04:00 committed by Jason Merrill
parent 7bbce9b503
commit b2ff74575d
3 changed files with 10 additions and 1 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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