12c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar// Simple test for a fuzzer. The fuzzer must find a sequence of C++ tokens.
22c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar#include <cstdint>
32c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar#include <cstdlib>
42c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar#include <cstddef>
52c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar#include <cstring>
62c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar#include <iostream>
72c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar
82c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainarstatic void Found() {
92c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar  std::cout << "Found the target, exiting\n";
102c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar  exit(1);
112c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar}
122c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar
132c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainarextern "C" void TestOneInput(const uint8_t *Data, size_t Size) {
142c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar  // looking for "thread_local unsigned A;"
152c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar  if (Size < 24) return;
162c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar  if (0 == memcmp(&Data[0], "thread_local", 12))
172c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar    if (Data[12] == ' ')
182c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar      if (0 == memcmp(&Data[13], "unsigned", 8))
192c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar        if (Data[21] == ' ')
202c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar          if (Data[22] == 'A')
212c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar            if (Data[23] == ';')
222c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar              Found();
232c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar}
242c3e0051c31c3f5b2328b447eadf1cf9c4427442Pirama Arumuga Nainar
25