【发布时间】:2014-07-20 14:35:31
【问题描述】:
我正在尝试清理编译 Blitz++ 时收到的警告:
/opt/local/include/blitz/tinyvec2.h:261:35: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/opt/local/include/blitz/tinyvec2.h:264:43: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/opt/local/include/blitz/tinyvec2.h:267:40: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
<<etc.>>
来自这些类型的成员函数(TinyVector 类)
T_numtype * restrict data() // line 261
{ return data_; } // data is a member that is an array of data values
const T_numtype * restrict data() const // line 264
{ return data_; }
据我所知,由于restrict 关键字,我收到了警告。注意:有些宏应该将restrict 替换为__restrict__(g++ 可以理解)。
我可以通过删除关键字来消除警告;但是,由于这应该是一个高性能的数值库,我不想失去 restrict 关键字允许的任何编译器优化。
在不完全删除restrict 并保持-Wall 开启的情况下,我能做些什么来抑制这些警告?
【问题讨论】:
-
如果它是这样的内部问题,并且此建议不会因忽略其他警告而破坏其他任何内容,请通过
-isystem path/to/Blitz将 Blitz 放入包含目录中。
标签: c++ g++ suppress-warnings restrict-qualifier blitz++