Re: [Boost-users] boost 1.47: gcc file dependency generation trips over BOOST_PARAMETER_MAX_ARITY

----- "Ytsen de Boer"
Thank you for your answer. I believe we are not on the same page. Obviously, when I define the max arity to a value of 7 or more, the preprocessor will finish properly.
But the point I am trying to make is more subtle, namely, that the generation of the project dependencies has not a thing to do with the boost max arity.
I think it does actually. How could gcc track inclusions without preprocessing ? #ifdef USE_LIB_A # include "a.h" #else # include "b.h" #endif It seems very dangerous to me to use "-MMD" with different preprocessor definitions than at real compile time. But I'm not an expert. Anyway :
I don't know what the boost max arity means or what its for, but it seems to me that it is a run time variable.
Have you checked that ? My guess is that it is a compile time variable controlling the number of template arguments for a particular class or function. Pure compile time. Regards, Ivan

Thanks for your answer.
You make a good point about the different preprocessor definitions,
I agree that they should be the same to those used at compile time.
Thanks for your time.
All the best,
Ytsen.
2011/9/15 Ivan Le Lann
----- "Ytsen de Boer"
a écrit : Thank you for your answer. I believe we are not on the same page. Obviously, when I define the max arity to a value of 7 or more, the preprocessor will finish properly.
But the point I am trying to make is more subtle, namely, that the generation of the project dependencies has not a thing to do with the boost max arity.
I think it does actually. How could gcc track inclusions without preprocessing ?
#ifdef USE_LIB_A # include "a.h" #else # include "b.h" #endif
It seems very dangerous to me to use "-MMD" with different preprocessor definitions than at real compile time. But I'm not an expert. Anyway :
I don't know what the boost max arity means or what its for, but it seems to me that it is a run time variable.
Have you checked that ?
My guess is that it is a compile time variable controlling the number of template arguments for a particular class or function. Pure compile time.
Regards, Ivan _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

on Thu Sep 15 2011, Ivan Le Lann
----- "Ytsen de Boer"
a écrit: Thank you for your answer. I believe we are not on the same page. Obviously, when I define the max arity to a value of 7 or more, the preprocessor will finish properly.
But the point I am trying to make is more subtle, namely, that the generation of the project dependencies has not a thing to do with the boost max arity.
I think it does actually. How could gcc track inclusions without preprocessing ?
#ifdef USE_LIB_A # include "a.h" #else # include "b.h" #endif
It seems very dangerous to me to use "-MMD" with different preprocessor definitions than at real compile time. But I'm not an expert.
Maybe not, but you've hit the nail on the head.
I don't know what the boost max arity means or what its for, but it seems to me that it is a run time variable.
It couldn't possibly be a runtime variable. It's a preprocessor macro, and runtime variables can't affect preprocessing. -- Dave Abrahams BoostPro Computing http://www.boostpro.com
participants (3)
-
Dave Abrahams
-
Ivan Le Lann
-
Ytsen de Boer