Bug List

Global AST::disown (size_t s)
Shap needs to review this.

Global AST::endLoc ()
This is a temporary expedient until I get start/end location handling put in to the parser.

Global AST::makeFloatLit (const sherpa::LToken &tok)
This works only for single- and double-precision floats, and it doesn't work at all for non-ANSI floating point implementations on either host or target.

Global AST::defForm
This should not be a shared_ptr, because that creates a cycle that will booger the reference counting. It should be a weak pointer.

Global MixContext::ParseOneMixFix (sherpa::INOstream &errStream, MixInput &origInput, MixRulePtr parentRule)
We should probably keep track of what the candidates were and report them in a useful error message.

Global TransitionLexer::isCommandLineInput
This is misnamed, since input from stdin in an interactive implementation should have this true as well. It should probably be called isImportInput instead (sense invert).

Global ENUM_UN
Regrettably our current handling of enumerations is inadequate, because it doesn't allow us to specify the actual enumeration values. We are therefore going to have to introduce a defenum at some point.

Global SINGLE_LEG_UN
It seems to me that a union having only one leg should be syntactically rejected, in which case this flag should never arise. Is there some USEFUL counter-example?

Global IDENT_MANGLED
I don't understand why this is needed. The assignment of a mangled name is, in effect, the assignment of an externalName. I would think that it would make sense to place the mangled name into the externalName field and check that, removing this flag. That works equally well when a pre-existing external name has been assigned, because we must not mangle those. Is this merely a different choice of implemenation approach? Would the approach that I am outlining work?

Global BK_HDR_MODE
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Global BK_UOC_MODE
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Global blk_BitcP
Decide whether the shape of these should be similar to the shape of procedure application.

Global blk_BitcP
Temporary expedient: use alternate forms for postfix types:

Global main
: What about lib64?

Global findusedef
?? Is at_methdecl correct ??

Global ResolutionMode
EVERYTHING IN THIS FILE APPEARS TO BE UTILITY FUNCTIONS. WHY IS IT CALLED INTER-PASS?

Global LocChk
Not clear that this should return true. Swaroop?

Global reduce
If the thunkified code contains a return, this doesn't do the right thing at all, so there is a hygiene failure. We need to change the lambda mechanism around so that we can let the proper return label be captured as part of the thunk's closure.

Global Associativity
This file may not survive, but the mixfix system was getting complicated enough to pull it out into a separate file. The issue I anticipate is that mixfix is statefule, so we may need to attach the mixfix state to the lexer. That's where all of the parser state lives, because Bison doesn't provide a straightforward way to have a parser object.

Global resolve
There is a problem here that this syntax might now be:

Global TopInit
If the following comment is true, that's not a good thing. It should be regularized by having the parser build the AST with a re-raise in this case!

Global bindIdentDef
In some cases, shap thinks this is binding flags in the wrong gamma.

Global InferStruct
Shap thinks this happens too early, because errors are

Global UOC_IS_MUTABLE
This flag is not set anywhere. What is it for?

Generated on Sat Feb 4 23:59:29 2012 for BitC Compiler by  doxygen 1.4.7