Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix name clash in mach/policy.h and gps.h #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

fix name clash in mach/policy.h and gps.h #1

wants to merge 1 commit into from

Conversation

D-Alex
Copy link

@D-Alex D-Alex commented Mar 3, 2016

mach/policy is a system header included by rtt

mach/policy is a system header included by rtt
#include "GPSDTask.hpp"

// workaround for name clash in
// usr/include/mach/policy.h and gpsd/3.15/include/gps.h
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't the workaround be in the header itself ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really, the problem is that we include libgpsmm.h here which is including gpsd/3.15/include/gps.h using an already used system typedef. From my point of view the right fix would be to change the name in gps.h but this is out of my scope.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ambiguous statement on my side...

"Shouldn't the workaround be in GPSDTask.hpp ?"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could move it there but the problem only occurs in combination with libgpsmm.h which might not be included by other orogen tasks inherit from this task. Therefore, to not globally undef policy_t I would keep it in the c++ file, No?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am so missing something. Why do you need to define policy_t before including GPSDTask.hpp if the problem is in libgpsmm ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I basically rename policy_t to mach_policy_t insight mach/policy.h using the pre compiler. After that I can undef policy_t which would not be possible if mach/policy.h would have used it for its typedef. Now, the policy_t is free to be used by gps.h for its struct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants