// { dg-do run } | |
// PR 11228: array operator new, with zero-initialization and a variable sized array. | |
// Regression test for PR | |
// Author: Matt Austern <austern@apple.com> | |
#include <new> | |
#include <stdlib.h> | |
#include <string.h> | |
double* allocate(int n) | |
{ | |
void *p; | |
p = malloc(n * sizeof (double)); | |
memset (p, 0xff, n * sizeof(double)); | |
return new (p) double[n](); | |
} | |
int main() | |
{ | |
const int n = 17; | |
double* p = allocate(n); | |
for (int i = 0; i < n; ++i) | |
if (p[i] != 0.0) | |
abort (); | |
exit (0); | |
} |