2.11.23 returns_new_memory
#pragma returns_new_memory (funcname[,
funcname])
该 pragma 断言指定函数的返回值在调用点上不使用任何内存作为别名。实际上,该调用返回一个新存储单元。通过此信息,优化器可以更好地跟踪指针值和说明内存位置,从而改善循环的调度、流水线作业和并行化。然而,如果断言为假,则程序的行为未定义。
只有在使用原型或空参数列表声明指定的函数之后才允许使用该 pragma,如下例所示。
void *malloc(unsigned);
#pragma returns_new_memory(malloc)