From mboxrd@z Thu Jan 1 00:00:00 1970 References: <5641F09E.3040608@free.fr> <20151110142814.GA4629@hermes.click-hack.org> <564318FF.4030007@siemens.com> From: Philippe Gerum Message-ID: <56432BF5.3000606@xenomai.org> Date: Wed, 11 Nov 2015 12:52:21 +0100 MIME-Version: 1.0 In-Reply-To: <564318FF.4030007@siemens.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Subject: Re: [Xenomai] panic macro interference with xerces api. List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka , Gilles Chanteperdrix , =?UTF-8?Q?St=c3=a9phane_ANCELOT?= Cc: "xenomai@xenomai.org" On 11/11/2015 11:31 AM, Jan Kiszka wrote: > On 2015-11-10 15:28, Gilles Chanteperdrix wrote: >> On Tue, Nov 10, 2015 at 02:26:54PM +0100, St=E9phane ANCELOT wrote: >>> Hi, >>> >>> I don't know if there might be a big impact, but I noticed, depending = >>> on the order we include headers , that >>> there was a panic macro interfering with xercesc api headers. >>> >>> #include >>> #include >>> >>> >>> /usr/xenomai-3.0-igb/include/boilerplate/ancillaries.h:64:10: error:=20 >>> expected identifier before '__func__' >>> __panic(__func__, __fmt, ##__args) >> >> Well, if the two headers define the same macro, there are not many >> solutions: arrange for not having to include them in the same file. >> It should not be too hard, since a real-time thread using >> alchemy/task.h has no business using an xml library, probably only >> using linux services which a real-time task can not use without >> switching to secondary mode. >=20 > Isn't *panic an internal service? Then we can maybe avoid that it is > exposed to applications. If it's not internal, it should probably carry > some "xenomai" prefix in its (fairly generic) name. >=20 Sure, this service is aimed at being fairly generic and general-purpose, with backtracing support, timing data, error code translation and such. With respect to layering, I would rather expect an XML lib not to mess with the namespace of core services, instead of asking the xenomai libs which do deliver core services to apps to prefix its own services. I may move those helpers in some specific file to hide them, but no, I really don't want to go for xenomai_panic(), because it really should work the other way around (although nobody is likely to care about this on the apache side). --=20 Philippe.