Opened 18 hours ago

Last modified 17 hours ago

#295 new enhancement

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

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

Description (last modified by ajbeach)

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 and changes auto-generation rules.

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 (1)

comment:1 Changed 18 hours ago by ajbeach

Description: modified (diff)
Note: See TracTickets for help on using tickets.