ComputationalRadiationPhysics / cuda_memtest

Fork of CUDA GPU memtest :eyeglasses:
http://sourceforge.net/projects/cudagpumemtest
110 stars 31 forks source link

ocl_memtest compile errors: unable to find string literal operator #20

Closed ThomasTheGerman closed 5 years ago

ThomasTheGerman commented 5 years ago

GCC Version: 9.1.0 Arch Linux

make ocl_memtest
g++ -c  ocl_tests.cpp -I-I. -I/usr/local/cuda/include  -I/usr/local/ati-stream-sdk-v2.1-lnx64//include
In file included from ocl_tests.cpp:13:
ocl_tests.cpp: In function 'unsigned int error_checking(memtest_control_t*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:46:5: note: in expansion of macro 'PRINTF'
   46 |     PRINTF("ERROR: error_count=%d\n", host_err_count);
      |     ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:47:5: note: in expansion of macro 'PRINTF'
   47 |     PRINTF("ERROR: the last %d error addresses are:\t", MIN(MAX_ERR_RECORD_COUNT, host_err_count));
      |     ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:55:7: note: in expansion of macro 'PRINTF'
   55 |       PRINTF("ERROR: %dth error, expected value=0x%lx, current value=0x%lx, diff=0x%lx\n",
      |       ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:63:7: note: in expansion of macro 'PRINTF'
   63 |       PRINTF("Error Found in Memtest, exiting\n");
      |       ^~~~~~
ocl_tests.cpp: In function 'void test0(memtest_control_t*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:179:3: note: in expansion of macro 'PRINTF'
  179 |   PRINTF("Test0: global walk test\n");
      |   ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:200:3: note: in expansion of macro 'PRINTF'
  200 |   PRINTF("Test0: local walk test\n");
      |   ^~~~~~
ocl_tests.cpp: In function 'void test6(memtest_control_t*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:468:5: note: in expansion of macro 'PRINTF'
  468 |     PRINTF("Test6[move inversion 32 bits test]: pattern =0x%x, offset=%d\n", pattern, i);
      |     ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:470:5: note: in expansion of macro 'PRINTF'
  470 |     PRINTF("Test6[move inversion 32 bits test]: pattern =0x%x, offset=%d\n", ~pattern, i);
      |     ^~~~~~
ocl_tests.cpp: In function 'void test7(memtest_control_t*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:496:5: note: in expansion of macro 'PRINTF'
  496 |     PRINTF("ERROR: malloc failed for thost buf in test7\n");
      |     ^~~~~~
ocl_tests.cpp: In function 'void test8(memtest_control_t*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:622:3: note: in expansion of macro 'PRINTF'
  622 |   PRINTF("test8[mod test]: p1=0x%lx, p2=0x%lx\n", p1,p2);
      |   ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:632:6: note: in expansion of macro 'PRINTF'
  632 |      PRINTF("%dth repeating test8 because there are %d errors found in last run, p1=%lx, p2=%lx\n", iteration, err, p1, p2);
      |      ^~~~~~
ocl_tests.cpp: In function 'void* run_tests(void*)':
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:820:2: note: in expansion of macro 'PRINTF'
  820 |  PRINTF("%s\n", cuda_memtests[i].desc);
      |  ^~~~~~
ocl_tests.h:35:12: error: unable to find string literal operator 'operator""fmt' with 'const char [14]', 'long unsigned int' arguments
   35 |     printf("[%s][%s][%d]:"fmt, time_string(), hostname, mc->device_idx, ##__VA_ARGS__); \
      |            ^~~~~~~~~~~~~~~~~~
ocl_tests.cpp:824:2: note: in expansion of macro 'PRINTF'
  824 |  PRINTF("Test%d finished in %.1f seconds\n", i, TDIFF(t1, t0));
      |  ^~~~~~
make: *** [Makefile:82: ocl_tests.o] Error 1
sbastrakov commented 5 years ago

@ThomasTheGerman thanks for report. Does adding a space between " and fmt here help?

ThomasTheGerman commented 5 years ago

yep, that did it. Thanks for the instant response