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

Missing void* cast in 1.4.0 which was there in 1.3.1 #338

Closed
daveHitchman opened this issue Oct 23, 2020 · 3 comments
Closed

Missing void* cast in 1.4.0 which was there in 1.3.1 #338

daveHitchman opened this issue Oct 23, 2020 · 3 comments

Comments

@daveHitchman
Copy link

In vsn 1,3,1 the output had:
const __lcm_hash_ptr cp = { p, (void*)tXXXXX:getHash };

now it has
const __lcm_hash_ptr cp = { p, tXXXXX::getHash };

I dont know why the cast to (void*) was dropped but the compiler wont take it because getHash is NOT the same type as hash_ptr : error
error: invalid conversion from 'int64_t ()() {aka long long int ()()}' to 'void*' [-fpermissive]

@daveHitchman
Copy link
Author

For me the getHash function is in fact declared as an int64_t and the structure declaration for __lcm_hash_ptr also expects an int64_t which makes it a bit bizarre

@daveHitchman
Copy link
Author

OK, further checking the structure __lcm_hash_ptr has been changed, the compiler seems to be getting knotted, maybe its finding an old lcm_coretypes.h not really sure but will close the issue

@bluesquall
Copy link
Contributor

bluesquall commented May 2, 2023

I'm seeing something related with both 1.4.0 and 1.5.0 in a container, so no chance it is finding an old lcm_coretypes.h.

To avoid necrobumping, I'm opening a new issue (#450) and just leaving this comment here for anyone who finds this issue first when searching.

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

No branches or pull requests

2 participants