This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: extern const (Was: Re: [gcc-in-cxx]: patches from multi-target-4_4-branch)
- From: Gabriel Dos Reis <dosreis at gmail dot com>
- To: Joern Rennecke <amylaar at spamcop dot net>
- Cc: Ian Lance Taylor <iant at google dot com>, gcc at gcc dot gnu dot org
- Date: Mon, 25 May 2009 11:39:21 -0500
- Subject: Re: extern const (Was: Re: [gcc-in-cxx]: patches from multi-target-4_4-branch)
- References: <20090429064704.r7nzgfg18okko8s8-nzlynne@webmail.spamcop.net> <m363gn1qui.fsf@google.com> <20090524121328.5bxlsmbf4cgos440-nzlynne@webmail.spamcop.net> <m3tz3anfh8.fsf@google.com> <20090524232321.v5panilqo84484cg-nzlynne@webmail.spamcop.net>
- Reply-to: gdr at integrable-solutions dot net
On Sun, May 24, 2009 at 10:23 PM, Joern Rennecke <amylaar@spamcop.net> wrote:
> Quoting Ian Lance Taylor <iant@google.com>:
>>
>> Joern Rennecke <amylaar@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
It is much better than defining 'extern' to nothing.
I'm a bit surprised that a C90 compiler will not accept
'extern const'.
>