Opened 17 hours ago

Last modified 17 hours ago

#295 new enhancement

Prelude Rework (New Header for Regular Declarations) — at Initial Version

Reported by: ajbeach Owned by:
Priority: major Component: cfa-cc
Version: 1.0 Keywords:
Cc:

Description

As we put more code into the prelude some issues have come up. That is no section of the prelude (even builtins.cfa) is not regular Cforall code. All of them have various special linkage-specifiers set, at the very least Builtin, which changes the calling conventions of a function.

Creating a new part of the prelude for these declarations would mean that Cforall declarations can be moved to or from this header from the library without any (or at least less) rewriting.

To do this:

  • Add a new prelude file (call it cfa-builtins, cfa-extras, autoinclude or something else) and move regular declarations - that are just Cforall definitions we think you should not have to include to use - over to it.
  • Update automake to update these files and include them in distribution (this is the current issue).
  • Split the Builtin linkage flag into two, one that marks is part of the prelude (the entire prelude, not the single file) and one that says it just use the lower level calling convention.
  • Parse the new file with the Cforall flags set, with the "is in prelude" flag set but not the "use lower calling conventions" flag.

Change History (0)

Note: See TracTickets for help on using tickets.