Message ID | CADip9ga+K8Z2sHqCzrGdnU7tYzLrm7SC_Q7US5vg6AJeb5Xo0Q@mail.gmail.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 40755 invoked by alias); 12 Jan 2019 13:16:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 40740 invoked by uid 89); 12 Jan 2019 13:16:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, FROM_EXCESS_BASE64, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=compiler's, simulation, H*c:alternative, H*F:D*ru X-HELO: mail-it1-f181.google.com Received: from mail-it1-f181.google.com (HELO mail-it1-f181.google.com) (209.85.166.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 12 Jan 2019 13:16:39 +0000 Received: by mail-it1-f181.google.com with SMTP id w18so6972802ite.1 for <gdb-patches@sourceware.org>; Sat, 12 Jan 2019 05:16:39 -0800 (PST) MIME-Version: 1.0 From: =?UTF-8?B?0J/QsNCy0LXQuyDQmtGA0Y7QutC+0LI=?= <kryukov@frtk.ru> Date: Sat, 12 Jan 2019 16:16:29 +0300 Message-ID: <CADip9ga+K8Z2sHqCzrGdnU7tYzLrm7SC_Q7US5vg6AJeb5Xo0Q@mail.gmail.com> Subject: [PATCH] Define 'EXTERN' for simulation internals To: gdb-patches@sourceware.org Content-Type: text/plain; charset="UTF-8" |
Commit Message
Павел Крюков
Jan. 12, 2019, 1:16 p.m. UTC
Define 'EXTERN' for simulation internals If inlining is not supported by compiler, sim-arange.h uses EXTERN keyword which is not defined yet. Therefore, we define it as 'extern' qualifier. sim/common/Changelog: 2019-01-12 Pavel I. Kryukov <kryukov@frtk.ru> * sim-inline.h: define EXTERN macro
Comments
On 2019-01-12 08:16, Павел Крюков wrote: > Define 'EXTERN' for simulation internals > > If inlining is not supported by compiler, sim-arange.h uses > EXTERN keyword which is not defined yet. Therefore, we define it > as 'extern' qualifier. > > sim/common/Changelog: > 2019-01-12 Pavel I. Kryukov <kryukov@frtk.ru> > > * sim-inline.h: define EXTERN macro > > diff --git a/sim/common/sim-inline.h b/sim/common/sim-inline.h > index e9fb5c7..b215252 100644 > --- a/sim/common/sim-inline.h > +++ b/sim/common/sim-inline.h > @@ -324,6 +324,9 @@ > #define EXTERN_INLINE extern INLINE2 > #endif > > +#ifndef EXTERN > +#define EXTERN extern > +#endif > > /* Your compiler's no-return reserved word */ Hi Pavel, This LGTM. Would you mind precising the compiler (name and version) and copy paste the error message? I'll include those in the commit message, for future reference. Thanks, Simon
Assuming this patch is applied: https://sourceware.org/ml/gdb-patches/2019-01/msg00241.html, error message would appear for any GCC-compatible C++ compiler: In file included from /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0, from /mipt-mips/simulator/export/gdb/sim-main.h:13, from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7: /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: ‘EXTERN’ does not name a type; did you mean ‘EUSERS’? #define SIM_ARANGE_INLINE EXTERN ^ /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion of macro ‘SIM_ARANGE_INLINE’ SIM_ARANGE_INLINE int ^~~~~~~~~~~~~~~~~ $ g++ --version g++ (Ubuntu 7.1.0-10ubuntu1~16.04.york0) 7.1.0 Thanks, -- Pavel вт, 15 янв. 2019 г. в 00:36, Simon Marchi <simon.marchi@polymtl.ca>: > On 2019-01-12 08:16, Павел Крюков wrote: > > Define 'EXTERN' for simulation internals > > > > If inlining is not supported by compiler, sim-arange.h uses > > EXTERN keyword which is not defined yet. Therefore, we define it > > as 'extern' qualifier. > > > > sim/common/Changelog: > > 2019-01-12 Pavel I. Kryukov <kryukov@frtk.ru> > > > > * sim-inline.h: define EXTERN macro > > > > diff --git a/sim/common/sim-inline.h b/sim/common/sim-inline.h > > index e9fb5c7..b215252 100644 > > --- a/sim/common/sim-inline.h > > +++ b/sim/common/sim-inline.h > > @@ -324,6 +324,9 @@ > > #define EXTERN_INLINE extern INLINE2 > > #endif > > > > +#ifndef EXTERN > > +#define EXTERN extern > > +#endif > > > > /* Your compiler's no-return reserved word */ > > Hi Pavel, > > This LGTM. Would you mind precising the compiler (name and version) and > copy paste the error message? I'll include those in the commit message, > for future reference. > > Thanks, > > Simon >
On 2019-01-15 02:28, Павел Крюков wrote: > Assuming this patch is applied: > https://sourceware.org/ml/gdb-patches/2019-01/msg00241.html, > error message would appear for any GCC-compatible C++ compiler: > > In file included from > /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0, > from /mipt-mips/simulator/export/gdb/sim-main.h:13, > from > /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7: > /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: > ‘EXTERN’ > does not name a type; did you mean ‘EUSERS’? > #define SIM_ARANGE_INLINE EXTERN > ^ > /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in > expansion > of macro ‘SIM_ARANGE_INLINE’ > SIM_ARANGE_INLINE int > ^~~~~~~~~~~~~~~~~ > $ g++ --version > g++ (Ubuntu 7.1.0-10ubuntu1~16.04.york0) 7.1.0 > Ok thanks. Actually, would it be fine with you if we just changed #define SIM_ARANGE_INLINE EXTERN to #define SIM_ARANGE_INLINE extern ? There are already uses of "extern" in that file, I don't see why it wouldn't be fine to use it there too. Simon
Yes, it would be fine as well. Thanks, -- Pavel ср, 16 янв. 2019 г. в 01:28, Simon Marchi <simon.marchi@polymtl.ca>: > On 2019-01-15 02:28, Павел Крюков wrote: > > Assuming this patch is applied: > > https://sourceware.org/ml/gdb-patches/2019-01/msg00241.html, > > error message would appear for any GCC-compatible C++ compiler: > > > > In file included from > > /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0, > > from /mipt-mips/simulator/export/gdb/sim-main.h:13, > > from > > /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7: > > /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: > > ‘EXTERN’ > > does not name a type; did you mean ‘EUSERS’? > > #define SIM_ARANGE_INLINE EXTERN > > ^ > > /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in > > expansion > > of macro ‘SIM_ARANGE_INLINE’ > > SIM_ARANGE_INLINE int > > ^~~~~~~~~~~~~~~~~ > > $ g++ --version > > g++ (Ubuntu 7.1.0-10ubuntu1~16.04.york0) 7.1.0 > > > > Ok thanks. > > Actually, would it be fine with you if we just changed > > #define SIM_ARANGE_INLINE EXTERN > > to > > #define SIM_ARANGE_INLINE extern > > ? There are already uses of "extern" in that file, I don't see why it > wouldn't be fine to use it there too. > > Simon >
diff --git a/sim/common/sim-inline.h b/sim/common/sim-inline.h index e9fb5c7..b215252 100644 --- a/sim/common/sim-inline.h +++ b/sim/common/sim-inline.h @@ -324,6 +324,9 @@ #define EXTERN_INLINE extern INLINE2 #endif +#ifndef EXTERN +#define EXTERN extern +#endif /* Your compiler's no-return reserved word */