mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236683 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			25 lines
		
	
	
		
			648 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			648 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// Simple test for a fuzzer. The fuzzer must find a sequence of C++ tokens.
 | 
						|
#include <cstdint>
 | 
						|
#include <cstdlib>
 | 
						|
#include <cstddef>
 | 
						|
#include <cstring>
 | 
						|
#include <iostream>
 | 
						|
 | 
						|
static void Found() {
 | 
						|
  std::cout << "BINGO; Found the target, exiting\n";
 | 
						|
  exit(1);
 | 
						|
}
 | 
						|
 | 
						|
extern "C" void LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
 | 
						|
  // looking for "thread_local unsigned A;"
 | 
						|
  if (Size < 24) return;
 | 
						|
  if (0 == memcmp(&Data[0], "thread_local", 12))
 | 
						|
    if (Data[12] == ' ')
 | 
						|
      if (0 == memcmp(&Data[13], "unsigned", 8))
 | 
						|
        if (Data[21] == ' ')
 | 
						|
          if (Data[22] == 'A')
 | 
						|
            if (Data[23] == ';')
 | 
						|
              Found();
 | 
						|
}
 | 
						|
 |