Joern Rennecke <amyl...@spamcop.net> writes:

> Quoting Ian Lance Taylor <i...@google.com>:
>> Joern Rennecke <amyl...@spamcop.net> writes:
>>>     * config/sh/sh.c (sh_attribute_table): Use extern in forward
>>>     declaration.
>>> Common issue with declaring/defining const variables in C++.
>>
>> I've been doing this as
>>
>> #ifdef __cplusplus
>> extern
>> #endif
>
> These #ifdefs sprinkled over the code are awkward.  Could we use a #define
> for this?  E.g. put in system.h
> #ifdef __cplusplus
> #define CONST_VAR_DECL extern const
> #else
> #define CONST_VAR_DECL const
> #endif

Yes, that is certainly the way to go if it is in fact not safe to use
"extern const int i = 1;" for all C compilers.  I hadn't planned to deal
with this issue yet, but since you bring it up, we should decide whether
that construct is safe, or whether we need the macro.

Ian

Reply via email to