Sounds like a compiler bug that a standard feature implementable in freestanding doesn't work in freestanding.