Re: [eigen] Dev branch: Name clash with termios system header

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]




On Fri, Sep 18, 2009 at 1:17 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
done.

OK, thanks for the prompt response!
 

2009/9/18 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 2009/9/18 Adolfo Rodríguez <dofo79@xxxxxxxxx>:
>> Hi all,
>>
>> We recently updated from the stable to the development branch of eigen to
>> try out the new SVD implementations. In doing so we encountered a nasty name
>> clash, which is not eigen's fault, but for archival purposes I think it's
>> good to comment it here on the list, just in case someone else bumps into
>> it.
>>
>> It turns out that including termios.h (definitions used by the terminal I/O
>> interfaces) defines the macro B0 (specific offending header:
>> bits/termios.h), which incidentally is a local variable in
>> Core/products/GeneralBlockPanelKernel.h. We currently get away with the
>> situation by undefing B0 in the corresponding file, but this is an ugly hack
>> in the long run. Since there is no chance that those legacy termios macros
>> will change, could it be possible to rename the temporaries in
>> Core/products/GeneralBlockPanelKernel.h to slightly less generic names?
>> (prepending/appending 1-2 characters should be enough).
>
> This isn't the first time that we have to #undef very polluting
> symbols from standard headers: we already have to undef "vector" from
> Apple's altivec.h, and "minor" from the GNU libc headers, among
> others.
>
> bits/termios.h isn't a C++ header, it's a C header, so in fact it's
> just an "accident" that you can use it in C++, so i'll just #undef B0.
>
> FYI, in C++, the reserved symbols that the standard library may claim
> must start  _ and then a capital letter, e.g. _B0.
>
> Benoit
>
>>
>> Thanks in advance,
>>
>> Adolfo.
>>
>>
>>
>>
>> --
>> Adolfo Rodríguez Tsouroukdissian, Ph. D.
>>
>> Robotics engineer
>> PAL ROBOTICS S.L
>> http://www.pal-robotics.com
>> Tel. +34.93.414.53.47
>> Fax.+34.93.209.11.09
>> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
>> contener información privilegiada y/o confidencial que está dirigida
>> exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
>> destinatario indicado, o el empleado encargado de su entrega a dicha
>> persona, por favor, notifíquelo inmediatamente y remita el mensaje original
>> a la dirección de correo electrónico indicada. Cualquier copia, uso o
>> distribución no autorizados de esta comunicación queda estrictamente
>> prohibida.
>>
>> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
>> contain confidential information which is privileged and intended only for
>> the individual or entity to whom they are addressed.  If you are not the
>> intended recipient, you are hereby notified that any disclosure, copying,
>> distribution or use of this e-mail and/or accompanying document(s) is
>> strictly prohibited.  If you have received this e-mail in error, please
>> immediately notify the sender at the above e-mail address.
>>
>





--
Adolfo Rodríguez Tsouroukdissian, Ph. D.

Robotics engineer
PAL ROBOTICS S.L
http://www.pal-robotics.com
Tel. +34.93.414.53.47
Fax.+34.93.209.11.09
AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden contener información privilegiada y/o confidencial que está dirigida exclusivamente a su destinatario. Si usted recibe este mensaje y no es el destinatario indicado, o el empleado encargado de su entrega a dicha persona, por favor, notifíquelo inmediatamente y remita el mensaje original a la dirección de correo electrónico indicada. Cualquier copia, uso o distribución no autorizados de esta comunicación queda estrictamente prohibida.

CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may contain confidential information which is privileged and intended only for the individual or entity to whom they are addressed.  If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of this e-mail and/or accompanying document(s) is strictly prohibited.  If you have received this e-mail in error, please immediately notify the sender at the above e-mail address.


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/