g++4.9.2 fails to compile standard C++11 code
Csaba Raduly
rcsaba@gmail.com
Fri Mar 13 08:28:00 GMT 2015
Hi
On Thu, Mar 12, 2015 at 10:55 AM, Duncan Roe wrote:
> On Wed, Mar 11, 2015 at 06:55:16PM -0400, Vlad Gheorghiu wrote:
>> The following code fails to compile under latest cygwin, Windows 7,
>> g++4.9.2. Compiled with g++ -std=c++11 test.cpp. The compiler
>> complains that std::log2 is not a member of std.
>>
>> #include <cmath>
>> #include <iostream>
>>
>> int main()
>> {
>> auto x = std::log2(10);
>> std::cout << x << std::endl;
>> }
>>
>>
>> Verbatim error:
>>
>> g++ -std=c++11 test.cpp
>> test.cpp: In function 'int main()':
>> test.cpp:5:11: error: 'log2' is not a member of 'std'
>> auto x = std::log2(10);
>> ^
>> test.cpp:5:11: note: suggested alternative:
>> In file included from
>> /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/cmath:44:0,
>> from test.cpp:1:
>> /usr/include/math.h:305:15: note: ???log2???
>> extern double log2 _PARAMS((double));
>>
> FWIW, this program works fine under Linux / gcc4.8.2:
ISTR a discussion about some C++11 features being configured away due
to Cygwin's lack of some C library functions ("to_string not a member
of std"): https://sourceware.org/ml/cygwin/2015-01/msg00245.html
Your issue may be related (I'm guessing here because I don't have
Cygwin at hand right now).
Csaba
--
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list