Fix #269: add C99 flag for intel compilers#271
Open
telamonian wants to merge 1 commit intopython-cmake-buildsystem:masterfrom
Open
Fix #269: add C99 flag for intel compilers#271telamonian wants to merge 1 commit intopython-cmake-buildsystem:masterfrom
telamonian wants to merge 1 commit intopython-cmake-buildsystem:masterfrom
Conversation
The intel C compiler [defaults to `-std=gnu98`](https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/language-options/std-qstd.html#std-qstd_GUID-338F4C2A-560C-4338-8ACF-C4B022A7C865), which apparently causes problems with recent cpython source. Judging by the existing code in `CMakeLists.txt` and [this issue on the core cpython repo](python/cpython#568), somewhere around cpy3.6 cpython moved on to C99. This PR ensures that if intel compilers are being used on cpy>=3.6 source, the `-std=C99` flag will be added
Author
|
@certik It's been a while since I've had personal access to the intel compiler suite, so I have no actual way of testing this PR out myself. However, I'm pretty sure it will solve your problem? Can you please try it out and let us know? |
|
Thanks, I'll give it a shot soon! |
Contributor
|
Why not simply add |
Contributor
|
Or a simple patch: diff --git a/Parser/grammar.c b/Parser/grammar.c
index 75fd5b9cde..1a4d585026 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -33,8 +33,9 @@ freegrammar(grammar *g)
{
int i;
for (i = 0; i < g->g_ndfas; i++) {
+ int j;
free(g->g_dfa[i].d_name);
- for (int j = 0; j < g->g_dfa[i].d_nstates; j++)
+ for (j = 0; j < g->g_dfa[i].d_nstates; j++)
PyObject_FREE(g->g_dfa[i].d_state[j].s_arc);
PyObject_FREE(g->g_dfa[i].d_state);
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #269
The intel C compiler defaults to
-std=gnu98, which apparently causes problems with recent cpython source. Judging by the existing code inCMakeLists.txtand this issue on the core cpython repo, somewhere around cpy3.6 cpython moved on to C99.This PR ensures that if intel compilers are being used on cpy>=3.6 source, the
-std=C99flag will be added