On Sun, May 24, 2009 at 11:13 PM, Ian Lance Taylor <i...@google.com> wrote:
> 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
>

I believe
extenr const'  should be pretty safe in any C90 compiler.
Do we know a compiler that does not handle that correctly?

Reply via email to