Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 698
    • Issues 698
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to a massive storm of spam, registration on this instance now requires explicit administrator approval. Sorry for the added friction, we're also looking into automatic filtering options.

  • PyPyPyPy
  • pypypypy
  • Merge requests
  • !392

Move structmember.h out of Python.h

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Bitbucket Importer requested to merge bitbucket/declined-pr-392 into branch/default Jan 31, 2016
  • Overview 1
  • Commits 0
  • Pipelines 0
  • Changes -

Created originally on Bitbucket by Devin Jeanpierre

Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket. Marked as closed by the import user.

Existing Python programs may (okay, do) use symbols from structmember.h, and this works in CPython because structmember.h is not included from Python.h. Not so, in PyPy.

Rough breakdown of changes:

  • Where Python.h is included by .c files, also include structmember.h
  • Add pypy_structmember_decl.h file which is included by structmember.h
  • Allow @cpython_api functions to change which headers they are added to.

The first two are very manual and icky, and I don't like how I did them. It feels like a hack. But I'm not sure of a better way to do it without more substantive rewrites.

The last part was an API changes to cpython_api, so very invasive, but clean. Maybe the implementation is dumb.

One last note: The header file being added in copy_header_files() doesn't seem to matter. I left it in anyway "just in case". Does it matter?

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: bitbucket/declined-pr-392