Comment utilisez-vous BOOST_PP avec clang-cl.exe sans erreurs

voix
0

Je vais avoir un problème avec Boost 1,69, clang 8.0 et clang-cl.exe qui empêche certaines macros BOOST_PP de travailler. Pour des raisons que je ne comprends pas encore, le même code fonctionne dans les versions x86_64 mais pas n x86 construit. La seule différence entre les deux est:

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

L'erreur que je reçois est:

too few arguments provided to function-like macro

Les erreurs de dérive de mon utilisation de BOOST_PP_SEQ_FOLD_LEFT et la pile macro indique l'erreur est avec BOOST_PP_SEQ_ELEM_III .

Si vous accédez à cette macro son définie comme suit:

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

clang-cl semble traiter le _ comme paramètre manquant, ce qui semble correct, mais cette technique est utilisée partout, je suppose donc une extension de sa non prise en charge.

Est-ce que quelqu'un sait ce qui se passe ou comment résoudre ce problème?

Créé 13/01/2020 à 21:48
source utilisateur
Dans d'autres langues...                            

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