Attempt to avoid preprocessor rescan bugs by increasing the amount of rescanning

[SVN r14106]
This commit is contained in:
Vesa Karvonen
2002-06-07 22:54:19 +00:00
parent 1884cf8a78
commit 0bd2709266
2 changed files with 8 additions and 6 deletions

View File

@ -14,6 +14,7 @@
*/
#include <boost/preprocessor/detail/auto_rec.hpp>
#include <boost/preprocessor/expand.hpp>
#include <boost/preprocessor/list/adt.hpp>
#include <boost/preprocessor/while.hpp>
@ -86,9 +87,9 @@ _ABC
#define BOOST_PP_LIST_FOLD_LEFT_D2(D,O,S,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(BOOST_PP_WHILE##D,(BOOST_PP_LIST_FOLD_LEFT_P,BOOST_PP_LIST_FOLD_LEFT_O2,(O,S,L))))
#define BOOST_PP_LIST_FOLD_LEFT_D3(D,O,S,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(BOOST_PP_WHILE##D,(BOOST_PP_LIST_FOLD_LEFT_P,BOOST_PP_LIST_FOLD_LEFT_O3,(O,S,L))))
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC1(M,P) M P
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(M,P) M P
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(M,P) M P
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_LIST_FOLD_LEFT_P(D,OSL) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(3,2,OSL))

View File

@ -14,6 +14,7 @@
*/
#include <boost/preprocessor/detail/auto_rec.hpp>
#include <boost/preprocessor/expand.hpp>
/** <p>Repeats the macro <code>MACRO(INDEX,DATA)</code> for <code>INDEX = [0,COUNT)</code>.</p>
@ -73,9 +74,9 @@ are directly supported.</p>
#define BOOST_PP_REPEATBOOST_PP_REPEAT_AUTO_REC3(M,P)\
(TOO MANY NESTED REPEATS!)
#define BOOST_PP_REPEAT_AUTO_REC1(M,P) M P
#define BOOST_PP_REPEAT_AUTO_REC2(M,P) M P
#define BOOST_PP_REPEAT_AUTO_REC3(M,P) M P
#define BOOST_PP_REPEAT_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_REPEAT_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_REPEAT_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
#define BOOST_PP_REPEAT1(C,M,D) BOOST_PP_REPEAT_AUTO_REC1(BOOST_PP_R1_DELAY(C),(M,D))
#define BOOST_PP_R1_DELAY(C) BOOST_PP_R1_##C