Re: [Boost-users] boost 1.47: gcc file dependency generation trips over BOOST_PARAMETER_MAX_ARITY
----- "Ytsen de Boer" <yrdeboer@gmail.com> 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
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 <ivan.lelann@free.fr>:
----- "Ytsen de Boer" <yrdeboer@gmail.com> 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 <ivan.lelann-AT-free.fr> wrote:
----- "Ytsen de Boer" <yrdeboer@gmail.com> 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