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

bpo-29619: Do not rely on HAVE_LARGEFILE_SUPPORT for the size of type… #1666

Merged
merged 3 commits into from
May 22, 2017
Merged

bpo-29619: Do not rely on HAVE_LARGEFILE_SUPPORT for the size of type… #1666

merged 3 commits into from
May 22, 2017

Conversation

xdegaye
Copy link
Contributor

@xdegaye xdegaye commented May 19, 2017

…s not off_t.

@xdegaye xdegaye added the type-bug An unexpected behavior, bug, or error label May 19, 2017
@xdegaye xdegaye requested a review from vstinner May 19, 2017 15:16
@@ -1927,14 +1927,12 @@ _pystat_fromstructstat(STRUCT_STAT *st)
return NULL;

PyStructSequence_SET_ITEM(v, 0, PyLong_FromLong((long)st->st_mode));
#if defined(HAVE_LARGEFILE_SUPPORT) || defined(MS_WINDOWS)
Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(st->st_ino));
Copy link
Member

Choose a reason for hiding this comment

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

I would prefer to see the build assert in the else block.

PEP 7 now requires {...} around if blocks.

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

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

I think that compilers are smart enough to computes the check at compile time, and so remove the dead code. I mean, I like your change. I just ask minor changes.

@xdegaye
Copy link
Contributor Author

xdegaye commented May 19, 2017

I mean, I like your change.

It is nice to know, thanks 😄

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the fix Xavier.

@xdegaye xdegaye requested a review from vadmium May 21, 2017 10:12
@xdegaye xdegaye merged commit 50e8603 into python:master May 22, 2017
@xdegaye xdegaye deleted the bpo-29619 branch May 22, 2017 09:15
@vstinner
Copy link
Member

vstinner commented May 22, 2017 via email

@cschramm
Copy link

Shouldn't this get backported to 3.6 after the backport #584 broke 3.6 so that 3.6.2 unfortunately does not compile on Android?

@xdegaye
Copy link
Contributor Author

xdegaye commented Aug 14, 2017

My understanding is that, Android not being a supported platform, changes that are specific to Android are only made to the master branch. I may be wrong.

@cschramm
Copy link

My fault then. Thought 3.6 was targeting Android but that's not actually stated anywhere (There are some Android specific things in the 3.6 changelog though).

@vstinner
Copy link
Member

IMHO this change is simple enough to justify a backport: I created the PR #3102. While 3.6 doesn't fully support Android, we are doing our best support Android and any kind of help is welcome!

vstinner added a commit that referenced this pull request Aug 17, 2017
…-1666) (#3102)

Use only the LongLong form for the conversions

(cherry picked from commit 50e8603)
@thijstriemstra
Copy link

thijstriemstra commented Sep 13, 2017

Encountered this issue while compiling PyQt5 for RaspberryPi/ARM with Python 3.6.2. Copying posixmodule.c from 3.6 branch fixed the posixmodule.c:1935:5: error: array size is negative error.

e.g.:

wget https://raw.githubusercontent.com/python/cpython/ffbb6f7334ccf54f09dcc9e760766d861928f13e/Modules/posixmodule.c
mv posixmodule.c Modules/

@vstinner
Copy link
Member

@thijstriemstra: Cool! Good to know. I hope that slowly, we will get a release with a correct Android support.

Thanks @xdegaye for the long term effort on supporting Android!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants