-console switch is gone, some optimization switches like
-ftree-parallelize-loops=4 -ftree-loop-vectorize -ftree-slp-vectorize
-floop-parallelize-all which must be combined with -O2 apparently, seem to
somehow require a WinMain. why is this? console programs are quite capable of
doing threads and making win32 calls and this should not be required.
ib\libmingw32.a(lib64_libmingw32_a-crt0_w.o):crt0_w.c:(.text+0x18): undefined
reference to `wWinMain'
collect2.exe: error: ld returned 1 exit status
COLLECT_GCC=f:\x86_64-4.9.0-release-win32-seh-rt_v3-rev1\mingw64\bin\g++.exe
COLLECT_LTO_WRAPPER=f:/x86_64-4.9.0-release-win32-seh-rt_v3-rev1/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/4.9.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Thread model: win32
gcc version 4.9.0 (x86_64-win32-seh-rev1, Built by MinGW-W64
project)COLLECT_GCC_OPTIONS='-v' '-save-temps' '-ftree-parallelize-loops=4'
'-ftree-loop-vectorize' '-ftree-slp-vectorize' '-floop-parallelize-all' '-O2'
'-m64' '-municode' '-static' '-fno-strict-aliasing' '-fwrapv' '-Wall' '-Wextra'
'-std=c++11' '-o' 'gcc-substr-bug.exe'
'-mtune=core2' '-march=nocona' '-mthreads' '-pthread'
code is
#include <string>
#include <iostream>
int main(void) {
std::string searchIn="abc(<a href=\"def.html\">def</a>", searchFor="<a
href=\"",equals="=";
size_t posOpenElement=searchIn.find(searchFor); //should be 4
std::cout<<"posOpenElement="<<posOpenElement<<", should be 4"<<std::endl;
if (std::string::npos!=posOpenElement) {
size_t posEquals=searchIn.find(equals,posOpenElement +
searchFor.size());//should fail
std::cout<<"posEquals="<<posEquals<<", should be huge number
(-1)"<<std::endl;
}
return 0;
}
commandline is
Thu 05/08/2014
15:36:58.22|d:\prj\tc-search\renumber-ids-2.0\tests|>"f:\x86_64-4.9.0-release-win32-seh-rt_v3-rev1\mingw64\bin\g++.exe"
-Wall -Wextra -v -save-temps -ftree-parallelize-loops=4 -ftree-loop-vectorize
-ftree-slp-vectorize -floop-parallelize-all -O2 -m64 -municode -static
-fno-strict-aliasing -fwrapv -lstdc++ -lmingw32 -Wall -W -Wextra -Xlinker
-Map=gcc-substr-bug.map -std=c++11 -o"gcc-substr-bug.exe" "gcc-substr-bug.cpp"
2>gcc-substr-bug.err
on 64-bit windows 7.
-------------
Jim Michaels
[email protected]
[email protected]
http://RenewalComputerServices.com
http://JesusnJim.com (my personal site, has software)
---
IEC Units: Computer RAM & SSD measurements, microsoft disk size measurements
(note: they will say GB or MB or KB or TB when it is IEC Units!):
[KiB] [MiB] [GiB] [TiB]
[2^10B=1,024^1B=1KiB]
[2^20B=1,024^2B=1,048,576B=1MiB]
[2^30B=1,024^3B=1,073,741,824B=1GiB]
[2^40B=1,024^4B=1,099,511,627,776B=1TiB]
[2^50B=1,024^5B=1,125,899,906,842,624B=1PiB]
SI Units: Hard disk industry disk size measurements:
[kB] [MB] [GB] [TB]
[10^3B=1,000B=1kB]
[10^6B=1,000,000B=1MB]
[10^9B=1,000,000,000B=1GB]
[10^12B=1,000,000,000,000B=1TB]
[10^15B=1,000,000,000,000,000B=1PB]------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
• 3 signs your SCM is hindering your productivity
• Requirements for releasing software faster
• Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public