-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Removing intel preprocessors from qhull_a.h #4519
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
Conversation
attn @ianthomas23 @mdboom thoughts? |
Takinga look at this a bit, it certainly doesn't make any sense that there should be any templates in this .h file, as it gets included by C source files. I should point out that the qhull code is lifted entirely from the qhull project, and so a patch should probably get submitted there as well: https://gitorious.org/qhull. That said, there are a couple of PRs there that are languishing for 3 years... |
I am not in favour of this change for two reasons. Firstly, the code in the Secondly, a user who has a copy of the qhull source code installed on his/her system will be using that system copy when building mpl rather than the local copy that we ship with mpl. Hence a change to our local copy does not benefit all intel compiler users. To address both of the above concerns, any change to mpl should be in either |
Those are fair points. However, I'm not sure any change to I agree with @WeatherGod that the best solution is to propose this change upstream to the qhull folks, but I suspect that this will fall on deaf ears. My feeling is that this block of code was hastily written without any testing with Intel compilers. That being said, I freely admit that I have not taken the time to fully explore/appreciate what this code block was intended for. |
It looks like qhull is unmaintained. The change proposed here is a minor cleanup that affects only intel compilation. If someone starts maintaining qhull, and releases a new version without fixing this silly bug, and we bring in that new version without noticing the reintroduction of the bug, the worst that will happen is that someone like @frenchwr will run into the bug again. At that point, it can be fixed upstream--when there is an upstream. |
Removing intel preprocessors from qhull_a.h
I'm removing this section of code that caused builds with the Intel compiler to fail with the following error message:
The issue is that Intel's C compiler (icc) cannot handle templates; however, forcing the use of Intel's C++ compiler (icpc) creates the opposite problem as it fails to interpret certain C syntax. See more details on the issue I opened here: #4518 (comment)
Removal of this code block appears fairly innocuous however I'm not clear on the author's intent in including it. It may be that there are some unforeseen consequences. Incorporating these changes into my local build did not introduce any new unit test errors or failures.
QHULL_UNUSED gets called a few times (in extern/qhull/io.c) and it appears to be reading in a custom boolean type in both cases: