
Pavol Droba wrote:
I have fixed all regresions that I could. No luck with the remaining. Major compiler platforms are regression free.
I've investigated what the Intel problem is. Even if I don't know why yet, I know what the problem is; for the split testcases where input is of const char*, the iterators get confused somehow. See iter_find.hpp/line 144: In the constructor of SequenceSequenceT Tmp(...), the sequence passed is empty. I've found a workaround which works, but I still can't understand why: just make local variables for the iterators! input_iterator_type InputEnd=end(Input); typedef transform_iterator<copy_range_type, find_iterator_type> transform_iter_t; transform_iter_t b = make_transform_iterator( find_iterator_type( begin(Input), InputEnd, Finder ), copy_range_type()); transform_iter_t e = make_transform_iterator( find_iterator_type(), copy_range_type()); SequenceSequenceT Tmp(b, e); Result.swap(Tmp); With this code, everything is fine. I hope I can find out the reason for this strange compiler behaviour... Stefan