hcatlin/libsass — pull request #195 by archgrove (2013-12-07 17:09:52+00:00)
Title: Fixed clash crasher (added placement delete for par-constructed objects)

This request, applied atop my previous request, should allow correct compilation on clang.

Details:

OK, I tracked down the crasher. There was no corresponding placement delete to match the memory manager's placement new. Therefore, unconstructed objects (due to exceptions thrown in constructors) were being tracked by the memory managers interval vector, but were actually invalid. That this worked in GCC surprises me, but clang's libc++ runtime was most unhappy. I've added the placement delete, which corrects the problem.

Now, with clang 500.2.79 and gcc 4.7.3, I get clean compilations and identical test suit results, viz:

"741 tests found. 70 of them were not run due to unsuccessful termination. Of the 671 that ran, 394 passed."