Como você usa BOOST_PP com clang-cl.exe sem erros

votos
0

Estou tendo um problema com o impulso 1,69, clang 8.0 e clang-cl.exe que está impedindo que alguns macros BOOST_PP de trabalhar. Por razões que não entendo, no entanto, o mesmo código está trabalhando em x86_64 constrói, mas não no n x86 constrói. A única diferença entre os dois é:

clang-cl.exe /Oy- /D _X86_ /arch:IA32 -m32  // For x86 builds
clang-cl.exe /D _AMD64_                     // For x86_64 builds

O erro que eu estou recebendo é:

too few arguments provided to function-like macro

Os deriva de erro do meu uso de BOOST_PP_SEQ_FOLD_LEFT ea pilha macro indica o erro é com BOOST_PP_SEQ_ELEM_III .

Se você detalhar a esta macro a sua definido como:

#define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
#define BOOST_PP_SEQ_ELEM_III(x, _) x

clang-cl parece estar tratando a _ como um parâmetro em falta, o que parece correto, mas esta técnica é utilizada em todo assim que eu assumir o seu alguma extensão não suportado.

Será que alguém sabe o que está acontecendo ou como corrigir isso?

Publicado 13/01/2020 em 23:48
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more