[Program Options] fix for #6797 breaks compilation

Hi Volodya, the fix for #6797 in 4ae33ce15e5b6345e6eefa19466fdf7cd28a7bbd breaks compilation if Boost.ProgramOptions on msvc-11.0 and -12.0. See full error log with msvc-11.0 attached. It seems that the export macros changes the template evaluation somehow, so msvc now needs "decrement" and "advance" member. The short error is: E:\dev\devel\boost\boost/iterator/iterator_facade.hpp(402) : error C2039: 'decrement' : is not a member of 'boost::program_options::detail::common_config_file_iterator' E:\dev\devel\boost\boost/iterator/iterator_facade.hpp(420) : error C2039: 'advance' : is not a member of 'boost::program_options::detail::common_config_file_iterator' I'm not sure how to implement at least empty stubs or if this can be otherwise worked around. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany

Am 07.01.2014 16:48 schrieb Jürgen Hunold:
the fix for #6797 in 4ae33ce15e5b6345e6eefa19466fdf7cd28a7bbd breaks compilation if Boost.ProgramOptions on msvc-11.0 and -12.0. See full error log with msvc-11.0 attached. It seems that the export macros changes the template evaluation somehow, so msvc now needs "decrement" and "advance" member. The short error is:
I'm not sure how to implement at least empty stubs or if this can be otherwise worked around.
I can see this problem with vc10, vc11, and vc12, too. Empty stubs do rectify this issue (Boost.Signals required a similar workaround). I've opened pull request https://github.com/boostorg/program_options/pull/1. With this fix in place, all tests pass with said compilers. Ciao, Dani

On 08.01.2014 21:10, Daniela Engert wrote:
Am 07.01.2014 16:48 schrieb Jürgen Hunold:
the fix for #6797 in 4ae33ce15e5b6345e6eefa19466fdf7cd28a7bbd breaks compilation if Boost.ProgramOptions on msvc-11.0 and -12.0. See full error log with msvc-11.0 attached. It seems that the export macros changes the template evaluation somehow, so msvc now needs "decrement" and "advance" member. The short error is:
I'm not sure how to implement at least empty stubs or if this can be otherwise worked around.
I can see this problem with vc10, vc11, and vc12, too. Empty stubs do rectify this issue (Boost.Signals required a similar workaround).
I've opened pull request https://github.com/boostorg/program_options/pull/1. With this fix in place, all tests pass with said compilers.
Thank you Dani, I've committed your fix. - Volodya
participants (4)
-
Beman Dawes
-
Daniela Engert
-
Jürgen Hunold
-
Vladimir Prus