[Rcpp-devel] Using C++0x in g++ changes ifelse behaviour

Dirk Eddelbuettel edd at debian.org
Tue Aug 16 05:20:46 CEST 2011


On 16 August 2011 at 12:02, Darren Cook wrote:
| > I just tried and could _not_ replicate it. I just uncommented my standard
| > line with the flag in ~/.R/Makevars:
| > 
| > CXXFLAGS= -std=c++0x -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros 
| 
| Thanks Dirk.
| I tried with your line and it works for me too. So I tried shortening it
| and this works:
|   CXXFLAGS= -std=c++0x -g -O3
| 
| but this does not:
|   CXXFLAGS= -std=c++0x -g
| 
| This also does not work:
|   CXXFLAGS= -std=c++0x -g -Wall -pipe -pedantic -Wno-variadic-macros
| 
| And neither does this:
|   CXXFLAGS= -g -Wall -pipe -pedantic -Wno-variadic-macros
| 
| I.e. c++0x was a red herring, and the lack of -O3 is the problem. It
| works with -O3, -O2, -O1 and -Os, but fails to work with -O0.

Thanks for doing that. In the 15+ years of Debian maintainership I have seen
similar stuff on occassion (esp years when gfortran was newer), but the
gcc/g++ are so swamped that I never heard back fromn bug reports.  They do
have their system for submitting stuff so maybe you could distill something
that wouldn't require R and Rcpp?

Dirk
 
| Very curious. I considered trying each of the individual optimization
| flags [1], to narrow it down further, until I realized how many of them
| there were.
| 
| Darren
| 
| [1]: http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
| 
| 
| -- 
| Darren Cook, Software Researcher/Developer
| 
| http://dcook.org/work/ (About me and my work)
| http://dcook.org/blogs.html (My blogs and articles)
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

-- 
Two new Rcpp master classes for R and C++ integration scheduled for 
New York (Sep 24) and San Francisco (Oct 8), more details are at
http://dirk.eddelbuettel.com/blog/2011/08/04#rcpp_classes_2011-09_and_2011-10
http://www.revolutionanalytics.com/products/training/public/rcpp-master-class.php


More information about the Rcpp-devel mailing list