-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Suppress Nurbs warnings #3345
Suppress Nurbs warnings #3345
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a huge one, thanks for the effort.
3594a66
to
6ee5332
Compare
Sorry for the early force push. I forgot about it. |
There are a few more |
Small heads-up. I found it strange that I was not seeing those sign-compare warnings during my build. I'm using g++ 7.4 on a Ubuntu distro. |
The ci job reports using gcc 5.4.
I manually compiled gcc 5.5.0 (could not get 5.4.0 to compile) and gave it a try at compiling Is the build outputting anything in your environment? |
I have GCC 5.5 on my Ubuntu 16 machine and it also does not output sign warnings. I'm puzzled why did CI job report GCC 5.4 though. It's running on a Ubuntu 16 based container which I re-created just a few days ago, so it should also have GCC 5.5. By the way, here is how you can quickly reproduce a CI run using docker. First, get the image: docker pull pointcloudlibrary/env:16.04 Second, run the image mapping PCL source directory into it. Assuming you are in the repository root: docker run --rm -v $PWD:/code -it pointcloudlibrary/env:16.04 /bin/bash This will get you into a Docker container. Create a build directory: mkdir /tmp/build && cd /tmp/build Configure and make: cmake /code && make |
I implemented the changes needed to suppress |
It might be because the image is cached and you need to pull the base image too. Use |
I tried to Edit: though I can confirm that this pulled a new Ubuntu 16.04 image (that was created just eight days ago). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If any of these should be a new PR, please create a new issue (most look like good-to-start
).
Otherwise, LGTM. A big changset though, wonderfully organized 😃
@@ -1046,7 +1046,7 @@ FittingCurve2dAPDM::findClosestElementMidPoint (const ON_NurbsCurve &nurbs, cons | |||
double &xi1 = elements[i + 1]; | |||
double dxi = xi1 - xi0; | |||
|
|||
for (unsigned j = 0; j < nurbs.Order (); j++) | |||
for (unsigned j = 0; j < static_cast<unsigned int>(nurbs.Order ()); j++) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The casts are all over the place. (to unsigned int, size_t). Maybe only one is required and not all (for nurbs.Order()
) variants
Sorry for the absence. In situations like this feel free both of you to push stuff to my PR branches whenever required. |
Oops. Forgot about addressing your comments. The changes LGTM. I would personally not deprecate or make any other changes considered to be stricly required to 3rd party code but there's indeed the "risk" someone is using directly the OpenNurbs version we're packaging. |
3872c98
to
8da617e
Compare
I just rebased this branch on top the current master and there still a number of |
78694f4
to
a26f471
Compare
a26f471
to
a73eae7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The compilation output on CI is clean, so I guess this one is ready. Thanks for all the effort!
While preparing to work on the release items, I noticed nurbs was spewing out an impressive number of warnings. I decided to finally clean it up. There's only a deprecation warning missing.
Situations in which I commented variables instead of simply deleting them are usually a sign that there is commented code in the function's body which originally intended to use them.
Most if not all, ctor base class initializations that I added to suppress the compiler warnings are actually no-ops. Probably the reason they were not being invoked in the first place.