40 lines
		
	
	
		
			1000 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1000 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_pgogen -O2 -o %t.0 %s
 | 
						|
// RUN: %clang_pgogen=%t.d1 -O2 -o %t.1 %s
 | 
						|
// RUN: %clang_pgogen=%t.d1/%t.d2 -O2 -o %t.2 %s
 | 
						|
//
 | 
						|
// RUN: %run %t.0  ""
 | 
						|
// RUN: env LLVM_PROFILE_FILE=%t.d1/default.profraw %run %t.0  %t.d1/
 | 
						|
// RUN: env LLVM_PROFILE_FILE=%t.d1/%t.d2/default.profraw %run %t.0 %t.d1/%t.d2/
 | 
						|
// RUN: %run %t.1 %t.d1/
 | 
						|
// RUN: %run %t.2 %t.d1/%t.d2/
 | 
						|
// RUN: %run %t.2 %t.d1/%t.d2/ %t.d1/%t.d2/%t.d3/blah.profraw %t.d1/%t.d2/%t.d3/
 | 
						|
 | 
						|
#include <string.h>
 | 
						|
 | 
						|
const char *__llvm_profile_get_path_prefix();
 | 
						|
void __llvm_profile_set_filanem(const char*);
 | 
						|
 | 
						|
int main(int argc, const char *argv[]) {
 | 
						|
  int i;
 | 
						|
  const char *expected;
 | 
						|
  const char *prefix;
 | 
						|
  if (argc < 2)
 | 
						|
    return 1;
 | 
						|
 | 
						|
  expected = argv[1];
 | 
						|
  prefix = __llvm_profile_get_path_prefix();
 | 
						|
 | 
						|
  if (strcmp(prefix, expected))
 | 
						|
    return 1;
 | 
						|
 | 
						|
  if (argc == 4) {
 | 
						|
    __llvm_profile_set_filename(argv[2]);
 | 
						|
    prefix = __llvm_profile_get_path_prefix();
 | 
						|
    expected = argv[3];
 | 
						|
    if (strcmp(prefix, expected))
 | 
						|
      return 1;
 | 
						|
  }
 | 
						|
 | 
						|
  return 0;
 | 
						|
}
 |