From 0bd2709266b29c4c5f9f53b260cb87a55f9e97d0 Mon Sep 17 00:00:00 2001 From: Vesa Karvonen Date: Fri, 7 Jun 2002 22:54:19 +0000 Subject: [PATCH] Attempt to avoid preprocessor rescan bugs by increasing the amount of rescanning [SVN r14106] --- include/boost/preprocessor/list/fold_left.hpp | 7 ++++--- include/boost/preprocessor/repeat.hpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/boost/preprocessor/list/fold_left.hpp b/include/boost/preprocessor/list/fold_left.hpp index 22544e4..51677ad 100644 --- a/include/boost/preprocessor/list/fold_left.hpp +++ b/include/boost/preprocessor/list/fold_left.hpp @@ -14,6 +14,7 @@ */ #include +#include #include #include @@ -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)) diff --git a/include/boost/preprocessor/repeat.hpp b/include/boost/preprocessor/repeat.hpp index dbe54fa..7a0b05b 100644 --- a/include/boost/preprocessor/repeat.hpp +++ b/include/boost/preprocessor/repeat.hpp @@ -14,6 +14,7 @@ */ #include +#include /**

Repeats the macro MACRO(INDEX,DATA) for INDEX = [0,COUNT).

@@ -73,9 +74,9 @@ are directly supported.

#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