Janosch Machowinski
2014-08-05 13:25:37 UTC
Hey,
I stumbled over the builtin (or Fundamental) types.
In the concrete case it is about the char type.
GCCXML as well as clang report char as own
type, being (platform dependent) a signed or unsigned
numeric with 8 bits.
They also report a own type for signed char and unsigned
char.
Debugging my way through typlib I found out, that before,
only intX_t were registered, and char, short etc were
aliases to intX_t.
And this is were the trouble starts. As stdint.h
defines a typedf signed char int8_t;.
If I try to register this typedef, I get an error,
that int8_t is already defined in the registry.
Or I get it later on, if I try to merge my registry
with orogen default registry.
I would vote for removing the whole code in
standard_types.cc, and do the builtin recovery
completely by parsing stdint.h or a similar header.
Coming back to the signed char / unsigned char / char
thing above. Is it actually allowed by design (of typelib),
to have theses three types in the registry not aliased ?
(char being an alias of either signed or unsigned char)
Greetings
Janosch
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
Universit?t Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Stra?e 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengesch?ftstelle:
Robert-Hooke-Stra?e 5
28359 Bremen, Germany
Tel.: +49 421 178 45-6614
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: jmachowinski at informatik.uni-bremen.de
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
I stumbled over the builtin (or Fundamental) types.
In the concrete case it is about the char type.
GCCXML as well as clang report char as own
type, being (platform dependent) a signed or unsigned
numeric with 8 bits.
They also report a own type for signed char and unsigned
char.
Debugging my way through typlib I found out, that before,
only intX_t were registered, and char, short etc were
aliases to intX_t.
And this is were the trouble starts. As stdint.h
defines a typedf signed char int8_t;.
If I try to register this typedef, I get an error,
that int8_t is already defined in the registry.
Or I get it later on, if I try to merge my registry
with orogen default registry.
I would vote for removing the whole code in
standard_types.cc, and do the builtin recovery
completely by parsing stdint.h or a similar header.
Coming back to the signed char / unsigned char / char
thing above. Is it actually allowed by design (of typelib),
to have theses three types in the registry not aliased ?
(char being an alias of either signed or unsigned char)
Greetings
Janosch
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
Universit?t Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Stra?e 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengesch?ftstelle:
Robert-Hooke-Stra?e 5
28359 Bremen, Germany
Tel.: +49 421 178 45-6614
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: jmachowinski at informatik.uni-bremen.de
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik