* installing to library ‘/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages’ * installing *source* package ‘data.table’ ... ** package ‘data.table’ successfully unpacked and MD5 sums checked ** using staged installation zlib 1.2.13 is available ok R CMD SHLIB supports OpenMP without any extra hint ** libs using C compiler: ‘Debian clang version 17.0.5 (1)’ make[1]: Entering directory '/tmp/RtmpVhwrWA/R.INSTALL224ed86af594d/data.table/src' clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c assign.c -o assign.o assign.c:470:83: warning: format specifies type 'int' but the argument has type 'R_xlen_t' (aka 'long') [-Wformat] 470 | error(_("Internal error: selfrefnames is ok but tl names [%d] != tl [%d]"), TRUELENGTH(names), oldtncol); // # nocov | ~~ ^~~~~~~~~~~~~~~~~ | %td assign.c:518:22: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 518 | if (ret) warning(ret); | ^~~ assign.c:518:22: note: treat the string as an argument to avoid this 518 | if (ret) warning(ret); | ^ | "%s", assign.c:650:35: warning: more '%' conversions than data arguments [-Wformat-insufficient-args] 650 | error(_("Internal error: %d column numbers to delete not now in strictly increasing order. No-dups were checked earlier.")); // # nocov | ~^ ./po.h:3:42: note: expanded from macro '_' 3 | #define _(String) dgettext("data.table", String) | ^~~~~~ /usr/include/libintl.h:112:26: note: expanded from macro 'dgettext' 112 | dcgettext (domainname, msgid, LC_MESSAGES) | ^~~~~ assign.c:794:96: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 794 | error(_("Unable to allocate working memory of %d bytes to combine factor levels"), nAdd*sizeof(SEXP *)); | ~~ ^~~~~~~~~~~~~~~~~~~ | %lu assign.c:1142:133: warning: format specifies type 'void *' but the argument has type 'SEXP *' (aka 'struct SEXPREC **') [-Wformat-pedantic] 1142 | error(_("Internal error: savetl_init checks failed (%d %d %p %p). please report to data.table issue tracker."), nsaved, nalloc, saveds, savedtl); // # nocov | ~~ ^~~~~~ assign.c:1142:141: warning: format specifies type 'void *' but the argument has type 'R_len_t *' (aka 'int *') [-Wformat-pedantic] 1142 | error(_("Internal error: savetl_init checks failed (%d %d %p %p). please report to data.table issue tracker."), nsaved, nalloc, saveds, savedtl); // # nocov | ~~ ^~~~~~~ 6 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c between.c -o between.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c bmerge.c -o bmerge.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c chmatch.c -o chmatch.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c cj.c -o cj.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c coalesce.c -o coalesce.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c dogroups.c -o dogroups.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fastmean.c -o fastmean.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fcast.c -o fcast.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fifelse.c -o fifelse.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fmelt.c -o fmelt.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c forder.c -o forder.o forder.c:107:30: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 107 | if (gs_thread[me]==NULL) STOP(_("Failed to realloc thread private group size buffer to %d*4bytes"), (int)gs_thread_alloc[me]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:107:30: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:121:19: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 121 | if (gs==NULL) STOP(_("Failed to realloc group size result to %d*4bytes"), (int)gs_alloc); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:121:19: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:255:27: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 255 | if (thiscounts[0] != 0) STOP(_("Logical error. counts[0]=%d in cradix but should have been decremented to 0. radix=%d"), thiscounts[0], radix); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:255:27: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:270:23: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 270 | if (!cradix_counts) STOP(_("Failed to alloc cradix_counts")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:270:23: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:272:21: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 272 | if (!cradix_xtmp) STOP(_("Failed to alloc cradix_tmp")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:272:21: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:283:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 283 | if (ustr_n!=0) STOP(_("Internal error: ustr isn't empty when starting range_str: ustr_n=%d, ustr_alloc=%d"), ustr_n, ustr_alloc); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:283:18: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:284:23: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 284 | if (ustr_maxlen!=0) STOP(_("Internal error: ustr_maxlen isn't 0 when starting range_str")); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:284:23: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:304:25: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 304 | if (ustr==NULL) STOP(_("Unable to realloc %d * %d bytes in range_str"), ustr_alloc, (int)sizeof(SEXP)); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:304:25: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:322:17: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 322 | if (!ustr3) STOP(_("Failed to alloc ustr3 when converting strings to UTF8")); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:322:17: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:340:14: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 340 | if (!tl) STOP(_("Failed to alloc tl when converting strings to UTF8")); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:340:14: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:404:3: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 404 | STOP(_("Unknown non-finite value; not NA, NaN, -Inf or +Inf")); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:404:3: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:426:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 426 | STOP(_("Internal error: input is not either a list of columns, or an atomic vector.")); // # nocov; caught by colnamesInt at R level, test 1962.0472 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:426:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:428:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 428 | STOP(_("Internal error: input is an atomic vector (not a list of columns) but by= is not NULL")); // # nocov; caught at R level, test 1962.043 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:428:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:430:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 430 | STOP(_("Input is an atomic vector (not a list of columns) but order= is not a length 1 integer")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:430:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:443:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 443 | STOP(_("Internal error: DT is an empty list() of 0 columns")); // # nocov should have been caught be colnamesInt, test 2099.1 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:443:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:445:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 445 | STOP(_("Internal error: DT has %d columns but 'by' is either not integer or is length 0"), length(DT)); // # nocov colnamesInt catches, 2099.2 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:445:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:447:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 447 | STOP(_("Either order= is not integer or its length (%d) is different to by='s length (%d)"), LENGTH(ascArg), LENGTH(by)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:447:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:453:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 453 | STOP(_("internal error: 'by' value %d out of range [1,%d]"), by_i, length(DT)); // # nocov # R forderv already catch that using C colnamesInt | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:453:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:455:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 455 | STOP(_("Column %d is length %d which differs from length of column 1 (%d)\n"), INTEGER(by)[i], length(VECTOR_ELT(DT, INTEGER(by)[i]-1)), nrow); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:455:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:459:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 459 | STOP(_("retGrp must be TRUE or FALSE")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:459:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:462:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 462 | STOP(_("sort must be TRUE or FALSE")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:462:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:465:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 465 | STOP(_("At least one of retGrp= or sort= must be TRUE")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:465:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:467:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 467 | STOP(_("na.last must be logical TRUE, FALSE or NA of length 1")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:467:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:495:5: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 495 | STOP(_("Unable to allocate %"PRIu64" bytes of working memory"), (uint64_t)keyAlloc*sizeof(uint8_t *)); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:495:5: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:511:9: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 511 | STOP(_("Item %d of order (ascending/descending) is %d. Must be +1 or -1."), col+1, sortType); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:511:9: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:553:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 553 | STOP(_("Column %d passed to [f]order is type '%s', not yet supported."), col+1, type2char(TYPEOF(x))); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:553:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:599:11: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 599 | STOP(_("Unable to allocate %"PRIu64" bytes of working memory"), (uint64_t)nrow*sizeof(uint8_t)); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:599:11: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:706:8: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 706 | STOP(_("Internal error: column not supported, not caught earlier")); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:706:8: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:720:47: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 720 | if (!TMP || !UGRP /*|| TMP%64 || UGRP%64*/) STOP(_("Failed to allocate TMP or UGRP or they weren't cache line aligned: nth=%d"), nth); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:720:47: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:725:57: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 725 | if (!gs_thread || !gs_thread_alloc || !gs_thread_n) STOP(_("Could not allocate (very tiny) group size thread buffers")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:725:57: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1045:36: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1045 | if (!counts || !ugrps || !ngrps) STOP(_("Failed to allocate parallel counts. my_n=%d, nBatch=%d"), my_n, nBatch); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1045:36: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1154:15: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1154 | if (!TMP) STOP(_("Unable to allocate TMP for my_n=%d items in parallel batch counting"), my_n); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1154:15: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1261:38: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1261 | if (!isNull(by) && !isInteger(by)) STOP(_("Internal error: issorted 'by' must be NULL or integer vector")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1261:38: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1265:57: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1265 | if (INTEGER(by)[0]<1 || INTEGER(by)[0]>length(x)) STOP(_("issorted 'by' [%d] out of range [1,%d]"), INTEGER(by)[0], length(x)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1265:57: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1270:29: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1270 | if (!isVectorAtomic(x)) STOP(_("is.sorted does not work on list columns")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1270:29: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1302:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1302 | STOP(_("type '%s' is not yet supported"), type2char(TYPEOF(x))); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1302:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1315:29: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1315 | if (c<1 || c>length(x)) STOP(_("issorted 'by' [%d] out of range [1,%d]"), c, length(x)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1315:29: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1332:7: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1332 | STOP(_("type '%s' is not yet supported"), type2char(TYPEOF(col))); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1332:7: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ forder.c:1366:9: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 1366 | STOP(_("type '%s' is not yet supported"), type2char(TYPEOF(x))); // # nocov | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^~~ forder.c:1366:9: note: treat the string as an argument to avoid this forder.c:59:74: note: expanded from macro 'STOP' 59 | #define STOP(...) do {snprintf(msg, 1000, __VA_ARGS__); cleanup(); error(msg);} while(0) // http://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html#Swallowing-the-Semicolon | ^ 39 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c frank.c -o frank.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fread.c -o fread.o fread.c:1888:54: warning: format specifies type 'int' but the argument has type 'int64_t' (aka 'long') [-Wformat] 1887 | if (verbose) DTPRINT(_(" 'header' determined to be true due to column %d containing a string on row 1 and a lower type (%s) in the rest of the %d sample rows\n"), | ~~ | %ld 1888 | j+1, typeName[type[j]], sampleLines); | ^~~~~~~~~~~ 1 warning generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c freadR.c -o freadR.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c froll.c -o froll.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c frollR.c -o frollR.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c frolladaptive.c -o frolladaptive.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fsort.c -o fsort.o fsort.c:168:102: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 168 | if (verbose) Rprintf(_("maxBit=%d; MSBNbits=%d; shift=%d; MSBsize=%d\n"), maxBit, MSBNbits, shift, MSBsize); | ~~ ^~~~~~~ | %zu fsort.c:245:49: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 245 | Rprintf(_("Reduced MSBsize from %d to "), MSBsize); | ~~ ^~~~~~~ | %zu fsort.c:249:54: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 249 | Rprintf(_("%d by excluding 0 and 1 counts\n"), MSBsize); | ~~ ^~~~~~~ | %zu 3 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fwrite.c -o fwrite.o fwrite.c:626:28: warning: format specifies type 'int' but the argument has type 'const void *' [-Wformat] 625 | DTPRINT(_("\nargs.doRowNames=%d args.rowNames=%d doQuote=%d args.nrow=%"PRId64" args.ncol=%d eolLen=%d\n"), | ~~ 626 | args.doRowNames, args.rowNames, doQuote, args.nrow, args.ncol, eolLen); | ^~~~~~~~~~~~~ fwrite.c:711:68: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 711 | if (!buff) STOP(_("Unable to allocate %d MiB for header: %s"), headerLen / 1024 / 1024, strerror(errno)); | ~~ ^~~~~~~~~~~~~~~~~~~~~~~ | %zu fwrite.c:731:15: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 731 | DTPRINT(buff); | ^~~~ fwrite.c:731:15: note: treat the string as an argument to avoid this 731 | DTPRINT(buff); | ^ | "%s", fwrite.c:746:64: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 746 | STOP(_("Unable to allocate %d MiB for zbuffer: %s"), zbuffSize / 1024 / 1024, strerror(errno)); // # nocov | ~~ ^~~~~~~~~~~~~~~~~~~~~~~ | %zu fwrite.c:814:10: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 813 | STOP(_("Unable to allocate %d MB * %d thread buffers; '%d: %s'. Please read ?fwrite for nThread, buffMB and verbose options."), | ~~ | %zu 814 | (size_t)buffSize/(1024^2), nth, errno, strerror(errno)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ fwrite.c:825:10: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 824 | STOP(_("Unable to allocate %d MB * %d thread compressed buffers; '%d: %s'. Please read ?fwrite for nThread, buffMB and verbose options."), | ~~ | %zu 825 | (size_t)zbuffSize/(1024^2), nth, errno, strerror(errno)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fwrite.c:915:21: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 915 | DTPRINT(myBuff); | ^~~~~~ fwrite.c:915:21: note: treat the string as an argument to avoid this 915 | DTPRINT(myBuff); | ^ | "%s", 7 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c fwriteR.c -o fwriteR.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c gsumm.c -o gsumm.o gsumm.c:90:38: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 89 | error(_("Internal error: nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%d nBatch=%d batchSize=%d lastBatchSize=%d\n"), // # nocov | ~~ | %zu 90 | nrow, ngrp, nb, bitshift, highSize, nBatch, batchSize, lastBatchSize); // # nocov | ^~~~~~~~ gsumm.c:90:48: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 89 | error(_("Internal error: nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%d nBatch=%d batchSize=%d lastBatchSize=%d\n"), // # nocov | ~~ | %zu 90 | nrow, ngrp, nb, bitshift, highSize, nBatch, batchSize, lastBatchSize); // # nocov | ^~~~~~ gsumm.c:90:56: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 89 | error(_("Internal error: nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%d nBatch=%d batchSize=%d lastBatchSize=%d\n"), // # nocov | ~~ | %zu 90 | nrow, ngrp, nb, bitshift, highSize, nBatch, batchSize, lastBatchSize); // # nocov | ^~~~~~~~~ gsumm.c:90:67: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 89 | error(_("Internal error: nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%d nBatch=%d batchSize=%d lastBatchSize=%d\n"), // # nocov | ~~ | %zu 90 | nrow, ngrp, nb, bitshift, highSize, nBatch, batchSize, lastBatchSize); // # nocov | ^~~~~~~~~~~~~ gsumm.c:609:90: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 609 | if (!s) error(_("Unable to allocate %d * %d bytes for sum in gmean na.rm=TRUE"), ngrp, sizeof(long double)); | ~~ ^~~~~~~~~~~~~~~~~~~ | %lu gsumm.c:612:93: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 612 | if (!c) error(_("Unable to allocate %d * %d bytes for counts in gmean na.rm=TRUE"), ngrp, sizeof(int)); | ~~ ^~~~~~~~~~~ | %lu gsumm.c:638:92: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 638 | if (!si) error(_("Unable to allocate %d * %d bytes for si in gmean na.rm=TRUE"), ngrp, sizeof(long double)); | ~~ ^~~~~~~~~~~~~~~~~~~ | %lu gsumm.c:1411:72: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 1411 | if (!s) error(_("Unable to allocate %d * %d bytes for gprod"), ngrp, sizeof(long double)); | ~~ ^~~~~~~~~~~~~~~~~~~ | %lu 8 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c ijoin.c -o ijoin.o ijoin.c:323:89: warning: data argument not used by format string [-Wformat-extra-args] 323 | default: error(_("Internal error: unknown type in mult=ALL in overlaps: %d"), mult, type); // #nocov | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 1 warning generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c init.c -o init.o init.c:153:139: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 153 | if (sizeof(char *)>8) error(_("Pointers are %d bytes, greater than 8. We have not tested on any architecture greater than 64bit yet."), sizeof(char *)); | ~~ ^~~~~~~~~~~~~~ | %lu init.c:168:71: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 168 | if (sizeof(int) != 4) error(_("Checking sizeof(int) [%d] is 4 %s"), sizeof(int), msg); | ~~ ^~~~~~~~~~~ | %lu init.c:169:77: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 169 | if (sizeof(double) != 8) error(_("Checking sizeof(double) [%d] is 8 %s"), sizeof(double), msg); // 8 on both 32bit and 64bit | ~~ ^~~~~~~~~~~~~~ | %lu init.c:171:83: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 171 | if (sizeof(long long) != 8) error(_("Checking sizeof(long long) [%d] is 8 %s"), sizeof(long long), msg); | ~~ ^~~~~~~~~~~~~~~~~ | %lu init.c:172:106: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 172 | if (sizeof(char *) != 4 && sizeof(char *) != 8) error(_("Checking sizeof(pointer) [%d] is 4 or 8 %s"), sizeof(char *), msg); | ~~ ^~~~~~~~~~~~~~ | %lu init.c:173:105: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 173 | if (sizeof(SEXP) != sizeof(char *)) error(_("Checking sizeof(SEXP) [%d] == sizeof(pointer) [%d] %s"), sizeof(SEXP), sizeof(char *), msg); | ~~ ^~~~~~~~~~~~ | %lu init.c:173:119: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 173 | if (sizeof(SEXP) != sizeof(char *)) error(_("Checking sizeof(SEXP) [%d] == sizeof(pointer) [%d] %s"), sizeof(SEXP), sizeof(char *), msg); | ~~ ^~~~~~~~~~~~~~ | %lu init.c:174:81: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 174 | if (sizeof(uint64_t) != 8) error(_("Checking sizeof(uint64_t) [%d] is 8 %s"), sizeof(uint64_t), msg); | ~~ ^~~~~~~~~~~~~~~~ | %lu init.c:175:79: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 175 | if (sizeof(int64_t) != 8) error(_("Checking sizeof(int64_t) [%d] is 8 %s"), sizeof(int64_t), msg); | ~~ ^~~~~~~~~~~~~~~ | %lu init.c:176:87: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 176 | if (sizeof(signed char) != 1) error(_("Checking sizeof(signed char) [%d] is 1 %s"), sizeof(signed char), msg); | ~~ ^~~~~~~~~~~~~~~~~~~ | %lu init.c:177:77: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 177 | if (sizeof(int8_t) != 1) error(_("Checking sizeof(int8_t) [%d] is 1 %s"), sizeof(int8_t), msg); | ~~ ^~~~~~~~~~~~~~ | %lu init.c:178:79: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 178 | if (sizeof(uint8_t) != 1) error(_("Checking sizeof(uint8_t) [%d] is 1 %s"), sizeof(uint8_t), msg); | ~~ ^~~~~~~~~~~~~~~ | %lu init.c:179:79: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 179 | if (sizeof(int16_t) != 2) error(_("Checking sizeof(int16_t) [%d] is 2 %s"), sizeof(int16_t), msg); | ~~ ^~~~~~~~~~~~~~~ | %lu init.c:180:81: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] 180 | if (sizeof(uint16_t) != 2) error(_("Checking sizeof(uint16_t) [%d] is 2 %s"), sizeof(uint16_t), msg); | ~~ ^~~~~~~~~~~~~~~~ | %lu init.c:184:95: warning: format specifies type 'int' but the argument has type 'R_xlen_t' (aka 'long') [-Wformat] 184 | if (TRUELENGTH(tmp)!=0) error(_("Checking TRUELENGTH(allocVector(INTSXP,2)) [%d] is 0 %s"), TRUELENGTH(tmp), msg); | ~~ ^~~~~~~~~~~~~~~ | %td 15 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c inrange.c -o inrange.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c nafill.c -o nafill.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c nqrecreateindices.c -o nqrecreateindices.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c openmp-utils.c -o openmp-utils.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c quickselect.c -o quickselect.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c rbindlist.c -o rbindlist.o rbindlist.c:212:37: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 212 | if (usenames==TRUE) error(buff); | ^~~~ rbindlist.c:212:37: note: treat the string as an argument to avoid this 212 | if (usenames==TRUE) error(buff); | ^ | "%s", rbindlist.c:233:50: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 233 | else if (strcmp(o,"warning")==0) warning(buff); | ^~~~ rbindlist.c:233:50: note: treat the string as an argument to avoid this 233 | else if (strcmp(o,"warning")==0) warning(buff); | ^ | "%s", rbindlist.c:234:48: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 234 | else if (strcmp(o,"error")==0) error(buff); | ^~~~ rbindlist.c:234:48: note: treat the string as an argument to avoid this 234 | else if (strcmp(o,"error")==0) error(buff); | ^ | "%s", rbindlist.c:494:31: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 494 | if (warnStr[0]) warning(warnStr); // now savetl_end() has happened it's safe to call warning (could error if options(warn=2)) | ^~~~~~~ rbindlist.c:494:31: note: treat the string as an argument to avoid this 494 | if (warnStr[0]) warning(warnStr); // now savetl_end() has happened it's safe to call warning (could error if options(warn=2)) | ^ | "%s", 4 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c reorder.c -o reorder.o reorder.c:17:115: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 17 | error(_("Item %d of list is type '%s' which isn't yet supported (SIZEOF=%d)"), i+1, type2char(TYPEOF(v)), SIZEOF(v)); | ~~ ^~~~~~~~~ | %zu ./data.table.h:37:19: note: expanded from macro 'SIZEOF' 37 | #define SIZEOF(x) __sizes[TYPEOF(x)] | ^~~~~~~~~~~~~~~~~~ reorder.c:27:136: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 27 | error(_("reorder accepts vectors but this non-VECSXP is type '%s' which isn't yet supported (SIZEOF=%d)"), type2char(TYPEOF(x)), SIZEOF(x)); | ~~ ^~~~~~~~~ | %zu ./data.table.h:37:19: note: expanded from macro 'SIZEOF' 37 | #define SIZEOF(x) __sizes[TYPEOF(x)] | ^~~~~~~~~~~~~~~~~~ 2 warnings generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c shift.c -o shift.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c snprintf.c -o snprintf.o snprintf.c:217:136: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat] 217 | if (res!=13) /* should return what would have been written if not chopped */ error(_("dt_win_snprintf test %d failed: %s"), 10, res); | ~~ ^~~ | %d 1 warning generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c subset.c -o subset.o subset.c:270:26: warning: format string is not a string literal (potentially insecure) [-Wformat-security] 270 | if (err!=NULL) error(err); | ^~~ subset.c:270:26: note: treat the string as an argument to avoid this 270 | if (err!=NULL) error(err); | ^ | "%s", 1 warning generated. clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c transpose.c -o transpose.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c types.c -o types.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c uniqlist.c -o uniqlist.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c utils.c -o utils.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c vecseq.c -o vecseq.o clang-17 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O3 -Wall -pedantic -c wrappers.c -o wrappers.o clang-17 -shared -L/home/hornik/tmp/R.check/r-devel-clang/Work/build/lib -Wl,-O1 -o data.table.so assign.o between.o bmerge.o chmatch.o cj.o coalesce.o dogroups.o fastmean.o fcast.o fifelse.o fmelt.o forder.o frank.o fread.o freadR.o froll.o frollR.o frolladaptive.o fsort.o fwrite.o fwriteR.o gsumm.o ijoin.o init.o inrange.o nafill.o nqrecreateindices.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o snprintf.o subset.o transpose.o types.o uniqlist.o utils.o vecseq.o wrappers.o -fopenmp -lz -L/home/hornik/tmp/R.check/r-devel-clang/Work/build/lib -lR PKG_CFLAGS = -fopenmp PKG_LIBS = -fopenmp -lz if [ "data.table.so" != "data_table.so" ]; then mv data.table.so data_table.so; fi if [ "" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id data_table.so data_table.so; fi make[1]: Leaving directory '/tmp/RtmpVhwrWA/R.INSTALL224ed86af594d/data.table/src' make[1]: Entering directory '/tmp/RtmpVhwrWA/R.INSTALL224ed86af594d/data.table/src' make[1]: Leaving directory '/tmp/RtmpVhwrWA/R.INSTALL224ed86af594d/data.table/src' installing to /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/00LOCK-data.table/00new/data.table/libs ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (data.table)