www.digitalmars.com         C & C++   DMDScript  

c++ - Support for variadic macros

reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
The documentation for DMC says that it supports C99 except for 2 
features. Does this mean that the compiler has support for variadic macros ?
Aug 11 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2 
 features. Does this mean that the compiler has support for variadic 
 macros ?

Yes.
Aug 13 2010
parent reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
On 8/13/2010 12:49 PM, Walter Bright wrote:
 Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2
 features. Does this mean that the compiler has support for variadic
 macros ?

Yes.

At what release of DMC was support for variadic macros added ?
Aug 13 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
Edward Diener wrote:
 On 8/13/2010 12:49 PM, Walter Bright wrote:
 Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2
 features. Does this mean that the compiler has support for variadic
 macros ?

Yes.

At what release of DMC was support for variadic macros added ?

Eh, many years ago. I forgot :-(
Aug 13 2010
parent reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
On 8/13/2010 11:08 PM, Walter Bright wrote:
 Edward Diener wrote:
 On 8/13/2010 12:49 PM, Walter Bright wrote:
 Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2
 features. Does this mean that the compiler has support for variadic
 macros ?

Yes.

At what release of DMC was support for variadic macros added ?

Eh, many years ago. I forgot :-(

I am trying to add variadic macro support for Boost and there is still a Digital Mars compiler config file there. From what I can see the config file supports versions 8.00 through 8.48, although I can easily change it to the latest version 8.52 as the latest. But without knowing which version and above, as reflected by the __DMC__ predefined macro, variadic macro support exists in Digital Mars C++, it is impossible to add it to the compiler config file so that end-users of Digital Mars C++ can use it in their code when using Boost libraries, or that Boost libraries themselves can incorporate variadic macros in their code, when a compiler suppors it, if they feel it would make their library easier to use.
Aug 13 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
Edward Diener wrote:
 On 8/13/2010 11:08 PM, Walter Bright wrote:
 Edward Diener wrote:
 On 8/13/2010 12:49 PM, Walter Bright wrote:
 Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2
 features. Does this mean that the compiler has support for variadic
 macros ?

Yes.

At what release of DMC was support for variadic macros added ?

Eh, many years ago. I forgot :-(

I am trying to add variadic macro support for Boost and there is still a Digital Mars compiler config file there. From what I can see the config file supports versions 8.00 through 8.48, although I can easily change it to the latest version 8.52 as the latest. But without knowing which version and above, as reflected by the __DMC__ predefined macro, variadic macro support exists in Digital Mars C++, it is impossible to add it to the compiler config file so that end-users of Digital Mars C++ can use it in their code when using Boost libraries, or that Boost libraries themselves can incorporate variadic macros in their code, when a compiler suppors it, if they feel it would make their library easier to use.

Ok, I understand where you're coming from. But I'm pretty sure I did it a long time ago, like maybe 10 years ago. In any case, upgrades to the latest DMC++ version are free for customers, so nobody should be stuck with an older version. I just tried it with 8.12, dated 2001. Variadics work.
Aug 14 2010
parent reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
On 8/14/2010 8:55 PM, Walter Bright wrote:
 Edward Diener wrote:
 On 8/13/2010 11:08 PM, Walter Bright wrote:
 Edward Diener wrote:
 On 8/13/2010 12:49 PM, Walter Bright wrote:
 Edward Diener wrote:
 The documentation for DMC says that it supports C99 except for 2
 features. Does this mean that the compiler has support for variadic
 macros ?

Yes.

At what release of DMC was support for variadic macros added ?

Eh, many years ago. I forgot :-(

I am trying to add variadic macro support for Boost and there is still a Digital Mars compiler config file there. From what I can see the config file supports versions 8.00 through 8.48, although I can easily change it to the latest version 8.52 as the latest. But without knowing which version and above, as reflected by the __DMC__ predefined macro, variadic macro support exists in Digital Mars C++, it is impossible to add it to the compiler config file so that end-users of Digital Mars C++ can use it in their code when using Boost libraries, or that Boost libraries themselves can incorporate variadic macros in their code, when a compiler suppors it, if they feel it would make their library easier to use.

Ok, I understand where you're coming from. But I'm pretty sure I did it a long time ago, like maybe 10 years ago. In any case, upgrades to the latest DMC++ version are free for customers, so nobody should be stuck with an older version. I just tried it with 8.12, dated 2001. Variadics work.

Are you suggesting that the earliest version supported in the Boost compiler configuration file for Digital Mars C++ be 8.12 rather than 8.00 ? Because if it is kept as it is at 8.00, and despite the fact that customers can upgrade for free, I would need to know if variadic macros work or not with versions 8.00 through 8.11, or at the least I would need to be able to download such versions to try it for myself.
Aug 14 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
Edward Diener wrote:
 Are you suggesting that the earliest version supported in the Boost 
 compiler configuration file for Digital Mars C++ be 8.12 rather than 
 8.00 ? Because if it is kept as it is at 8.00, and despite the fact that 
 customers can upgrade for free, I would need to know if variadic macros 
 work or not with versions 8.00 through 8.11, or at the least I would 
 need to be able to download such versions to try it for myself.

If it were my decision, I'd abandon support for DMC++ versions older than the current one, 8.52, because: 1. upgrades for DMC++ users are a free download 2. if they are upgrading Boost, why not update the compiler as well? 3. I don't support any versions other than the current one (by providing free upgrades to the current one)
Aug 15 2010
parent reply Edward Diener <eddielee_no_spam_here tropicsoft.com> writes:
On 8/15/2010 2:19 PM, Walter Bright wrote:
 Edward Diener wrote:
 Are you suggesting that the earliest version supported in the Boost
 compiler configuration file for Digital Mars C++ be 8.12 rather than
 8.00 ? Because if it is kept as it is at 8.00, and despite the fact
 that customers can upgrade for free, I would need to know if variadic
 macros work or not with versions 8.00 through 8.11, or at the least I
 would need to be able to download such versions to try it for myself.

If it were my decision, I'd abandon support for DMC++ versions older than the current one, 8.52, because: 1. upgrades for DMC++ users are a free download 2. if they are upgrading Boost, why not update the compiler as well? 3. I don't support any versions other than the current one (by providing free upgrades to the current one)

Good. I will let the Boost developers know that they should abandon support of Digital Mars C++ for all but the latest version, at the suggestion of Walter Bright, who created the implementation.
Aug 15 2010
parent Walter Bright <newshound2 digitalmars.com> writes:
Edward Diener wrote:
 On 8/15/2010 2:19 PM, Walter Bright wrote:
 If it were my decision, I'd abandon support for DMC++ versions older
 than the current one, 8.52, because:

 1. upgrades for DMC++ users are a free download

 2. if they are upgrading Boost, why not update the compiler as well?

 3. I don't support any versions other than the current one (by providing
 free upgrades to the current one)

Good. I will let the Boost developers know that they should abandon support of Digital Mars C++ for all but the latest version, at the suggestion of Walter Bright, who created the implementation.

Sounds good. Please send them the 3 reasons as well. Reminds me of when back in the 80's, I was asked in a panel discussion if Zortech supported running the C++ compiler on a floppy disk only system. I said sure, it costs $200 extra and comes with a hard disk.
Aug 16 2010