Один бит переворачивается во время компиляции - PullRequest
0 голосов
/ 07 ноября 2018

Недавно я компилировал проект с использованием gcc в Windows WSL. Это закончилось следующей ошибкой (было еще несколько ошибок:

/usr/include/boost/math/special_functions/math_fwd.hpp:953:14: error: 'c' has not been declared
    template<class T, class U>
             ^
/usr/include/boost/math/special_functions/math_fwd.hpp:953:16: error: 'ass' has not been declared
    template<class T, class U>
               ^~~
/usr/include/boost/math/special_functions/math_fwd.hpp:954:33: error: 'T' was not declared in this scope
    typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta);
                                 ^
/usr/include/boost/math/special_functions/math_fwd.hpp:954:37: error: template argument 1 is invalid
    typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta);
                                     ^
/usr/include/boost/math/special_functions/math_fwd.hpp:954:55: error: no default argument for 'U'
    typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta);
                                                       ^

После первого взгляда я совсем не понял, что компилятор пытался сказать мне, поэтому я сделал самую очевидную вещь - я просто перезапустил make. Ошибка не произошла.

Однажды я попытался проверить, что это за ошибка. Довольно скоро я пришел к следующему фрагменту без зависимостей, который выдал ту же ошибку:

namespace tools {
    template<class T, class U> struct promote_args {
        typedef void type;
    };
}

    template<c,ass T, class U> 
    typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta);

Единственное отличие состояло в том, что на этот раз вместо 'l' the '' было в сообщениях об ошибках - так же, как и во фрагменте. Само собой разумеется - в тот момент я обращался к таблице ASCII: 'l' = 0x6c и ',' = 0x2c.

Итак - на меня повлияло легендарное переключение космических лучей? Или, может быть, мне следует заподозрить какую-то ошибку памяти в GCC или WSL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...