2012-06-15 2 views
1

누구든지이 파일의 소스 코드를 변경하지 않고 파일의 소스 코드에서 작성된 플래그를 어떻게 비활성화 할 수 있는지 알고 있습니다. 어쩌면 .exp 파일 중 하나를 변경해야합니까?DejaGnu 옵션 비활성화

나는이 소스 코드를 변경하지 않고 플래그 -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; 
    } 
} 

답변

0

나는 당신이 할 수 있다고 생각하지 않습니다를, 그러나에 -pthread 예정대로 * - *이 - 리눅스의 목표는 단순히 -D_REENTRANT로 확장하고 -lpthread 어쩌면 당신은 할 수 libpthread을 교체하고 libpthread.so이 연결되지 않도록 dir을 테스트 플래그에 추가하십시오.

pthread_exit의 정의를 제공하지 않으면 물론 프로그램 연결을 방해합니다.