GCC:有没有办法禁用特定函数的-fstack用法?

GCC:有没有办法禁用特定函数的-fstack用法?,gcc,pragma,Gcc,Pragma,我敢打赌一定有类似“布拉格马”的东西。。“-fno堆栈用法”之类的。基本上我得到的是这样一个错误: error: stack usage computation not supported for this target [-Werror] 我不想全局禁用-fstack用法。我也尝试过做“pragma-GCC-diagnostics-ignored”-Werror,但没有效果 将函数放在自己的编译单元中是一种可以接受的解决方法吗?这属于“做愚蠢的黑客,因为gcc不会让你做对”(在我开始挖掘gc

我敢打赌一定有类似“布拉格马”的东西。。“-fno堆栈用法”之类的。基本上我得到的是这样一个错误:

error: stack usage computation not supported for this target [-Werror]

我不想全局禁用-fstack用法。我也尝试过做“pragma-GCC-diagnostics-ignored”-Werror,但没有效果

将函数放在自己的编译单元中是一种可以接受的解决方法吗?这属于“做愚蠢的黑客,因为gcc不会让你做对”(在我开始挖掘gcc源代码以了解问题是什么之前,我宁愿问是否有可能的pragma解决方法)我对“愚蠢的黑客”的最新补充类别是在STACK_USAGE make变量未设置为1时有条件地添加-Werror,如果设置为1,则添加-fstack USAGE。所以我可以让STACK_USAGE=1来获得堆栈使用率。不是很理想,但到目前为止最好。有问题的函数是否有任何内联asm?是的。这是问题的根源。(我无法删除asm,因为它是任务切换代码)。