Reports: from lib/const_string.h file, no definition of 'memcpy' found.
Reason: The #include <cstring> is missing from const_string.h file.
The type of the bug is that it "may fail on some systems or some gcc versions".
It really doesn't matter, which version of gcc I was using (ok, I used 4.3.0 pre-release). Thing that matter is that the code is ISO C++ standard counter-correct.
It *may work* on some compilers anyway (or some compilers' versions) by the reason that '#include <string>' declaration includes <cstring> as well, but *programmer should never state this a sure thing*. Need 'memcpy' or 'strcpy' = use '#include <cstring>'.
Steps to Reproduce:
1. Try to install mysql++ (I used paludis)
Reports compile errors: in lib/const_sring.h definition for 'memcpy' is not found.
Should report no compile errors. :)
Severity: normal, however note that it blocks using other packages that depend on mysql++.
How to fix:
In lib/const_string.h file, after this line:
add the following:
Note: *not replace* <string> with <cstring>. Both are needed, as the class defined in this file uses both 'memcpy' and 'std::string'.
Created attachment 146956 [details, diff]