> > ..., my previous > > dev-lang/R-2.10.1 ebuild package has been upgraded to R-3.0.1. > > While compiling it, I have got the following compiler warning: > > > > * QA Notice: Package triggers severe warnings which indicate that it > > * may exhibit random runtime failures. > > * main.c:1548:5: warning: function returns address of local variable > > [enabled by default] > > > > * Please do not file a Gentoo bug and instead report the above QA > > * issues directly to the upstream developers of this software. > > * Homepage: http://www.r-project.org/
> That is the whole point of that piece of C code, so please do report the > Gentoo bug (their message is simply bogus) to them. > > And also read posting guide before posting: HTML mail is not allowed here. > > -- > Brian D. Ripley, rip...@stats.ox.ac.uk The message is certainly not "simply bogus". Returning the address of a local variable is almost always a bug. In this case, there is no real bug in R-3.0.1, since the result is used for the low-level, system-dependent operation of determining the direction of stack growth, but this is a very rare use. For the compiler to issue such a warning is fully justified. The warning could be avoided by using the approach taken in pqR, which has the following routine in main.c: /* Detemine whether the stack grows down (+1) or up (-1). Passed the address of a local variable in the caller's stack frame. This is put here, though called only from system.c, so that the compiler will not be able to inline it. */ int R_stack_growth_direction (uintptr_t cvaraddr) { int dummy; return (uintptr_t) &dummy < cvaraddr ? 1 : -1; } ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel