禁用DejaGnu选项

时间:2012-06-15 13:11:54

标签: c testing gcc toolchain

有没有人知道如何禁用写在文件源代码中的标志,而不更改此文件的源代码。也许我必须更改一个.exp文件?

我想在不更改此源代码的情况下禁用标记-pthread

// { dg-do run { target *-*-linux* } }
// { dg-options "-pthread" }
#include <pthread.h>
#include <cxxabi.h>
extern "C" int printf (const char *, ...);
int main()
{
  try
    {
      pthread_exit (0);
    }
  catch (abi::__forced_unwind &)
    {
      printf ("caught forced unwind\n");
      throw;
    }
  catch (...)
    {
      printf ("caught ...\n");
      return 1;
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你不能,但是{* 1}} * - * - linux目标只是扩展到-pthread-D_REENTRANT也许你可以提供替代-lpthread并将libpthread dir 添加到测试标记中,以便系统-L未链接到。

如果您没有提供libpthread.so的定义,那么这当然会阻止程序链接。