避免警告:在RUNNING_ON_VALGRIND上使用PGI'忽略了“ cc”垃圾箱?

问题描述

我们收到警告类型

"/var/lib/buildbot/slaves/athor-linux-pgi-c-nompi/petsc/src/sys/objects/pinit.c
         ",line 1493: warning: "cc" clobber ignored
   if (!(RUNNING_ON_VALGRIND)) {

使用NVIDIA / PGI C编译器的最新社区版本进行编译时。

我们希望将所有警告标记都编译为打开,因此,如果可能的话,不要关闭警告标记

RUNNING_ON_VALGRIND在valgrind.h中定义为最终成为

的用途
#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
                     "roll $3,%%edi ; roll $13,%%edi\n\t"      \
                     "roll $29,%%edi ; roll $19,%%edi\n\t"

#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                          \
        _zzq_default,_zzq_request,\
        _zzq_arg1,_zzq_arg2,_zzq_arg3,_zzq_arg4,_zzq_arg5)    \
  __extension__                                                   \
  ({volatile unsigned int _zzq_args[6];                           \
    volatile unsigned int _zzq_result;                            \
    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
                     /* %EDX = client_request ( %EAX ) */         \
                     "xchgl %%ebx,%%ebx"                          \
                     : "=d" (_zzq_result)                         \
                     : "a" (&_zzq_args[0]),"0" (_zzq_default)    \
                     : "cc","memory"                             \
                    );                                            \
    _zzq_result;                                                  \
  })

有什么方法可以避免产生破坏性消息吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)