well, I got it open in the debugger. I got it going with “Start” not “Run”, because I hadn’t read your post yet, but it seemed to go fine anyway. It wasn’t slow at all, so I’m not sure it was in debug mode? I got to the cash though, and it’s a little strange:
#0 0x000000000058d745 in __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<oter_id const*, std::__cxx1998::vector<oter_id, std::allocator<oter_id> > >, std::__debug::vector<oter_id, std::allocator<oter_id> > >::_Safe_iterator (
this=0x7fffff7ff2c0, __i=..., __seq=0x7fffff7ff410)
at /usr/include/c++/4.8/debug/safe_iterator.h:152
#1 0x000000000058c57b in std::__debug::vector<oter_id, std::allocator<oter_id> >::begin (this=0x7fffff7ff410) at /usr/include/c++/4.8/debug/vector:221
#2 0x0000000000c32a51 in road_allowed (tile=...) at src/overmap.cpp:222
#3 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#4 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#5 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#6 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#7 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#8 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#9 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#10 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#11 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#12 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#13 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#14 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#15 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#16 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
#17 0x0000000000c32aa3 in road_allowed (tile=...) at src/overmap.cpp:223
---Type <return> to continue, or q <return> to quit---`C'`C'
It seems it doesn’t like “for (const oter_id &ter : tile.tiles)” where tile.tiles is “std::vector<oter_id> tiles;” nor the line afterward where I actually reference that ter variable. It’s weird, though, cause I had another function that does basically the same thing right above this, and that one went through fine. You can see the functions it’s complaining about here.