From Kurt.Hornik at wu-wien.ac.at  Thu Apr  3 18:33:41 2008
From: Kurt.Hornik at wu-wien.ac.at (Kurt Hornik)
Date: Thu, 3 Apr 2008 18:33:41 +0200
Subject: [Rd]
 =?utf-8?q?g++_4=2E3__warning=3A_deprecated_conversion_from_s?=
 =?utf-8?q?tring_constant_to_=E2=80=98char*=E2=80=99_3DIn-Reply-To=3A_=3C4?=
 =?utf-8?q?7F4EE2E=2E6090407=40msu=2Eedu=3E?=
References: <47F4EE2E.6090407@msu.edu>
Message-ID: <18421.1765.58639.977021@fangorn.hornik.net>

>>>>> Andrew Finley writes:

> Hello,
> I've noticed that with g++ 4.3 I get the following "warning: deprecated 
> conversion from string constant to ?char*?" when I call e.g., 
> Rprintf("Hello world"); or when I try to define a const char e.g., char 
> lower = 'L';

> I am wrapping the c++ code in extern "C" {}. This seems to be something 
> new with g++ 4.3, because the same code compiled without warnings with 
> previous versions.

> Has anyone else had theses warnings? Any fixes?

Does this persist in a current version of 2.7.0 alpha?

Brian recently changed R_ext/Print.h to

-void Rprintf(char *, ...);
-void REprintf(char *, ...);
+void Rprintf(const char *, ...);
+void REprintf(const char *, ...);

to deal with this issue.

Best
-k

> I have included some example output below. Each warning corresponds to 
> an Rprintf call.


> andy at friend:~/Rdevel/tmp$ R CMD SHLIB splmDIC.cpp covmodel.cpp util.cpp
> g++-4.3 -I/usr/local/lib/R/include -I/usr/local/lib/R/include 
> -I/usr/local/include    -fpic  -g -O2 -c splmDIC.cpp -o splmDIC.o
> splmDIC.cpp: In function ?SEXPREC* splmDIC(SEXPREC*, SEXPREC*, SEXPREC*, 
> SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, 
> SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, 
> SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*, SEXPREC*)?:
> splmDIC.cpp:163: warning: deprecated conversion from string constant to 
> ?char*?
> splmDIC.cpp:164: warning: deprecated conversion from string constant to 
> ?char*?
> splmDIC.cpp:165: warning: deprecated conversion from string constant to 
> ?char*?
> splmDIC.cpp:430: warning: deprecated conversion from string constant to 
> ?char*?
> splmDIC.cpp:431: warning: deprecated conversion from string constant to 
> ?char*?
> g++-4.3 -shared -L/usr/local/lib -o splmDIC.so splmDIC.o covmodel.o 
> util.o -L/usr/local/lib/R/lib -lRlapack -L/usr/local/lib/R/lib -lRblas 
> -L/usr/lib/gcc/i486-linux-gnu/3.4.6 -lg2c -lm -lgcc_s


> Thanks for your time.
> Kind regards-
> Andy



> -- 
> Andrew Finley, PhD
> Natural Resources Building
> Michigan State University
> East Lansing, MI 48824-1222
> Phone: 517-432-7219
> Fax: 517-432-1143
> web: http://blue.for.msu.edu

> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] =?utf-8?q?g++_4=2E3__warning=3A_deprecated_conversion_from_s?= =?utf-8?q?tring_constant_to_=E2=80=98char*=E2=80=99_3DIn-Reply-To=3A_=3C4?= =?utf-8?q?7F4EE2E=2E6090407=40msu=2Eedu=3E?=
Kurt Hornik