Hi Dirk,

Thanks.  I did check the recent Rcpp announcement, which corresponds to my 
installed version, and mentions nothing re: assert 
(https://www.mail-archive.com/rcpp-devel@lists.r-forge.r-project.org/msg07977.html).

--Kevin

> On Feb 18, 2015, at 9:22 AM, Dirk Eddelbuettel <e...@debian.org> wrote:
> 
> 
> Hi Kevin,
> 
> On 18 February 2015 at 09:02, Kevin Thornton wrote:
> | Hi Dirk,
> | 
> | Sorry, but your response is unclear to me.  What was "taken care of"?  What 
> is 'tinyformat'?  Are you trying to say that this method of defining assert 
> will work with any other C++ library that includes <cassert>?
> 
> May I suggest you look at the ChangeLog and NEWS files in the git repo, or
> your installed version? They should answer both your questions.
> 
> You are claiming breakage with cassert, while not providing a reproducible
> example.  See an existence proof below -- hope this helps. It works for me at
> home (Rcpp recent from git) and work (Rcpp current with CRAN).
> 
> Dirk
> 
> ## Running example
> 
> R> library(Rcpp)
> R> sourceCpp("/tmp/kt.cpp")
> 
> R> happyNow()
> [1] TRUE
> R> 
> 
> ## Code below
> 
> 
> #include <cassert>
> #include <Rcpp.h>
> 
> // [[Rcpp::export]]
> bool happyNow() {
>  assert(1 > 0);
>  return true;
> }
> 
> /*** R
> happyNow()
> */
> 
> 
> 
> | 
> | --Kevin
> | 
> | > On Feb 18, 2015, at 8:53 AM, Dirk Eddelbuettel <e...@debian.org> wrote:
> | > 
> | > 
> | > On 18 February 2015 at 08:34, Kevin Thornton wrote:
> | > | Isn't there a potential issue if a package depends on multiple 
> header-only C++ libraries, each of which may include <cassert>?  You'd have 
> multiple definitions of the macro floating around, and the compiler will barf.
> | > 
> | > Been there, done that -- this whole discussion started because the most
> | > recent Rcpp release had accidentally borked Luke's use of assert (as we
> | > didn't prevent the newly added and hany 'tinyformat' one-header-library 
> from
> | > re-defining assert).  (And Kevin also added some other push/pop logic to 
> only
> | > define some other macros when we need them and to generally avoid 
> spillage.)
> | > 
> | > So now that this has been taken care of, we are discussing how to provide 
> a
> | > more useful feature "not unlike assert" with proper Rcpp semantics.
> | > 
> | > Dirk
> | > 
> | > -- 
> | > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
> | 
> | ___________________________
> | Kevin Thornton
> | Associate Professor
> | Ecology and Evolutionary Biology
> | University of California, Irvine
> | http://www.molpopgen.org
> | http://github.com/molpopgen
> | http://github.com/ThorntonLab
> | 
> | 
> | 
> | 
> | 
> | 
> 
> -- 
> http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

___________________________
Kevin Thornton
Associate Professor
Ecology and Evolutionary Biology
University of California, Irvine
http://www.molpopgen.org
http://github.com/molpopgen
http://github.com/ThorntonLab






_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to