I released inline 0.3.6 yesterday. This is a minor release which gives better R level errors when there is a compiler error. For example :
> tryCatch( cxxfunction( , 'int x = 3 ; x+ ; return R_NilValue ; ' ), error = function(e) print(e$message)) file10d63af1.cpp: In function ‘SEXPREC* file10d63af1()’: file10d63af1.cpp:18: error: expected primary-expression before ‘;’ token make: *** [file10d63af1.o] Error 1 ERROR(s) during compilation: source code errors or compiler configuration errors! Program source: 1: // includes from the plugin 2: #include <R.h> 3: #include <Rdefines.h> 4: #include <R_ext/Error.h> 5: 6: 7: // user includes 8: 9: 10: // declaration 11: extern "C" { 12: SEXP file10d63af1( ) ; 13: } 14: 15: // definition 16: 17: SEXP file10d63af1( ){ 18: int x = 3 ; x+ ; return R_NilValue ; 19: Rf_warning("your C++ program does not return anything"); 20: return R_NilValue ; 21: } 22: 23: [1] "Compilation ERROR, function(s)/method(s) not created! file10d63af1.cpp: In function ‘SEXPREC* file10d63af1()’:\nfile10d63af1.cpp:18: error: expected primary-expression before ‘;’ token\nmake: *** [file10d63af1.o] Error 1"
The compile error is part of the message of the R error, with previous versions, the R error always had the same message "Compilation ERROR, function(s)/method(s) not created!".
This will be especially useful for developing Rcpp, which rely on inline for unit testing