[R-SIG-Mac] Some exceptions not thrown properly with clang4

Jonah S Gabry jsg2201 at columbia.edu
Wed Sep 20 20:00:12 CEST 2017

With clang4 installed and Makevars updated as described at
https://cran.r-project.org/bin/macosx/ we are finding unexpected behavior
related to exceptions. The issue was brought to our attention at


but here is a minimal example:

Put the following in "test.cpp":

#include <Rcpp.h> using namespace Rcpp; // [[Rcpp::export]] int
throw_exception() { std::stringstream errmsg; errmsg << "this is an
exception"; throw std::domain_error(errmsg.str()); return 0; }

Then compile and test it with:


The output is:

Error in throw_exception() : c++ exception (unknown reason)

But the expected output (and the output I get when using e.g. the clang
installation from Xcode) is:

Error in throw_exception() : this is an exception

Is this a known issue?




I'm running the following:

R version 3.4.1 (2017-06-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

	[[alternative HTML version deleted]]

More information about the R-SIG-Mac mailing list