- Timestamp:
- Jun 26, 2015, 4:00:26 PM (10 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 0df292b, e0ff3e6
- Parents:
- eb50842 (diff), 1869adf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src
- Files:
-
- 380 added
- 131 deleted
- 114 edited
- 39 moved
-
ArgTweak/module.mk (modified) (1 diff)
-
CodeGen/CodeGenerator.cc (moved) (moved from src/CodeGen/CodeGenerator2.cc ) (18 diffs)
-
CodeGen/CodeGenerator.h (moved) (moved from src/CodeGen/CodeGenerator2.h ) (6 diffs)
-
CodeGen/GenType.cc (modified) (6 diffs)
-
CodeGen/Generate.cc (modified) (3 diffs)
-
CodeGen/OperatorTable.cc (modified) (2 diffs)
-
CodeGen/OperatorTable.h (modified) (2 diffs)
-
CodeGen/module.mk (modified) (1 diff)
-
Common/SemanticError.h (modified) (3 diffs)
-
Common/UniqueName.cc (modified) (2 diffs)
-
Common/module.mk (modified) (1 diff)
-
Common/utility.h (modified) (6 diffs)
-
ControlStruct/ChooseMutator.cc (modified) (2 diffs)
-
ControlStruct/LabelFixer.cc (modified) (5 diffs)
-
ControlStruct/LabelFixer.h (modified) (3 diffs)
-
ControlStruct/LabelGenerator.cc (modified) (2 diffs)
-
ControlStruct/LabelGenerator.h (modified) (3 diffs)
-
ControlStruct/LabelTypeChecker.cc (modified) (2 diffs)
-
ControlStruct/MLEMutator.cc (modified) (6 diffs)
-
ControlStruct/MLEMutator.h (modified) (5 diffs)
-
ControlStruct/Mutate.cc (modified) (2 diffs)
-
ControlStruct/module.mk (modified) (2 diffs)
-
Designators/module.mk (modified) (1 diff)
-
GenPoly/Box.cc (modified) (9 diffs)
-
GenPoly/Specialize.cc (modified) (3 diffs)
-
GenPoly/module.mk (modified) (2 diffs)
-
InitTweak/module.mk (modified) (1 diff)
-
Makefile.am (added)
-
Makefile.in (modified) (1 diff)
-
Parser/DeclarationNode.cc (modified) (53 diffs)
-
Parser/ExpressionNode.cc (modified) (24 diffs)
-
Parser/InitializerNode.cc (modified) (2 diffs)
-
Parser/ParseNode.cc (modified) (4 diffs)
-
Parser/ParseNode.h (modified) (23 diffs)
-
Parser/Parser.cc (modified) (2 diffs)
-
Parser/StatementNode.cc (modified) (19 diffs)
-
Parser/TypeData.cc (modified) (52 diffs)
-
Parser/TypeData.h (modified) (3 diffs)
-
Parser/TypedefTable.cc (modified) (9 diffs)
-
Parser/TypedefTable.h (modified) (3 diffs)
-
Parser/cfa.y (deleted)
-
Parser/lex.cc (added)
-
Parser/lex.h (modified) (4 diffs)
-
Parser/lex.ll (moved) (moved from src/Parser/lex.l ) (8 diffs)
-
Parser/module.mk (modified) (2 diffs)
-
Parser/parser.cc (added)
-
Parser/parser.h (added)
-
Parser/parser.yy (added)
-
ResolvExpr/AlternativeFinder.cc (modified) (23 diffs)
-
ResolvExpr/RenameVars.cc (modified) (2 diffs)
-
ResolvExpr/Resolver.cc (modified) (9 diffs)
-
ResolvExpr/module.mk (modified) (2 diffs)
-
SymTab/Indexer.cc (modified) (2 diffs)
-
SymTab/Mangler.cc (modified) (4 diffs)
-
SymTab/Mangler.h (modified) (3 diffs)
-
SymTab/Validate.cc (modified) (8 diffs)
-
SymTab/module.mk (modified) (1 diff)
-
SynTree/AggregateDecl.cc (modified) (2 diffs)
-
SynTree/ArrayType.cc (modified) (4 diffs)
-
SynTree/BasicType.cc (modified) (1 diff)
-
SynTree/CompoundStmt.cc (modified) (2 diffs)
-
SynTree/Constant.cc (modified) (3 diffs)
-
SynTree/DeclStmt.cc (modified) (2 diffs)
-
SynTree/Declaration.cc (modified) (3 diffs)
-
SynTree/Declaration.h (modified) (11 diffs)
-
SynTree/DeclarationWithType.cc (modified) (2 diffs)
-
SynTree/Expression.cc (modified) (14 diffs)
-
SynTree/Expression.h (modified) (2 diffs)
-
SynTree/FunctionDecl.cc (modified) (7 diffs)
-
SynTree/Mutator.h (modified) (2 diffs)
-
SynTree/NamedTypeDecl.cc (modified) (4 diffs)
-
SynTree/ObjectDecl.cc (modified) (5 diffs)
-
SynTree/ReferenceToType.cc (modified) (2 diffs)
-
SynTree/Statement.cc (modified) (18 diffs)
-
SynTree/Statement.h (modified) (21 diffs)
-
SynTree/Type.h (modified) (4 diffs)
-
SynTree/TypeDecl.cc (modified) (2 diffs)
-
SynTree/module.mk (modified) (2 diffs)
-
Tests/Abstype.c (added)
-
Tests/Array.c (added)
-
Tests/AsmName.c (moved) (moved from src/Tests/Syntax/AsmName.c )
-
Tests/Attributes.c (added)
-
Tests/Cast.c (added)
-
Tests/CastError.c (added)
-
Tests/CharStringConstants.c (moved) (moved from src/Tests/Syntax/CharStringConstants.c )
-
Tests/CommentMisc.c (moved) (moved from src/Tests/Syntax/CommentMisc.c )
-
Tests/Constant0-1.c (moved) (moved from src/Tests/SynTree/Constant0-1.c ) (3 diffs)
-
Tests/Context.c (added)
-
Tests/DeclarationErrors.c (moved) (moved from src/Tests/SynTree/DeclarationErrors.c ) (1 diff)
-
Tests/DeclarationSpecifier.c (moved) (moved from src/Tests/Parser/DeclarationSpecifier.c ) (1 diff)
-
Tests/Enum.c (added)
-
Tests/Exception.c (moved) (moved from src/Tests/Syntax/Exception.c )
-
Tests/Expect-a/Abstype.txt (added)
-
Tests/Expect-a/Array.txt (added)
-
Tests/Expect-a/AsmName.txt (added)
-
Tests/Expect-a/Attributes.txt (added)
-
Tests/Expect-a/Cast.txt (added)
-
Tests/Expect-a/CastError.txt (added)
-
Tests/Expect-a/CharStringConstants.txt (added)
-
Tests/Expect-a/CommentMisc.txt (added)
-
Tests/Expect-a/Constant0-1.txt (added)
-
Tests/Expect-a/Context.txt (added)
-
Tests/Expect-a/DeclarationErrors.txt (added)
-
Tests/Expect-a/DeclarationSpecifier.txt (added)
-
Tests/Expect-a/Enum.txt (added)
-
Tests/Expect-a/Exception.txt (added)
-
Tests/Expect-a/Expression.txt (added)
-
Tests/Expect-a/Forall.txt (added)
-
Tests/Expect-a/Function.txt (added)
-
Tests/Expect-a/Functions.txt (moved) (moved from src/Tests/SynTree/Expected/Functions.tst ) (12 diffs)
-
Tests/Expect-a/GccExtensions.txt (added)
-
Tests/Expect-a/IdentFuncDeclarator.txt (added)
-
Tests/Expect-a/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-a/InferParam.txt (added)
-
Tests/Expect-a/Initialization.txt (added)
-
Tests/Expect-a/Initialization2.txt (added)
-
Tests/Expect-a/LabelledExit.txt (added)
-
Tests/Expect-a/Members.txt (added)
-
Tests/Expect-a/Misc.txt (added)
-
Tests/Expect-a/MiscError.txt (added)
-
Tests/Expect-a/NamedParmArg.txt (added)
-
Tests/Expect-a/NumericConstants.txt (added)
-
Tests/Expect-a/OccursError.txt (added)
-
Tests/Expect-a/Operators.txt (added)
-
Tests/Expect-a/Quad.txt (added)
-
Tests/Expect-a/Rank2.txt (added)
-
Tests/Expect-a/Scope.txt (added)
-
Tests/Expect-a/ScopeErrors.txt (added)
-
Tests/Expect-a/ShortCircuit.txt (added)
-
Tests/Expect-a/Statement.txt (added)
-
Tests/Expect-a/StructMember.txt (added)
-
Tests/Expect-a/Subrange.txt (added)
-
Tests/Expect-a/Switch.txt (added)
-
Tests/Expect-a/Tuple.txt (added)
-
Tests/Expect-a/TypeGenerator.txt (added)
-
Tests/Expect-a/Typedef.txt (added)
-
Tests/Expect-a/TypedefDeclarator.txt (added)
-
Tests/Expect-a/TypedefParamDeclarator.txt (added)
-
Tests/Expect-a/Typeof.txt (added)
-
Tests/Expect-a/VariableDeclarator.txt (added)
-
Tests/Expect-a/gcc900407-1.txt (added)
-
Tests/Expect-a/gcc900516-1.txt (added)
-
Tests/Expect-a/gcc920301-1.txt (added)
-
Tests/Expect-a/gcc920409-1.txt (added)
-
Tests/Expect-a/gcc920409-2.txt (added)
-
Tests/Expect-a/gcc920410-2.txt (added)
-
Tests/Expect-a/gcc920501-1.txt (added)
-
Tests/Expect-a/gcc920501-11.txt (added)
-
Tests/Expect-a/gcc920501-19.txt (added)
-
Tests/Expect-e/Abstype.txt (added)
-
Tests/Expect-e/Array.txt (added)
-
Tests/Expect-e/AsmName.txt (added)
-
Tests/Expect-e/Attributes.txt (added)
-
Tests/Expect-e/Cast.txt (added)
-
Tests/Expect-e/CastError.txt (added)
-
Tests/Expect-e/CharStringConstants.txt (added)
-
Tests/Expect-e/CommentMisc.txt (added)
-
Tests/Expect-e/Constant0-1.txt (added)
-
Tests/Expect-e/Context.txt (added)
-
Tests/Expect-e/DeclarationErrors.txt (added)
-
Tests/Expect-e/DeclarationSpecifier.txt (added)
-
Tests/Expect-e/Enum.txt (added)
-
Tests/Expect-e/Exception.txt (added)
-
Tests/Expect-e/Expression.txt (added)
-
Tests/Expect-e/Forall.txt (added)
-
Tests/Expect-e/Function.txt (added)
-
Tests/Expect-e/Functions.txt (added)
-
Tests/Expect-e/GccExtensions.txt (added)
-
Tests/Expect-e/IdentFuncDeclarator.txt (added)
-
Tests/Expect-e/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-e/InferParam.txt (added)
-
Tests/Expect-e/Initialization.txt (added)
-
Tests/Expect-e/Initialization2.txt (added)
-
Tests/Expect-e/LabelledExit.txt (added)
-
Tests/Expect-e/Members.txt (added)
-
Tests/Expect-e/Misc.txt (added)
-
Tests/Expect-e/MiscError.txt (moved) (moved from src/Tests/ResolvExpr/Expected/MiscError.tst ) (6 diffs)
-
Tests/Expect-e/NamedParmArg.txt (added)
-
Tests/Expect-e/NumericConstants.txt (added)
-
Tests/Expect-e/OccursError.txt (moved) (moved from src/Tests/ResolvExpr/Expected/OccursError.tst ) (1 diff)
-
Tests/Expect-e/Operators.txt (added)
-
Tests/Expect-e/Quad.txt (added)
-
Tests/Expect-e/Rank2.txt (added)
-
Tests/Expect-e/Scope.txt (added)
-
Tests/Expect-e/ScopeErrors.txt (added)
-
Tests/Expect-e/ShortCircuit.txt (added)
-
Tests/Expect-e/Statement.txt (added)
-
Tests/Expect-e/StructMember.txt (added)
-
Tests/Expect-e/Subrange.txt (added)
-
Tests/Expect-e/Switch.txt (added)
-
Tests/Expect-e/Tuple.txt (added)
-
Tests/Expect-e/TypeGenerator.txt (added)
-
Tests/Expect-e/Typedef.txt (added)
-
Tests/Expect-e/TypedefDeclarator.txt (added)
-
Tests/Expect-e/TypedefParamDeclarator.txt (added)
-
Tests/Expect-e/Typeof.txt (added)
-
Tests/Expect-e/VariableDeclarator.txt (added)
-
Tests/Expect-e/gcc900407-1.txt (added)
-
Tests/Expect-e/gcc900516-1.txt (added)
-
Tests/Expect-e/gcc920301-1.txt (added)
-
Tests/Expect-e/gcc920409-1.txt (added)
-
Tests/Expect-e/gcc920409-2.txt (added)
-
Tests/Expect-e/gcc920410-2.txt (added)
-
Tests/Expect-e/gcc920501-1.txt (added)
-
Tests/Expect-e/gcc920501-11.txt (added)
-
Tests/Expect-e/gcc920501-19.txt (added)
-
Tests/Expect-f/Abstype.txt (added)
-
Tests/Expect-f/Array.txt (added)
-
Tests/Expect-f/AsmName.txt (added)
-
Tests/Expect-f/Attributes.txt (added)
-
Tests/Expect-f/Cast.txt (added)
-
Tests/Expect-f/CastError.txt (added)
-
Tests/Expect-f/CharStringConstants.txt (added)
-
Tests/Expect-f/CommentMisc.txt (added)
-
Tests/Expect-f/Constant0-1.txt (added)
-
Tests/Expect-f/Context.txt (added)
-
Tests/Expect-f/DeclarationErrors.txt (added)
-
Tests/Expect-f/DeclarationSpecifier.txt (added)
-
Tests/Expect-f/Enum.txt (added)
-
Tests/Expect-f/Exception.txt (added)
-
Tests/Expect-f/Expression.txt (added)
-
Tests/Expect-f/Forall.txt (added)
-
Tests/Expect-f/Function.txt (added)
-
Tests/Expect-f/Functions.txt (added)
-
Tests/Expect-f/GccExtensions.txt (added)
-
Tests/Expect-f/IdentFuncDeclarator.txt (added)
-
Tests/Expect-f/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-f/InferParam.txt (added)
-
Tests/Expect-f/Initialization.txt (added)
-
Tests/Expect-f/Initialization2.txt (added)
-
Tests/Expect-f/LabelledExit.txt (added)
-
Tests/Expect-f/Members.txt (added)
-
Tests/Expect-f/Misc.txt (added)
-
Tests/Expect-f/MiscError.txt (added)
-
Tests/Expect-f/NamedParmArg.txt (added)
-
Tests/Expect-f/NumericConstants.txt (added)
-
Tests/Expect-f/OccursError.txt (added)
-
Tests/Expect-f/Operators.txt (added)
-
Tests/Expect-f/Quad.txt (added)
-
Tests/Expect-f/Rank2.txt (added)
-
Tests/Expect-f/Scope.txt (added)
-
Tests/Expect-f/ScopeErrors.txt (added)
-
Tests/Expect-f/ShortCircuit.txt (added)
-
Tests/Expect-f/Statement.txt (added)
-
Tests/Expect-f/StructMember.txt (added)
-
Tests/Expect-f/Subrange.txt (added)
-
Tests/Expect-f/Switch.txt (added)
-
Tests/Expect-f/Tuple.txt (added)
-
Tests/Expect-f/TypeGenerator.txt (added)
-
Tests/Expect-f/Typedef.txt (added)
-
Tests/Expect-f/TypedefDeclarator.txt (added)
-
Tests/Expect-f/TypedefParamDeclarator.txt (added)
-
Tests/Expect-f/Typeof.txt (added)
-
Tests/Expect-f/VariableDeclarator.txt (added)
-
Tests/Expect-f/gcc900407-1.txt (added)
-
Tests/Expect-f/gcc900516-1.txt (added)
-
Tests/Expect-f/gcc920301-1.txt (added)
-
Tests/Expect-f/gcc920409-1.txt (added)
-
Tests/Expect-f/gcc920409-2.txt (added)
-
Tests/Expect-f/gcc920410-2.txt (added)
-
Tests/Expect-f/gcc920501-1.txt (added)
-
Tests/Expect-f/gcc920501-11.txt (added)
-
Tests/Expect-f/gcc920501-19.txt (added)
-
Tests/Expect-r/Abstype.txt (added)
-
Tests/Expect-r/Array.txt (added)
-
Tests/Expect-r/AsmName.txt (added)
-
Tests/Expect-r/Attributes.txt (added)
-
Tests/Expect-r/Cast.txt (added)
-
Tests/Expect-r/CastError.txt (added)
-
Tests/Expect-r/CharStringConstants.txt (added)
-
Tests/Expect-r/CommentMisc.txt (added)
-
Tests/Expect-r/Constant0-1.txt (added)
-
Tests/Expect-r/Context.txt (added)
-
Tests/Expect-r/DeclarationErrors.txt (added)
-
Tests/Expect-r/DeclarationSpecifier.txt (added)
-
Tests/Expect-r/Enum.txt (added)
-
Tests/Expect-r/Exception.txt (added)
-
Tests/Expect-r/Expression.txt (added)
-
Tests/Expect-r/Forall.txt (added)
-
Tests/Expect-r/Function.txt (added)
-
Tests/Expect-r/Functions.txt (added)
-
Tests/Expect-r/GccExtensions.txt (added)
-
Tests/Expect-r/IdentFuncDeclarator.txt (added)
-
Tests/Expect-r/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-r/InferParam.txt (added)
-
Tests/Expect-r/Initialization.txt (added)
-
Tests/Expect-r/Initialization2.txt (added)
-
Tests/Expect-r/LabelledExit.txt (added)
-
Tests/Expect-r/Members.txt (added)
-
Tests/Expect-r/Misc.txt (added)
-
Tests/Expect-r/MiscError.txt (added)
-
Tests/Expect-r/NamedParmArg.txt (added)
-
Tests/Expect-r/NumericConstants.txt (added)
-
Tests/Expect-r/OccursError.txt (added)
-
Tests/Expect-r/Operators.txt (added)
-
Tests/Expect-r/Quad.txt (added)
-
Tests/Expect-r/Rank2.txt (added)
-
Tests/Expect-r/Scope.txt (added)
-
Tests/Expect-r/ScopeErrors.txt (added)
-
Tests/Expect-r/ShortCircuit.txt (added)
-
Tests/Expect-r/Statement.txt (added)
-
Tests/Expect-r/StructMember.txt (added)
-
Tests/Expect-r/Subrange.txt (added)
-
Tests/Expect-r/Switch.txt (added)
-
Tests/Expect-r/Tuple.txt (added)
-
Tests/Expect-r/TypeGenerator.txt (added)
-
Tests/Expect-r/Typedef.txt (added)
-
Tests/Expect-r/TypedefDeclarator.txt (added)
-
Tests/Expect-r/TypedefParamDeclarator.txt (added)
-
Tests/Expect-r/Typeof.txt (added)
-
Tests/Expect-r/VariableDeclarator.txt (added)
-
Tests/Expect-r/gcc900407-1.txt (added)
-
Tests/Expect-r/gcc900516-1.txt (added)
-
Tests/Expect-r/gcc920301-1.txt (added)
-
Tests/Expect-r/gcc920409-1.txt (added)
-
Tests/Expect-r/gcc920409-2.txt (added)
-
Tests/Expect-r/gcc920410-2.txt (added)
-
Tests/Expect-r/gcc920501-1.txt (added)
-
Tests/Expect-r/gcc920501-11.txt (added)
-
Tests/Expect-r/gcc920501-19.txt (added)
-
Tests/Expect-s/Abstype.txt (added)
-
Tests/Expect-s/Array.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Array.tst ) (4 diffs)
-
Tests/Expect-s/AsmName.txt (added)
-
Tests/Expect-s/Attributes.txt (added)
-
Tests/Expect-s/Cast.txt (added)
-
Tests/Expect-s/CastError.txt (added)
-
Tests/Expect-s/CharStringConstants.txt (added)
-
Tests/Expect-s/CommentMisc.txt (added)
-
Tests/Expect-s/Constant0-1.txt (added)
-
Tests/Expect-s/Context.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Context.tst ) (1 diff)
-
Tests/Expect-s/DeclarationErrors.txt (added)
-
Tests/Expect-s/DeclarationSpecifier.txt (added)
-
Tests/Expect-s/Enum.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Enum.tst ) (1 diff)
-
Tests/Expect-s/Exception.txt (added)
-
Tests/Expect-s/Expression.txt (added)
-
Tests/Expect-s/Forall.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Forall.tst ) (7 diffs)
-
Tests/Expect-s/Function.txt (added)
-
Tests/Expect-s/Functions.txt (added)
-
Tests/Expect-s/GccExtensions.txt (added)
-
Tests/Expect-s/IdentFuncDeclarator.txt (added)
-
Tests/Expect-s/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-s/InferParam.txt (added)
-
Tests/Expect-s/Initialization.txt (added)
-
Tests/Expect-s/Initialization2.txt (added)
-
Tests/Expect-s/LabelledExit.txt (added)
-
Tests/Expect-s/Members.txt (added)
-
Tests/Expect-s/Misc.txt (added)
-
Tests/Expect-s/MiscError.txt (added)
-
Tests/Expect-s/NamedParmArg.txt (added)
-
Tests/Expect-s/NumericConstants.txt (added)
-
Tests/Expect-s/OccursError.txt (added)
-
Tests/Expect-s/Operators.txt (added)
-
Tests/Expect-s/Quad.txt (added)
-
Tests/Expect-s/Rank2.txt (added)
-
Tests/Expect-s/Scope.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Scope.tst ) (6 diffs)
-
Tests/Expect-s/ScopeErrors.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst ) (4 diffs)
-
Tests/Expect-s/ShortCircuit.txt (added)
-
Tests/Expect-s/Statement.txt (added)
-
Tests/Expect-s/StructMember.txt (added)
-
Tests/Expect-s/Subrange.txt (added)
-
Tests/Expect-s/Switch.txt (added)
-
Tests/Expect-s/Tuple.txt (moved) (moved from src/Tests/SynTree/Expected-SymTab/Tuple.tst ) (5 diffs)
-
Tests/Expect-s/TypeGenerator.txt (added)
-
Tests/Expect-s/Typedef.txt (added)
-
Tests/Expect-s/TypedefDeclarator.txt (added)
-
Tests/Expect-s/TypedefParamDeclarator.txt (added)
-
Tests/Expect-s/Typeof.txt (added)
-
Tests/Expect-s/VariableDeclarator.txt (added)
-
Tests/Expect-s/gcc900407-1.txt (added)
-
Tests/Expect-s/gcc900516-1.txt (added)
-
Tests/Expect-s/gcc920301-1.txt (added)
-
Tests/Expect-s/gcc920409-1.txt (added)
-
Tests/Expect-s/gcc920409-2.txt (added)
-
Tests/Expect-s/gcc920410-2.txt (added)
-
Tests/Expect-s/gcc920501-1.txt (added)
-
Tests/Expect-s/gcc920501-11.txt (added)
-
Tests/Expect-s/gcc920501-19.txt (added)
-
Tests/Expect-v/Abstype.txt (added)
-
Tests/Expect-v/Array.txt (added)
-
Tests/Expect-v/AsmName.txt (added)
-
Tests/Expect-v/Attributes.txt (added)
-
Tests/Expect-v/Cast.txt (added)
-
Tests/Expect-v/CastError.txt (added)
-
Tests/Expect-v/CharStringConstants.txt (added)
-
Tests/Expect-v/CommentMisc.txt (added)
-
Tests/Expect-v/Constant0-1.txt (added)
-
Tests/Expect-v/Context.txt (added)
-
Tests/Expect-v/DeclarationErrors.txt (added)
-
Tests/Expect-v/DeclarationSpecifier.txt (added)
-
Tests/Expect-v/Enum.txt (added)
-
Tests/Expect-v/Exception.txt (added)
-
Tests/Expect-v/Expression.txt (added)
-
Tests/Expect-v/Forall.txt (added)
-
Tests/Expect-v/Function.txt (added)
-
Tests/Expect-v/Functions.txt (added)
-
Tests/Expect-v/GccExtensions.txt (added)
-
Tests/Expect-v/IdentFuncDeclarator.txt (added)
-
Tests/Expect-v/IdentFuncParamDeclarator.txt (added)
-
Tests/Expect-v/InferParam.txt (added)
-
Tests/Expect-v/Initialization.txt (added)
-
Tests/Expect-v/Initialization2.txt (added)
-
Tests/Expect-v/LabelledExit.txt (added)
-
Tests/Expect-v/Members.txt (added)
-
Tests/Expect-v/Misc.txt (added)
-
Tests/Expect-v/MiscError.txt (added)
-
Tests/Expect-v/NamedParmArg.txt (added)
-
Tests/Expect-v/NumericConstants.txt (added)
-
Tests/Expect-v/OccursError.txt (added)
-
Tests/Expect-v/Operators.txt (added)
-
Tests/Expect-v/Quad.txt (added)
-
Tests/Expect-v/Rank2.txt (added)
-
Tests/Expect-v/Scope.txt (added)
-
Tests/Expect-v/ScopeErrors.txt (added)
-
Tests/Expect-v/ShortCircuit.txt (added)
-
Tests/Expect-v/Statement.txt (added)
-
Tests/Expect-v/StructMember.txt (added)
-
Tests/Expect-v/Subrange.txt (added)
-
Tests/Expect-v/Switch.txt (added)
-
Tests/Expect-v/Tuple.txt (added)
-
Tests/Expect-v/TypeGenerator.txt (added)
-
Tests/Expect-v/Typedef.txt (added)
-
Tests/Expect-v/TypedefDeclarator.txt (added)
-
Tests/Expect-v/TypedefParamDeclarator.txt (added)
-
Tests/Expect-v/Typeof.txt (added)
-
Tests/Expect-v/VariableDeclarator.txt (added)
-
Tests/Expect-v/gcc900407-1.txt (added)
-
Tests/Expect-v/gcc900516-1.txt (added)
-
Tests/Expect-v/gcc920301-1.txt (added)
-
Tests/Expect-v/gcc920409-1.txt (added)
-
Tests/Expect-v/gcc920409-2.txt (added)
-
Tests/Expect-v/gcc920410-2.txt (added)
-
Tests/Expect-v/gcc920501-1.txt (added)
-
Tests/Expect-v/gcc920501-11.txt (added)
-
Tests/Expect-v/gcc920501-19.txt (added)
-
Tests/Expression.c (moved) (moved from src/Tests/Syntax/Expression.c )
-
Tests/Forall.c (added)
-
Tests/Function.c (moved) (moved from src/Tests/ResolvExpr/Function.c ) (2 diffs)
-
Tests/Functions.c (moved) (moved from src/Tests/Parser/Functions.c ) (4 diffs)
-
Tests/GccExtensions.c (moved) (moved from src/Tests/Syntax/GccExtensions.c )
-
Tests/IdentFuncDeclarator.c (added)
-
Tests/IdentFuncParamDeclarator.c (added)
-
Tests/InferParam.c (moved) (moved from src/Tests/ResolvExpr/InferParam.c ) (2 diffs)
-
Tests/Initialization.c (added)
-
Tests/Initialization2.c (moved) (moved from src/Tests/TupleAssign/Initialization2.c )
-
Tests/LabelledExit.c (moved) (moved from src/Tests/Syntax/LabelledExit.c )
-
Tests/Makefile (added)
-
Tests/Members.c (added)
-
Tests/Misc.c (added)
-
Tests/MiscError.c (added)
-
Tests/NamedParmArg.c (moved) (moved from src/Tests/Syntax/NamedParmArg.c )
-
Tests/NumericConstants.c (moved) (moved from src/Tests/Syntax/NumericConstants.c )
-
Tests/OccursError.c (added)
-
Tests/Operators.c (added)
-
Tests/Parser/Array.c (deleted)
-
Tests/Parser/Constant0-1.c (deleted)
-
Tests/Parser/Expected/Array.tst (deleted)
-
Tests/Parser/Expected/Constant0-1.tst (deleted)
-
Tests/Parser/Expected/DeclarationSpecifier.tst (deleted)
-
Tests/Parser/Expected/Forall.tst (deleted)
-
Tests/Parser/Expected/Functions.tst (deleted)
-
Tests/Parser/Expected/IdentFuncDeclarator.tst (deleted)
-
Tests/Parser/Expected/IdentFuncParamDeclarator.tst (deleted)
-
Tests/Parser/Expected/Initialization.tst (deleted)
-
Tests/Parser/Expected/Scope.tst (deleted)
-
Tests/Parser/Expected/StructMember.tst (deleted)
-
Tests/Parser/Expected/Tuple.tst (deleted)
-
Tests/Parser/Expected/TypeGenerator.tst (deleted)
-
Tests/Parser/Expected/Typedef.tst (deleted)
-
Tests/Parser/Expected/TypedefDeclarator.tst (deleted)
-
Tests/Parser/Expected/TypedefParamDeclarator.tst (deleted)
-
Tests/Parser/Expected/VariableDeclarator.tst (deleted)
-
Tests/Parser/Forall.c (deleted)
-
Tests/Parser/IdentFuncDeclarator.c (deleted)
-
Tests/Parser/IdentFuncParamDeclarator.c (deleted)
-
Tests/Parser/Initialization.c (deleted)
-
Tests/Parser/Makefile (deleted)
-
Tests/Parser/Scope.c (deleted)
-
Tests/Parser/StructMember.c (deleted)
-
Tests/Parser/Tuple.c (deleted)
-
Tests/Parser/TypeGenerator.c (deleted)
-
Tests/Parser/Typedef.c (deleted)
-
Tests/Parser/TypedefDeclarator.c (deleted)
-
Tests/Parser/TypedefParamDeclarator.c (deleted)
-
Tests/Parser/VariableDeclarator.c (deleted)
-
Tests/Quad.c (added)
-
Tests/Rank2.c (added)
-
Tests/ResolvExpr/Abstype.c (deleted)
-
Tests/ResolvExpr/Attributes.c (deleted)
-
Tests/ResolvExpr/Cast.c (deleted)
-
Tests/ResolvExpr/CastError.c (deleted)
-
Tests/ResolvExpr/Expected/Abstype.tst (deleted)
-
Tests/ResolvExpr/Expected/Attributes.tst (deleted)
-
Tests/ResolvExpr/Expected/Cast.tst (deleted)
-
Tests/ResolvExpr/Expected/CastError.tst (deleted)
-
Tests/ResolvExpr/Expected/Forall.tst (deleted)
-
Tests/ResolvExpr/Expected/Function.tst (deleted)
-
Tests/ResolvExpr/Expected/InferParam.tst (deleted)
-
Tests/ResolvExpr/Expected/Members.tst (deleted)
-
Tests/ResolvExpr/Expected/Misc.tst (deleted)
-
Tests/ResolvExpr/Expected/Operators.tst (deleted)
-
Tests/ResolvExpr/Expected/Quad.tst (deleted)
-
Tests/ResolvExpr/Expected/Rank2.tst (deleted)
-
Tests/ResolvExpr/Expected/ShortCircuit.tst (deleted)
-
Tests/ResolvExpr/Expected/Statement.tst (deleted)
-
Tests/ResolvExpr/Forall.c (deleted)
-
Tests/ResolvExpr/Makefile (deleted)
-
Tests/ResolvExpr/Members.c (deleted)
-
Tests/ResolvExpr/Misc.c (deleted)
-
Tests/ResolvExpr/MiscError.c (deleted)
-
Tests/ResolvExpr/OccursError.c (deleted)
-
Tests/ResolvExpr/Operators.c (deleted)
-
Tests/ResolvExpr/Quad.c (deleted)
-
Tests/ResolvExpr/Rank2.c (deleted)
-
Tests/ResolvExpr/ShortCircuit.c (deleted)
-
Tests/ResolvExpr/Statement.c (deleted)
-
Tests/ResolvExpr/make-rules (deleted)
-
Tests/ResolvExpr/run-tests.sh (deleted)
-
Tests/Scope.c (added)
-
Tests/ScopeErrors.c (moved) (moved from src/Tests/SynTree/ScopeErrors.c ) (2 diffs)
-
Tests/ShortCircuit.c (added)
-
Tests/Statement.c (added)
-
Tests/StructMember.c (added)
-
Tests/Subrange.c (moved) (moved from src/Tests/Syntax/Subrange.c )
-
Tests/Switch.c (moved) (moved from src/Tests/Syntax/Switch.c )
-
Tests/SynTree/Array.c (deleted)
-
Tests/SynTree/Context.c (deleted)
-
Tests/SynTree/DeclarationSpecifier.c (deleted)
-
Tests/SynTree/Enum.c (deleted)
-
Tests/SynTree/Expected/Array.tst (deleted)
-
Tests/SynTree/Expected/Constant0-1.tst (deleted)
-
Tests/SynTree/Expected/Context.tst (deleted)
-
Tests/SynTree/Expected/DeclarationSpecifier.tst (deleted)
-
Tests/SynTree/Expected/Enum.tst (deleted)
-
Tests/SynTree/Expected/Forall.tst (deleted)
-
Tests/SynTree/Expected/IdentFuncDeclarator.tst (deleted)
-
Tests/SynTree/Expected/Initialization.tst (deleted)
-
Tests/SynTree/Expected/Scope.tst (deleted)
-
Tests/SynTree/Expected/StructMember.tst (deleted)
-
Tests/SynTree/Expected/Tuple.tst (deleted)
-
Tests/SynTree/Expected/TypeGenerator.tst (deleted)
-
Tests/SynTree/Expected/Typedef.tst (deleted)
-
Tests/SynTree/Expected/TypedefDeclarator.tst (deleted)
-
Tests/SynTree/Expected/TypedefParamDeclarator.tst (deleted)
-
Tests/SynTree/Expected/VariableDeclarator.tst (deleted)
-
Tests/SynTree/Forall.c (deleted)
-
Tests/SynTree/Functions.c (deleted)
-
Tests/SynTree/IdentFuncDeclarator.c (deleted)
-
Tests/SynTree/IdentFuncParamDeclarator.c (deleted)
-
Tests/SynTree/Initialization.c (deleted)
-
Tests/SynTree/Makefile (deleted)
-
Tests/SynTree/Scope.c (deleted)
-
Tests/SynTree/StructMember.c (deleted)
-
Tests/SynTree/Tuple.c (deleted)
-
Tests/SynTree/TypeGenerator.c (deleted)
-
Tests/SynTree/Typedef.c (deleted)
-
Tests/SynTree/TypedefDeclarator.c (deleted)
-
Tests/SynTree/TypedefParamDeclarator.c (deleted)
-
Tests/SynTree/VariableDeclarator.c (deleted)
-
Tests/SynTree/make-rules (deleted)
-
Tests/SynTree/run-tests.sh (deleted)
-
Tests/Syntax/Array.c (deleted)
-
Tests/Syntax/Attributes.c (deleted)
-
Tests/Syntax/Constant0-1.c (deleted)
-
Tests/Syntax/DeclarationSpecifier.c (deleted)
-
Tests/Syntax/Forall.c (deleted)
-
Tests/Syntax/Functions.c (deleted)
-
Tests/Syntax/IdentFuncDeclarator.c (deleted)
-
Tests/Syntax/IdentFuncParamDeclarator.c (deleted)
-
Tests/Syntax/Initialization.c (deleted)
-
Tests/Syntax/Makefile (deleted)
-
Tests/Syntax/Scope.c (deleted)
-
Tests/Syntax/StructMember.c (deleted)
-
Tests/Syntax/Tuple.c (deleted)
-
Tests/Syntax/TypeGenerator.c (deleted)
-
Tests/Syntax/TypedefDeclarator.c (deleted)
-
Tests/Syntax/TypedefParamDeclarator.c (deleted)
-
Tests/Tuple.c (added)
-
Tests/TypeGenerator.c (added)
-
Tests/Typedef.c (moved) (moved from src/Tests/Syntax/Typedef.c ) (3 diffs)
-
Tests/TypedefDeclarator.c (added)
-
Tests/TypedefParamDeclarator.c (added)
-
Tests/Typeof.c (moved) (moved from src/Tests/Syntax/Typeof.c )
-
Tests/VariableDeclarator.c (moved) (moved from src/Tests/Syntax/VariableDeclarator.c ) (1 diff)
-
Tests/gcc/900407-1.c (deleted)
-
Tests/gcc/900516-1.c (deleted)
-
Tests/gcc/920301-1.c (deleted)
-
Tests/gcc/920409-1.c (deleted)
-
Tests/gcc/920409-2.c (deleted)
-
Tests/gcc/920410-2.c (deleted)
-
Tests/gcc/920501-1.c (deleted)
-
Tests/gcc/920501-11.c (deleted)
-
Tests/gcc/920501-19.c (deleted)
-
Tests/gcc900407-1.c (added)
-
Tests/gcc900516-1.c (added)
-
Tests/gcc920301-1.c (added)
-
Tests/gcc920409-1.c (added)
-
Tests/gcc920409-2.c (added)
-
Tests/gcc920410-2.c (added)
-
Tests/gcc920501-1.c (added)
-
Tests/gcc920501-11.c (added)
-
Tests/gcc920501-19.c (added)
-
Tuples/AssignExpand.cc (modified) (3 diffs)
-
Tuples/FunctionChecker.cc (modified) (2 diffs)
-
Tuples/MultRet.cc (modified) (2 diffs)
-
Tuples/module.mk (modified) (3 diffs)
-
attr-ex (deleted)
-
comments.txt (deleted)
-
driver/Makefile.am (added)
-
driver/Makefile.in (added)
-
driver/cc1.cc (moved) (moved from driver/cc1.cc ) (1 diff)
-
driver/cfa.cc (moved) (moved from driver/cfa.cc ) (6 diffs)
-
examples/Makefile.am (added)
-
examples/Makefile.in (modified) (1 diff)
-
examples/abstype.c (modified) (2 diffs)
-
examples/array.c (modified) (3 diffs)
-
examples/array.h (modified) (3 diffs)
-
examples/assert.c (added)
-
examples/constants.c (modified) (1 diff)
-
examples/control_structures.c (modified) (2 diffs)
-
examples/ctxts.c (modified) (1 diff)
-
examples/esskaykay.c (modified) (2 diffs)
-
examples/forward.c (modified) (2 diffs)
-
examples/fstream.c (modified) (2 diffs)
-
examples/fstream.h (modified) (2 diffs)
-
examples/fstream_test.c (modified) (1 diff)
-
examples/fwrite.c (modified) (1 diff)
-
examples/hello.c (modified) (1 diff)
-
examples/huge.c (modified) (1 diff)
-
examples/identity.c (modified) (1 diff)
-
examples/includes.c (modified) (2 diffs)
-
examples/index.h (modified) (1 diff)
-
examples/iostream.c (modified) (2 diffs)
-
examples/iostream.h (modified) (4 diffs)
-
examples/it_out.c (modified) (2 diffs)
-
examples/iterator.c (modified) (2 diffs)
-
examples/iterator.h (modified) (3 diffs)
-
examples/min.c (modified) (2 diffs)
-
examples/new.c (modified) (1 diff)
-
examples/prolog.c (modified) (2 diffs)
-
examples/quad.c (modified) (1 diff)
-
examples/quoted_keyword.c (modified) (3 diffs)
-
examples/rodolfo1.c (deleted)
-
examples/rodolfo2.c (deleted)
-
examples/s.c (modified) (1 diff)
-
examples/simple.c (modified) (1 diff)
-
examples/simplePoly.c (modified) (2 diffs)
-
examples/simpler.c (modified) (1 diff)
-
examples/specialize.c (modified) (2 diffs)
-
examples/square.c (modified) (1 diff)
-
examples/square.cf (deleted)
-
examples/sum.c (modified) (2 diffs)
-
examples/swap.c (modified) (1 diff)
-
examples/twice.c (modified) (1 diff)
-
examples/vector_int.c (modified) (3 diffs)
-
examples/vector_int.h (modified) (2 diffs)
-
examples/vector_test.c (modified) (2 diffs)
-
libcfa/Makefile.am (added)
-
libcfa/Makefile.in (added)
-
libcfa/builtins.cf (added)
-
libcfa/prelude.cf (moved) (moved from libcfa/prelude.cf ) (2 diffs)
-
libcfa/ptrdiff_t.c (moved) (moved from libcfa/ptrdiff_t.c )
-
main.cc (modified) (13 diffs)
-
preludesrc.c (deleted)
-
spectest (deleted)
Legend:
- Unmodified
- Added
- Removed
-
src/ArgTweak/module.mk
reb50842 r937e51d 1 SRC += ArgTweak/Rewriter.cc \ 2 # ArgTweak/Mutate.cc \ 3 $(NULL) 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:50:11 2015 14 ## Update Count : 1 15 ############################################################################### 4 16 17 #SRC += ArgTweak/Rewriter.cc \ 18 # ArgTweak/Mutate.cc -
src/CodeGen/CodeGenerator.cc
reb50842 r937e51d 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // CodeGenerator 2.cc --7 // CodeGenerator.cc -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Thu May 21 17:13:35201513 // Update Count : 711 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:11:41 2015 13 // Update Count : 143 14 14 // 15 15 … … 19 19 #include <list> 20 20 21 #include "Parser/ParseNode.h" 22 21 23 #include "SynTree/Type.h" 22 #include "SynTree/Declaration.h"23 #include "SynTree/Statement.h"24 24 #include "SynTree/Expression.h" 25 25 #include "SynTree/Initializer.h" 26 #include "SynTree/Statement.h" 26 27 27 28 #include "utility.h" 28 29 #include "UnimplementedError.h" 29 30 30 #include "CodeGenerator 2.h"31 #include "CodeGenerator.h" 31 32 #include "OperatorTable.h" 32 33 #include "GenType.h" … … 35 36 36 37 namespace CodeGen { 37 int CodeGenerator2::tabsize = 4; 38 39 CodeGenerator2::CodeGenerator2( std::ostream &os ) : cur_indent( 0 ), insideFunction( false ), before( os ), after() { } 40 41 CodeGenerator2::CodeGenerator2( std::ostream &os, std::string init, int indent, bool infunp ) 42 : cur_indent( indent ), insideFunction( infunp ), before( os ) { 43 //before << std::string( init ); 44 } 45 46 CodeGenerator2::CodeGenerator2( std::ostream &os, char *init, int indent, bool infunp ) 47 : cur_indent( indent ), insideFunction( infunp ), before( os ) { 48 //before << std::string( init ); 38 int CodeGenerator::tabsize = 4; 39 40 // the kinds of statements that would ideally be separated by more whitespace 41 bool wantSpacing( Statement * stmt) { 42 return dynamic_cast< IfStmt * >( stmt ) || dynamic_cast< CompoundStmt * >( stmt ) || 43 dynamic_cast< WhileStmt * >( stmt ) || dynamic_cast< ForStmt * > ( stmt ) || dynamic_cast< SwitchStmt *>( stmt ); 44 } 45 46 ostream & CodeGenerator::Indenter::operator()( ostream & output ) { 47 return output << string( cg.cur_indent, ' ' ); 48 } 49 50 ostream & operator<<( ostream & output, CodeGenerator::Indenter &indent ) { 51 return indent( output ); 52 } 53 54 CodeGenerator::CodeGenerator( std::ostream &os ) : indent(*this), cur_indent( 0 ), insideFunction( false ), output( os ) { } 55 56 CodeGenerator::CodeGenerator( std::ostream &os, std::string init, int indentation, bool infunp ) 57 : indent(*this), cur_indent( indentation ), insideFunction( infunp ), output( os ) { 58 //output << std::string( init ); 59 } 60 61 CodeGenerator::CodeGenerator( std::ostream &os, char *init, int indentation, bool infunp ) 62 : indent(*this), cur_indent( indentation ), insideFunction( infunp ), output( os ) { 63 //output << std::string( init ); 49 64 } 50 65 … … 56 71 } // if 57 72 } 58 73 59 74 //*** Declarations 60 void CodeGenerator 2::visit( FunctionDecl *functionDecl ) {75 void CodeGenerator::visit( FunctionDecl *functionDecl ) { 61 76 handleStorageClass( functionDecl ); 62 before << genType( functionDecl->get_functionType(), mangleName( functionDecl ) ); 77 if ( functionDecl->get_isInline() ) { 78 output << "inline "; 79 } // if 80 if ( functionDecl->get_isNoreturn() ) { 81 output << "_Noreturn "; 82 } // if 83 output << genType( functionDecl->get_functionType(), mangleName( functionDecl ) ); 63 84 64 85 // how to get this to the Functype? 65 86 std::list< Declaration * > olds = functionDecl->get_oldDecls(); 66 87 if ( ! olds.empty() ) { 67 before<< " /* function has old declaration */";88 output << " /* function has old declaration */"; 68 89 } // if 69 90 … … 74 95 } 75 96 76 void CodeGenerator 2::visit( ObjectDecl *objectDecl ) {97 void CodeGenerator::visit( ObjectDecl *objectDecl ) { 77 98 handleStorageClass( objectDecl ); 78 before<< genType( objectDecl->get_type(), mangleName( objectDecl ) );99 output << genType( objectDecl->get_type(), mangleName( objectDecl ) ); 79 100 80 101 if ( objectDecl->get_init() ) { 81 before<< " = ";102 output << " = "; 82 103 objectDecl->get_init()->accept( *this ); 83 104 } // if 84 105 if ( objectDecl->get_bitfieldWidth() ) { 85 before<< ":";106 output << ":"; 86 107 objectDecl->get_bitfieldWidth()->accept( *this ); 87 108 } // if 88 109 } 89 110 90 void CodeGenerator 2::handleAggregate( AggregateDecl *aggDecl ) {111 void CodeGenerator::handleAggregate( AggregateDecl *aggDecl ) { 91 112 if ( aggDecl->get_name() != "" ) 92 before<< aggDecl->get_name();113 output << aggDecl->get_name(); 93 114 94 115 std::list< Declaration * > &memb = aggDecl->get_members(); 95 116 96 117 if ( ! memb.empty() ) { 97 before << endl << string( cur_indent, ' ' ) << "{" << endl;98 99 cur_indent += CodeGenerator 2::tabsize;118 output << " {" << endl; 119 120 cur_indent += CodeGenerator::tabsize; 100 121 for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end(); i++) { 101 before << string( cur_indent, ' ' );122 output << indent; 102 123 (*i)->accept(*this ); 103 before<< ";" << endl;124 output << ";" << endl; 104 125 } 105 126 106 cur_indent -= CodeGenerator 2::tabsize;107 108 before << string( cur_indent, ' ' )<< "}";109 } // if 110 } 111 112 void CodeGenerator 2::visit( StructDecl *structDecl ) {113 before<< "struct ";127 cur_indent -= CodeGenerator::tabsize; 128 129 output << indent << "}"; 130 } // if 131 } 132 133 void CodeGenerator::visit( StructDecl *structDecl ) { 134 output << "struct "; 114 135 handleAggregate( structDecl ); 115 136 } 116 137 117 void CodeGenerator 2::visit( UnionDecl *aggregateDecl ) {118 before<< "union ";138 void CodeGenerator::visit( UnionDecl *aggregateDecl ) { 139 output << "union "; 119 140 handleAggregate( aggregateDecl ); 120 141 } 121 142 122 void CodeGenerator 2::visit( EnumDecl *aggDecl ) {123 before<< "enum ";143 void CodeGenerator::visit( EnumDecl *aggDecl ) { 144 output << "enum "; 124 145 125 146 if ( aggDecl->get_name() != "" ) 126 before<< aggDecl->get_name();147 output << aggDecl->get_name(); 127 148 128 149 std::list< Declaration* > &memb = aggDecl->get_members(); 129 150 130 151 if ( ! memb.empty() ) { 131 before << endl << "{" << endl;132 133 cur_indent += CodeGenerator 2::tabsize;152 output << " {" << endl; 153 154 cur_indent += CodeGenerator::tabsize; 134 155 for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end(); i++) { 135 156 ObjectDecl *obj = dynamic_cast< ObjectDecl* >( *i ); 136 157 assert( obj ); 137 before << string( cur_indent, ' ' )<< mangleName( obj );158 output << indent << mangleName( obj ); 138 159 if ( obj->get_init() ) { 139 before<< " = ";160 output << " = "; 140 161 obj->get_init()->accept(*this ); 141 162 } // if 142 before<< "," << endl;163 output << "," << endl; 143 164 } // for 144 165 145 cur_indent -= CodeGenerator 2::tabsize;146 147 before << "}" << endl;148 } // if 149 } 150 151 void CodeGenerator 2::visit( ContextDecl *aggregateDecl ) {}152 153 void CodeGenerator 2::visit( TypedefDecl *typeDecl ) {154 before<< "typedef ";155 before<< genType( typeDecl->get_base(), typeDecl->get_name() );156 } 157 158 void CodeGenerator 2::visit( TypeDecl *typeDecl ) {166 cur_indent -= CodeGenerator::tabsize; 167 168 output << indent << "}"; 169 } // if 170 } 171 172 void CodeGenerator::visit( ContextDecl *aggregateDecl ) {} 173 174 void CodeGenerator::visit( TypedefDecl *typeDecl ) { 175 output << "typedef "; 176 output << genType( typeDecl->get_base(), typeDecl->get_name() ); 177 } 178 179 void CodeGenerator::visit( TypeDecl *typeDecl ) { 159 180 // really, we should mutate this into something that isn't a TypeDecl but that requires large-scale changes, 160 181 // still to be done 161 before<< "extern unsigned long " << typeDecl->get_name();182 output << "extern unsigned long " << typeDecl->get_name(); 162 183 if ( typeDecl->get_base() ) { 163 before<< " = sizeof( " << genType( typeDecl->get_base(), "" ) << " )";164 } // if 165 } 166 167 void CodeGenerator 2::visit( SingleInit *init ) {184 output << " = sizeof( " << genType( typeDecl->get_base(), "" ) << " )"; 185 } // if 186 } 187 188 void CodeGenerator::visit( SingleInit *init ) { 168 189 init->get_value()->accept( *this ); 169 190 } 170 191 171 void CodeGenerator 2::visit( ListInit *init ) {172 before<< "{ ";192 void CodeGenerator::visit( ListInit *init ) { 193 output << "{ "; 173 194 genCommaList( init->begin_initializers(), init->end_initializers() ); 174 before<< " }";175 } 176 177 void CodeGenerator 2::visit( Constant *constant ) {178 before<< constant->get_value() ;195 output << " }"; 196 } 197 198 void CodeGenerator::visit( Constant *constant ) { 199 output << constant->get_value() ; 179 200 } 180 201 181 202 //*** Expressions 182 void CodeGenerator 2::visit( ApplicationExpr *applicationExpr ) {203 void CodeGenerator::visit( ApplicationExpr *applicationExpr ) { 183 204 if ( VariableExpr *varExpr = dynamic_cast< VariableExpr* >( applicationExpr->get_function() ) ) { 184 205 OperatorInfo opInfo; … … 211 232 assert( applicationExpr->get_args().size() == 2 ); 212 233 (*arg++)->accept( *this ); 213 before<< "[";214 (*arg)->accept( *this ); 215 before<< "]";234 output << "["; 235 (*arg)->accept( *this ); 236 output << "]"; 216 237 break; 217 238 … … 224 245 case OT_PREFIXASSIGN: 225 246 assert( applicationExpr->get_args().size() == 1 ); 226 before<< "(";227 before<< opInfo.symbol;228 (*arg)->accept( *this ); 229 before<< ")";247 output << "("; 248 output << opInfo.symbol; 249 (*arg)->accept( *this ); 250 output << ")"; 230 251 break; 231 252 … … 234 255 assert( applicationExpr->get_args().size() == 1 ); 235 256 (*arg)->accept( *this ); 236 before<< opInfo.symbol;257 output << opInfo.symbol; 237 258 break; 238 259 … … 240 261 case OT_INFIXASSIGN: 241 262 assert( applicationExpr->get_args().size() == 2 ); 242 before<< "(";263 output << "("; 243 264 (*arg++)->accept( *this ); 244 before<< opInfo.symbol;245 (*arg)->accept( *this ); 246 before<< ")";265 output << opInfo.symbol; 266 (*arg)->accept( *this ); 267 output << ")"; 247 268 break; 248 269 … … 253 274 } else { 254 275 varExpr->accept( *this ); 255 before<< "(";276 output << "("; 256 277 genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() ); 257 before<< ")";278 output << ")"; 258 279 } // if 259 280 } else { 260 281 applicationExpr->get_function()->accept( *this ); 261 before<< "(";282 output << "("; 262 283 genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() ); 263 before<< ")";264 } // if 265 } 266 267 void CodeGenerator 2::visit( UntypedExpr *untypedExpr ) {284 output << ")"; 285 } // if 286 } 287 288 void CodeGenerator::visit( UntypedExpr *untypedExpr ) { 268 289 if ( NameExpr *nameExpr = dynamic_cast< NameExpr* >( untypedExpr->get_function() ) ) { 269 290 OperatorInfo opInfo; … … 274 295 assert( untypedExpr->get_args().size() == 2 ); 275 296 (*arg++)->accept( *this ); 276 before<< "[";277 (*arg)->accept( *this ); 278 before<< "]";297 output << "["; 298 (*arg)->accept( *this ); 299 output << "]"; 279 300 break; 280 301 … … 285 306 case OT_PREFIX: 286 307 case OT_PREFIXASSIGN: 308 case OT_LABELADDRESS: 287 309 assert( untypedExpr->get_args().size() == 1 ); 288 before<< "(";289 before<< opInfo.symbol;290 (*arg)->accept( *this ); 291 before<< ")";310 output << "("; 311 output << opInfo.symbol; 312 (*arg)->accept( *this ); 313 output << ")"; 292 314 break; 293 315 … … 296 318 assert( untypedExpr->get_args().size() == 1 ); 297 319 (*arg)->accept( *this ); 298 before<< opInfo.symbol;320 output << opInfo.symbol; 299 321 break; 300 322 … … 302 324 case OT_INFIXASSIGN: 303 325 assert( untypedExpr->get_args().size() == 2 ); 304 before<< "(";326 output << "("; 305 327 (*arg++)->accept( *this ); 306 before<< opInfo.symbol;307 (*arg)->accept( *this ); 308 before<< ")";309 break; 310 328 output << opInfo.symbol; 329 (*arg)->accept( *this ); 330 output << ")"; 331 break; 332 311 333 case OT_CONSTANT: 312 334 // there are no intrinsic definitions of 0 or 1 as functions … … 315 337 } else { 316 338 nameExpr->accept( *this ); 317 before<< "(";339 output << "("; 318 340 genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() ); 319 before<< ")";341 output << ")"; 320 342 } // if 321 343 } else { 322 344 untypedExpr->get_function()->accept( *this ); 323 before<< "(";345 output << "("; 324 346 genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() ); 325 before<< ")";326 } // if 327 } 328 329 void CodeGenerator 2::visit( NameExpr *nameExpr ) {347 output << ")"; 348 } // if 349 } 350 351 void CodeGenerator::visit( NameExpr *nameExpr ) { 330 352 OperatorInfo opInfo; 331 353 if ( operatorLookup( nameExpr->get_name(), opInfo ) ) { 332 354 assert( opInfo.type == OT_CONSTANT ); 333 before<< opInfo.symbol;334 } else { 335 before<< nameExpr->get_name();336 } // if 337 } 338 339 void CodeGenerator 2::visit( AddressExpr *addressExpr ) {340 before<< "(&";355 output << opInfo.symbol; 356 } else { 357 output << nameExpr->get_name(); 358 } // if 359 } 360 361 void CodeGenerator::visit( AddressExpr *addressExpr ) { 362 output << "(&"; 341 363 // this hack makes sure that we don't convert "constant_zero" to "0" if we're taking its address 342 364 if ( VariableExpr *variableExpr = dynamic_cast< VariableExpr* >( addressExpr->get_arg() ) ) { 343 before<< mangleName( variableExpr->get_var() );365 output << mangleName( variableExpr->get_var() ); 344 366 } else { 345 367 addressExpr->get_arg()->accept( *this ); 346 368 } // if 347 before<< ")";348 } 349 350 void CodeGenerator 2::visit( CastExpr *castExpr ) {351 before<< "((";369 output << ")"; 370 } 371 372 void CodeGenerator::visit( CastExpr *castExpr ) { 373 output << "(("; 352 374 if ( castExpr->get_results().empty() ) { 353 before<< "void" ;354 } else { 355 before<< genType( castExpr->get_results().front(), "" );356 } // if 357 before<< ")";375 output << "void" ; 376 } else { 377 output << genType( castExpr->get_results().front(), "" ); 378 } // if 379 output << ")"; 358 380 castExpr->get_arg()->accept( *this ); 359 before<< ")";360 } 361 362 void CodeGenerator 2::visit( UntypedMemberExpr *memberExpr ) {381 output << ")"; 382 } 383 384 void CodeGenerator::visit( UntypedMemberExpr *memberExpr ) { 363 385 assert( false ); 364 386 } 365 387 366 void CodeGenerator 2::visit( MemberExpr *memberExpr ) {388 void CodeGenerator::visit( MemberExpr *memberExpr ) { 367 389 memberExpr->get_aggregate()->accept( *this ); 368 before<< "." << mangleName( memberExpr->get_member() );369 } 370 371 void CodeGenerator 2::visit( VariableExpr *variableExpr ) {390 output << "." << mangleName( memberExpr->get_member() ); 391 } 392 393 void CodeGenerator::visit( VariableExpr *variableExpr ) { 372 394 OperatorInfo opInfo; 373 395 if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( variableExpr->get_var()->get_name(), opInfo ) && opInfo.type == OT_CONSTANT ) { 374 before<< opInfo.symbol;375 } else { 376 before<< mangleName( variableExpr->get_var() );377 } // if 378 } 379 380 void CodeGenerator 2::visit( ConstantExpr *constantExpr ) {396 output << opInfo.symbol; 397 } else { 398 output << mangleName( variableExpr->get_var() ); 399 } // if 400 } 401 402 void CodeGenerator::visit( ConstantExpr *constantExpr ) { 381 403 assert( constantExpr->get_constant() ); 382 404 constantExpr->get_constant()->accept( *this ); 383 405 } 384 406 385 void CodeGenerator 2::visit( SizeofExpr *sizeofExpr ) {386 before<< "sizeof(";407 void CodeGenerator::visit( SizeofExpr *sizeofExpr ) { 408 output << "sizeof("; 387 409 if ( sizeofExpr->get_isType() ) { 388 before<< genType( sizeofExpr->get_type(), "" );410 output << genType( sizeofExpr->get_type(), "" ); 389 411 } else { 390 412 sizeofExpr->get_expr()->accept( *this ); 391 413 } // if 392 before<< ")";393 } 394 395 void CodeGenerator 2::visit( LogicalExpr *logicalExpr ) {396 before<< "(";414 output << ")"; 415 } 416 417 void CodeGenerator::visit( LogicalExpr *logicalExpr ) { 418 output << "("; 397 419 logicalExpr->get_arg1()->accept( *this ); 398 420 if ( logicalExpr->get_isAnd() ) { 399 before<< " && ";400 } else { 401 before<< " || ";421 output << " && "; 422 } else { 423 output << " || "; 402 424 } // if 403 425 logicalExpr->get_arg2()->accept( *this ); 404 before<< ")";405 } 406 407 void CodeGenerator 2::visit( ConditionalExpr *conditionalExpr ) {408 before<< "(";426 output << ")"; 427 } 428 429 void CodeGenerator::visit( ConditionalExpr *conditionalExpr ) { 430 output << "("; 409 431 conditionalExpr->get_arg1()->accept( *this ); 410 before<< " ? ";432 output << " ? "; 411 433 conditionalExpr->get_arg2()->accept( *this ); 412 before<< " : ";434 output << " : "; 413 435 conditionalExpr->get_arg3()->accept( *this ); 414 before<< ")";415 } 416 417 void CodeGenerator 2::visit( CommaExpr *commaExpr ) {418 before<< "(";436 output << ")"; 437 } 438 439 void CodeGenerator::visit( CommaExpr *commaExpr ) { 440 output << "("; 419 441 commaExpr->get_arg1()->accept( *this ); 420 before<< " , ";442 output << " , "; 421 443 commaExpr->get_arg2()->accept( *this ); 422 before << ")"; 423 } 424 425 void CodeGenerator2::visit( TupleExpr *tupleExpr ) {} 426 427 void CodeGenerator2::visit( TypeExpr *typeExpr ) {} 428 429 444 output << ")"; 445 } 446 447 void CodeGenerator::visit( TupleExpr *tupleExpr ) {} 448 449 void CodeGenerator::visit( TypeExpr *typeExpr ) {} 450 430 451 //*** Statements 431 void CodeGenerator 2::visit( CompoundStmt *compoundStmt ) {452 void CodeGenerator::visit( CompoundStmt *compoundStmt ) { 432 453 std::list<Statement*> ks = compoundStmt->get_kids(); 433 434 before << endl << string( cur_indent, ' ' ) << "{" << endl; 435 436 cur_indent += CodeGenerator2::tabsize; 454 output << "{" << endl; 455 456 cur_indent += CodeGenerator::tabsize; 437 457 438 458 for ( std::list<Statement *>::iterator i = ks.begin(); i != ks.end(); i++) { 439 before << string( cur_indent, ' ' ) << printLabels( (*i)->get_labels() );459 output << indent << printLabels( (*i)->get_labels() ); 440 460 (*i)->accept(*this ); 441 shift_left(); 442 before << endl; 461 462 output << endl; 463 if ( wantSpacing( *i ) ) { 464 output << endl; 465 } 443 466 } 444 cur_indent -= CodeGenerator2::tabsize; 445 446 before << string( cur_indent, ' ' ) << "}" << endl; 447 } 448 449 void CodeGenerator2::visit( ExprStmt *exprStmt ) { 450 if ( exprStmt != 0 ) { 451 exprStmt->get_expr()->accept( *this ); 452 shift_left(); 453 before << ";" ; 454 } // if 455 } 456 457 void CodeGenerator2::visit( IfStmt *ifStmt ) { 458 before << "if ("; 467 cur_indent -= CodeGenerator::tabsize; 468 469 output << indent << "}"; 470 } 471 472 void CodeGenerator::visit( ExprStmt *exprStmt ) { 473 // I don't see why this check is necessary. 474 // If this starts to cause problems then put it back in, 475 // with an explanation 476 assert( exprStmt ); 477 478 // if ( exprStmt != 0 ) { 479 exprStmt->get_expr()->accept( *this ); 480 output << ";" ; 481 // } // if 482 } 483 484 void CodeGenerator::visit( IfStmt *ifStmt ) { 485 output << "if ("; 459 486 ifStmt->get_condition()->accept(*this ); 460 after += ")\n"; 461 shift_left(); 462 463 cur_indent += CodeGenerator2::tabsize; 464 before << string( cur_indent, ' ' ); 487 output << ") "; 488 465 489 ifStmt->get_thenPart()->accept(*this ); 466 cur_indent -= CodeGenerator2::tabsize;467 shift_left(); before << endl;468 490 469 491 if ( ifStmt->get_elsePart() != 0) { 470 before << string( cur_indent, ' ' ) << " else " << endl ; 471 472 cur_indent += CodeGenerator2::tabsize; 492 output << " else "; 473 493 ifStmt->get_elsePart()->accept(*this ); 474 cur_indent -= CodeGenerator2::tabsize; 475 } // if 476 } 477 478 void CodeGenerator2::visit( SwitchStmt *switchStmt ) { 479 //before << /* "\r" << */ string( cur_indent, ' ' ) << CodeGenerator2::printLabels( switchStmt->get_labels() ) 480 before << "switch (" ; 494 } // if 495 } 496 497 void CodeGenerator::visit( SwitchStmt *switchStmt ) { 498 output << "switch (" ; 481 499 switchStmt->get_condition()->accept(*this ); 482 after += ")\n"; 483 shift_left(); 484 485 before << string( cur_indent, ' ' ) << "{" << std::endl; 486 cur_indent += CodeGenerator2::tabsize; 487 488 std::list< Statement * > stmts = switchStmt->get_branches(); 489 bool lastBreak = false; 490 491 // horrible, horrible hack 492 if ( dynamic_cast<BranchStmt *>( stmts.back() ) != 0 ) { 493 lastBreak = true; 494 stmts.pop_back(); 495 } // if 496 acceptAll( stmts, *this ); 497 if ( lastBreak ) { 498 Statement *st = switchStmt->get_branches().back(); 499 before << CodeGenerator2::printLabels( st->get_labels()); 500 st->accept( *this ); 501 } // if 502 503 cur_indent -= CodeGenerator2::tabsize; 504 505 before << /* "\r" << */ string( cur_indent, ' ' ) << "}" << endl ; 506 } 507 508 void CodeGenerator2::visit( CaseStmt *caseStmt ) { 509 before << string( cur_indent, ' ' ); 510 if ( caseStmt->isDefault()) 511 before << "default " ; 512 else { 513 before << "case " ; 500 output << ") "; 501 502 output << "{" << std::endl; 503 cur_indent += CodeGenerator::tabsize; 504 505 acceptAll( switchStmt->get_branches(), *this ); 506 507 cur_indent -= CodeGenerator::tabsize; 508 509 output << indent << "}"; 510 } 511 512 void CodeGenerator::visit( CaseStmt *caseStmt ) { 513 output << indent; 514 if ( caseStmt->isDefault()) { 515 output << "default"; 516 } else { 517 output << "case "; 514 518 caseStmt->get_condition()->accept(*this ); 515 519 } // if 516 after += ":\n"; 517 shift_left(); 518 520 output << ":\n"; 521 519 522 std::list<Statement *> sts = caseStmt->get_statements(); 520 523 521 cur_indent += CodeGenerator 2::tabsize;524 cur_indent += CodeGenerator::tabsize; 522 525 for ( std::list<Statement *>::iterator i = sts.begin(); i != sts.end(); i++) { 523 before << /* "\r" << */ string( cur_indent, ' ' )<< printLabels( (*i)->get_labels() ) ;526 output << indent << printLabels( (*i)->get_labels() ) ; 524 527 (*i)->accept(*this ); 525 shift_left(); 526 before << ";" << endl; 528 output << endl; 527 529 } 528 cur_indent -= CodeGenerator 2::tabsize;529 } 530 531 void CodeGenerator 2::visit( BranchStmt *branchStmt ) {530 cur_indent -= CodeGenerator::tabsize; 531 } 532 533 void CodeGenerator::visit( BranchStmt *branchStmt ) { 532 534 switch ( branchStmt->get_type()) { 533 535 case BranchStmt::Goto: 534 536 if ( ! branchStmt->get_target().empty() ) 535 before<< "goto " << branchStmt->get_target();537 output << "goto " << branchStmt->get_target(); 536 538 else { 537 539 if ( branchStmt->get_computedTarget() != 0 ) { 538 before<< "goto *";540 output << "goto *"; 539 541 branchStmt->get_computedTarget()->accept( *this ); 540 542 } // if … … 542 544 break; 543 545 case BranchStmt::Break: 544 before<< "break";546 output << "break"; 545 547 break; 546 548 case BranchStmt::Continue: 547 before<< "continue";549 output << "continue"; 548 550 break; 549 551 } 550 before<< ";";551 } 552 553 554 void CodeGenerator 2::visit( ReturnStmt *returnStmt ) {555 before<< "return ";552 output << ";"; 553 } 554 555 556 void CodeGenerator::visit( ReturnStmt *returnStmt ) { 557 output << "return "; 556 558 557 559 // xxx -- check for null expression; … … 559 561 returnStmt->get_expr()->accept( *this ); 560 562 } // if 561 after +=";";562 } 563 564 void CodeGenerator 2::visit( WhileStmt *whileStmt ) {563 output << ";"; 564 } 565 566 void CodeGenerator::visit( WhileStmt *whileStmt ) { 565 567 if ( whileStmt->get_isDoWhile() ) 566 before<< "do" ;568 output << "do" ; 567 569 else { 568 before<< "while (" ;570 output << "while (" ; 569 571 whileStmt->get_condition()->accept(*this ); 570 after +=")";571 } // if 572 after += "{\n";573 shift_left(); 574 572 output << ")"; 573 } // if 574 output << " "; 575 576 output << CodeGenerator::printLabels( whileStmt->get_body()->get_labels() ); 575 577 whileStmt->get_body()->accept( *this ); 576 578 577 before << /* "\r" << */ string( cur_indent, ' ' ) << "}";579 output << indent; 578 580 579 581 if ( whileStmt->get_isDoWhile() ) { 580 before<< " while (" ;582 output << " while (" ; 581 583 whileStmt->get_condition()->accept(*this ); 582 after += ");"; 583 } // if 584 585 after += "\n"; 586 } 587 588 void CodeGenerator2::visit( ForStmt *forStmt ) { 589 before << "for ("; 584 output << ");"; 585 } // if 586 } 587 588 void CodeGenerator::visit( ForStmt *forStmt ) { 589 output << "for ("; 590 590 591 591 if ( forStmt->get_initialization() != 0 ) 592 592 forStmt->get_initialization()->accept( *this ); 593 593 else 594 before << ";"; 595 shift_left(); 596 594 output << ";"; 595 597 596 if ( forStmt->get_condition() != 0 ) 598 597 forStmt->get_condition()->accept( *this ); 599 shift_left(); before<< ";";598 output << ";"; 600 599 601 600 if ( forStmt->get_increment() != 0 ) 602 601 forStmt->get_increment()->accept( *this ); 603 shift_left(); before << ")" << endl;602 output << ") "; 604 603 605 604 if ( forStmt->get_body() != 0 ) { 606 cur_indent += CodeGenerator2::tabsize; 607 before << string( cur_indent, ' ' ) << CodeGenerator2::printLabels( forStmt->get_body()->get_labels() ); 605 output << CodeGenerator::printLabels( forStmt->get_body()->get_labels() ); 608 606 forStmt->get_body()->accept( *this ); 609 cur_indent -= CodeGenerator2::tabsize; 610 } // if 611 } 612 613 void CodeGenerator2::visit( NullStmt *nullStmt ) { 614 //before << /* "\r" << */ string( cur_indent, ' ' ) << CodeGenerator2::printLabels( nullStmt->get_labels() ); 615 before << "/* null statement */ ;"; 616 } 617 618 void CodeGenerator2::visit( DeclStmt *declStmt ) { 607 } // if 608 } 609 610 void CodeGenerator::visit( NullStmt *nullStmt ) { 611 //output << indent << CodeGenerator::printLabels( nullStmt->get_labels() ); 612 output << "/* null statement */ ;"; 613 } 614 615 void CodeGenerator::visit( DeclStmt *declStmt ) { 619 616 declStmt->get_decl()->accept( *this ); 620 617 621 618 if ( doSemicolon( declStmt->get_decl() ) ) { 622 after += ";"; 623 } // if 624 shift_left(); 625 } 626 627 std::string CodeGenerator2::printLabels( std::list< Label > &l ) { 619 output << ";"; 620 } // if 621 } 622 623 std::string CodeGenerator::printLabels( std::list< Label > &l ) { 628 624 std::string str( "" ); 629 l.unique(); 625 l.unique(); // assumes a sorted list. Why not use set? 630 626 631 627 for ( std::list< Label >::iterator i = l.begin(); i != l.end(); i++ ) … … 635 631 } 636 632 637 void CodeGenerator2::shift_left() { 638 before << after; 639 after = ""; 640 } 641 642 void CodeGenerator2::handleStorageClass( Declaration *decl ) { 633 void CodeGenerator::handleStorageClass( Declaration *decl ) { 643 634 switch ( decl->get_storageClass() ) { 644 case Declaration::NoStorageClass: 645 break; 646 case Declaration::Extern: 647 before << "extern "; 648 break; 649 case Declaration::Static: 650 before << "static "; 651 break; 652 case Declaration::Auto: 635 case DeclarationNode::Extern: 636 output << "extern "; 637 break; 638 case DeclarationNode::Static: 639 output << "static "; 640 break; 641 case DeclarationNode::Auto: 653 642 // silently drop storage class 654 643 break; 655 case Declaration::Register: 656 before << "register "; 644 case DeclarationNode::Register: 645 output << "register "; 646 break; 647 case DeclarationNode::Inline: 648 output << "inline "; 649 break; 650 case DeclarationNode::Fortran: 651 output << "fortran "; 652 break; 653 case DeclarationNode::Noreturn: 654 output << "_Noreturn "; 655 break; 656 case DeclarationNode::Threadlocal: 657 output << "_Thread_local "; 658 break; 659 case DeclarationNode::NoStorageClass: 657 660 break; 658 661 } // switch -
src/CodeGen/CodeGenerator.h
reb50842 r937e51d 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // CodeGenerator 2.h --7 // CodeGenerator.h -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon May 18 23:35:37201513 // Update Count : 2 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Jun 11 13:24:23 2015 13 // Update Count : 23 14 14 // 15 15 … … 17 17 #define CODEGENV_H 18 18 19 #include <strstream>20 19 #include <list> 21 20 … … 25 24 26 25 namespace CodeGen { 27 class CodeGenerator 2: public Visitor {26 class CodeGenerator : public Visitor { 28 27 public: 29 28 static int tabsize; 30 29 31 CodeGenerator2( std::ostream &os ); 32 CodeGenerator2( std::ostream &os, std::string, int indent = 0, bool infun = false ); 33 CodeGenerator2( std::ostream &os, char *, int indent = 0, bool infun = false ); 34 35 CodeGenerator2( CodeGenerator2 & ); 30 CodeGenerator( std::ostream &os ); 31 CodeGenerator( std::ostream &os, std::string, int indent = 0, bool infun = false ); 32 CodeGenerator( std::ostream &os, char *, int indent = 0, bool infun = false ); 36 33 37 34 //*** Declaration … … 82 79 virtual void visit( DeclStmt * ); 83 80 84 std::string get_string( void );85 void add_string_left( std::string s ) { before << s; }86 void shift_left();87 81 template< class Iterator > void genCommaList( Iterator begin, Iterator end ); 82 83 struct Indenter { 84 Indenter(CodeGenerator &cg) : cg(cg) {} 85 CodeGenerator & cg; 86 std::ostream& operator()(std::ostream & os); 87 }; 88 88 private: 89 90 Indenter indent; 89 91 int cur_indent; 90 92 bool insideFunction; 91 std::ostream &before; 92 std::string after; 93 std::ostream &output; 93 94 94 95 static std::string printLabels ( std::list < Label > & ); … … 100 101 101 102 template< class Iterator > 102 void CodeGenerator 2::genCommaList( Iterator begin, Iterator end ) {103 void CodeGenerator::genCommaList( Iterator begin, Iterator end ) { 103 104 if ( begin == end ) return; 104 105 … … 106 107 (*begin++)->accept( *this ); 107 108 if ( begin == end ) return; 108 before<< ", ";109 output << ", "; 109 110 } // for 110 111 } -
src/CodeGen/GenType.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 23:38:22 201513 // Update Count : 214 // 15 16 #include <s trstream>12 // Last Modified On : Mon Jun 8 14:36:02 2015 13 // Update Count : 9 14 // 15 16 #include <sstream> 17 17 #include <cassert> 18 18 19 19 #include "GenType.h" 20 #include "CodeGenerator 2.h"20 #include "CodeGenerator.h" 21 21 #include "SynTree/Visitor.h" 22 22 #include "SynTree/Type.h" … … 68 68 69 69 void GenType::genArray( const Type::Qualifiers &qualifiers, Type *base, Expression *dimension, bool isVarLen, bool isStatic ) { 70 std::ostr stream os;70 std::ostringstream os; 71 71 if ( typeString != "" ) { 72 72 if ( typeString[ 0 ] == '*' ) { … … 97 97 } // if 98 98 if ( dimension != 0 ) { 99 CodeGenerator 2cg( os );99 CodeGenerator cg( os ); 100 100 dimension->accept( cg ); 101 101 } // if 102 102 os << "]"; 103 103 104 typeString = std::string( os.str(), os.pcount());104 typeString = os.str(); 105 105 106 106 base->accept( *this ); … … 127 127 128 128 void GenType::visit( FunctionType *funcType ) { 129 std::ostr stream os;129 std::ostringstream os; 130 130 131 131 if ( typeString != "" ) { … … 148 148 } // if 149 149 } else { 150 CodeGenerator 2cg( os );150 CodeGenerator cg( os ); 151 151 os << "(" ; 152 152 … … 159 159 } // if 160 160 161 typeString = std::string( os.str(), os.pcount());161 typeString = os.str(); 162 162 163 163 if ( funcType->get_returnVals().size() == 0 ) { -
src/CodeGen/Generate.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 23:39:24201513 // Update Count : 112 // Last Modified On : Thu Jun 4 14:04:25 2015 13 // Update Count : 5 14 14 // 15 15 … … 21 21 #include "Generate.h" 22 22 #include "SynTree/Declaration.h" 23 24 #include "CodeGenerator2.h" 23 #include "CodeGenerator.h" 25 24 26 25 using namespace std; … … 28 27 namespace CodeGen { 29 28 void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ) { 30 CodeGen::CodeGenerator 2cgv( os );29 CodeGen::CodeGenerator cgv( os ); 31 30 32 31 for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end(); i++ ) { 33 32 if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) { 34 33 (*i)->accept(cgv); 35 cgv.shift_left();36 34 if ( doSemicolon( *i ) ) { 37 35 os << ";"; -
src/CodeGen/OperatorTable.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 23:42:07201513 // Update Count : 212 // Last Modified On : Tue Jun 23 17:41:14 2015 13 // Update Count : 5 14 14 // 15 15 … … 20 20 namespace { 21 21 const OperatorInfo tableValues[] = { 22 { "?[?]", "", "_operator_index", OT_INDEX},23 { "?()", "", "_operator_call", OT_CALL},24 { "?++", "++", "_operator_postincr", OT_POSTFIXASSIGN },25 { "?--", "--", "_operator_postdecr", OT_POSTFIXASSIGN },26 { "*?", "*", "_operator_deref", OT_PREFIX},27 { "+?", "+", "_operator_unaryplus", OT_PREFIX},28 { "-?", "-", "_operator_unaryminus", OT_PREFIX},29 { "~?", "~", "_operator_bitnot", OT_PREFIX},30 { "!?", "!", "_operator_lognot", OT_PREFIX},31 { "++?", "++", "_operator_preincr", OT_PREFIXASSIGN },32 { "--?", "--", "_operator_predecr", OT_PREFIXASSIGN },33 { "?*?", "*", "_operator_multiply", OT_INFIX},34 { "?/?", "/", "_operator_divide", OT_INFIX},35 { "?%?", "%", "_operator_modulus", OT_INFIX},36 { "?+?", "+", "_operator_add", OT_INFIX},37 { "?-?", "-", "_operator_subtract", OT_INFIX},38 { "?<<?", "<<", "_operator_shiftleft", OT_INFIX},39 { "?>>?", ">>", "_operator_shiftright", OT_INFIX},40 { "?<?", "<", "_operator_less", OT_INFIX},41 { "?>?", ">", "_operator_greater", OT_INFIX},42 { "?<=?", "<=", "_operator_lessequal", OT_INFIX},43 { "?>=?", ">=", "_operator_greaterequal", OT_INFIX},44 { "?==?", "==", "_operator_equal", OT_INFIX},45 { "?!=?", "!=", "_operator_notequal", OT_INFIX},46 { "?&?", "&", "_operator_bitand", OT_INFIX},47 { "?^?", "^", "_operator_bitxor", OT_INFIX},48 { "?|?", "|", "_operator_bitor", OT_INFIX},49 { "?=?", "=", "_operator_assign", OT_INFIXASSIGN },50 { "?*=?", "*=", "_operator_multassign", OT_INFIXASSIGN },51 { "?/=?", "/=", "_operator_divassign", OT_INFIXASSIGN },52 { "?%=?", "%=", "_operator_modassign", OT_INFIXASSIGN },53 { "?+=?", "+=", "_operator_addassign", OT_INFIXASSIGN },54 { "?-=?", "-=", "_operator_subassign", OT_INFIXASSIGN },22 { "?[?]", "", "_operator_index", OT_INDEX }, 23 { "?()", "", "_operator_call", OT_CALL }, 24 { "?++", "++", "_operator_postincr", OT_POSTFIXASSIGN }, 25 { "?--", "--", "_operator_postdecr", OT_POSTFIXASSIGN }, 26 { "*?", "*", "_operator_deref", OT_PREFIX }, 27 { "+?", "+", "_operator_unaryplus", OT_PREFIX }, 28 { "-?", "-", "_operator_unaryminus", OT_PREFIX }, 29 { "~?", "~", "_operator_bitnot", OT_PREFIX }, 30 { "!?", "!", "_operator_lognot", OT_PREFIX }, 31 { "++?", "++", "_operator_preincr", OT_PREFIXASSIGN }, 32 { "--?", "--", "_operator_predecr", OT_PREFIXASSIGN }, 33 { "?*?", "*", "_operator_multiply", OT_INFIX }, 34 { "?/?", "/", "_operator_divide", OT_INFIX }, 35 { "?%?", "%", "_operator_modulus", OT_INFIX }, 36 { "?+?", "+", "_operator_add", OT_INFIX }, 37 { "?-?", "-", "_operator_subtract", OT_INFIX }, 38 { "?<<?", "<<", "_operator_shiftleft", OT_INFIX }, 39 { "?>>?", ">>", "_operator_shiftright", OT_INFIX }, 40 { "?<?", "<", "_operator_less", OT_INFIX }, 41 { "?>?", ">", "_operator_greater", OT_INFIX }, 42 { "?<=?", "<=", "_operator_lessequal", OT_INFIX }, 43 { "?>=?", ">=", "_operator_greaterequal", OT_INFIX }, 44 { "?==?", "==", "_operator_equal", OT_INFIX }, 45 { "?!=?", "!=", "_operator_notequal", OT_INFIX }, 46 { "?&?", "&", "_operator_bitand", OT_INFIX }, 47 { "?^?", "^", "_operator_bitxor", OT_INFIX }, 48 { "?|?", "|", "_operator_bitor", OT_INFIX }, 49 { "?=?", "=", "_operator_assign", OT_INFIXASSIGN }, 50 { "?*=?", "*=", "_operator_multassign", OT_INFIXASSIGN }, 51 { "?/=?", "/=", "_operator_divassign", OT_INFIXASSIGN }, 52 { "?%=?", "%=", "_operator_modassign", OT_INFIXASSIGN }, 53 { "?+=?", "+=", "_operator_addassign", OT_INFIXASSIGN }, 54 { "?-=?", "-=", "_operator_subassign", OT_INFIXASSIGN }, 55 55 { "?<<=?", "<<=", "_operator_shiftleftassign", OT_INFIXASSIGN }, 56 56 { "?>>=?", ">>=", "_operator_shiftrightassign", OT_INFIXASSIGN }, 57 { "?&=?", "&=", "_operator_bitandassign", OT_INFIXASSIGN }, 58 { "?^=?", "^=", "_operator_bitxorassign", OT_INFIXASSIGN }, 59 { "?|=?", "|=", "_operator_bitorassign", OT_INFIXASSIGN }, 60 { "0", "0", "_constant_zero", OT_CONSTANT }, 61 { "1", "1", "_constant_one", OT_CONSTANT } 57 { "?&=?", "&=", "_operator_bitandassign", OT_INFIXASSIGN }, 58 { "?^=?", "^=", "_operator_bitxorassign", OT_INFIXASSIGN }, 59 { "?|=?", "|=", "_operator_bitorassign", OT_INFIXASSIGN }, 60 { "&&", "&&", "&&", OT_LABELADDRESS }, 61 { "0", "0", "_constant_zero", OT_CONSTANT }, 62 { "1", "1", "_constant_one", OT_CONSTANT } 62 63 }; 63 64 -
src/CodeGen/OperatorTable.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 23:43:07 201513 // Update Count : 212 // Last Modified On : Tue Jun 23 16:09:27 2015 13 // Update Count : 3 14 14 // 15 15 … … 29 29 OT_POSTFIXASSIGN, 30 30 OT_INFIXASSIGN, 31 OT_LABELADDRESS, 31 32 OT_CONSTANT 32 33 }; -
src/CodeGen/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Tue Jun 2 11:17:02 2015 14 ## Update Count : 3 15 ############################################################################### 16 17 #SRC += ArgTweak/Rewriter.cc \ 18 # ArgTweak/Mutate.cc 19 1 20 SRC += CodeGen/Generate.cc \ 2 CodeGen/CodeGenerator 2.cc \21 CodeGen/CodeGenerator.cc \ 3 22 CodeGen/GenType.cc \ 4 23 CodeGen/FixNames.cc \ 5 CodeGen/OperatorTable.cc \ 6 $(NULL) 24 CodeGen/OperatorTable.cc -
src/Common/SemanticError.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:22:23 201513 // Update Count : 112 // Last Modified On : Mon Jun 8 14:38:53 2015 13 // Update Count : 4 14 14 // 15 15 … … 19 19 #include <exception> 20 20 #include <string> 21 #include <s trstream>21 #include <sstream> 22 22 #include <list> 23 23 #include <iostream> … … 42 42 template< typename T > 43 43 SemanticError::SemanticError( const std::string &error, const T *obj ) { 44 std::ostr stream os;44 std::ostringstream os; 45 45 os << "Error: " << error; 46 46 obj->print( os ); 47 errors.push_back( std::string( os.str(), os.pcount()) );47 errors.push_back( os.str() ); 48 48 } 49 49 -
src/Common/UniqueName.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:23:41201513 // Update Count : 112 // Last Modified On : Mon Jun 8 14:47:49 2015 13 // Update Count : 3 14 14 // 15 15 16 16 #include <string> 17 #include <s trstream>17 #include <sstream> 18 18 19 19 #include "UniqueName.h" … … 23 23 24 24 std::string UniqueName::newName( const std::string &additional ) { 25 std::ostr stream os;25 std::ostringstream os; 26 26 os << base << additional << count++; 27 return std::string( os.str(), os.pcount());27 return os.str(); 28 28 } 29 29 -
src/Common/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:51:23 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += Common/SemanticError.cc \ 2 18 Common/UniqueName.cc -
src/Common/utility.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 15:34:57201513 // Update Count : 312 // Last Modified On : Mon Jun 8 14:43:54 2015 13 // Update Count : 13 14 14 // 15 15 … … 18 18 19 19 #include <iostream> 20 #include <s trstream>20 #include <sstream> 21 21 #include <iterator> 22 22 #include <string> … … 60 60 for ( typename Container::const_iterator i = container.begin(); i != container.end(); ++i ) { 61 61 if ( *i ) { 62 os << std::string( indent, ' ');62 os << std::string( indent, ' ' ); 63 63 (*i)->print( os, indent + 2 ); 64 64 os << std::endl; … … 130 130 template < typename T > 131 131 std::string toString ( T value ) { 132 std::ostrstream os; 133 132 std::ostringstream os; 134 133 os << value; // << std::ends; 135 os.freeze( false ); 136 137 return std::string(os.str(), os.pcount()); 134 return os.str(); 138 135 } 139 136 … … 151 148 template< typename T > 152 149 void replace( std::list< T > &org, typename std::list< T >::iterator pos, std::list< T > &with ) { 153 // TIter should secretly be a typename std::list< T >::iterator154 // ( g++ 3.2 issues a 'is implicitly a typename' warning if I make this explicit )155 150 typename std::list< T >::iterator next = pos; advance( next, 1 ); 156 151 … … 196 191 while ( b1 != e1 && b2 != e2 ) 197 192 *out++ = func(*b1++, *b2++); 193 } 194 195 // it's nice to actually be able to increment iterators by an arbitrary amount 196 template< typename Iterator > 197 Iterator operator+(Iterator i, int inc) { 198 while ( inc > 0 ) { 199 ++i; 200 --inc; 201 } 202 return i; 198 203 } 199 204 -
src/ControlStruct/ChooseMutator.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:31:39201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 03 15:30:20 2015 13 // Update Count : 5 14 14 // 15 15 … … 44 44 std::list< Statement * > &stmts = caseStmt->get_statements(); 45 45 46 // the difference between switch and choose is that switch has an implicit fallthrough 47 // to the next case, whereas choose has an implicit break at the end of the current case. 48 // thus to transform a choose statement into a switch, we only need to insert breaks at the 49 // end of any case that doesn't already end in a break and that doesn't end in a fallthru 50 46 51 if ( insideChoose ) { 47 52 BranchStmt *posBrk; -
src/ControlStruct/LabelFixer.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:25:59201513 // Update Count : 1 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:24:34 2015 13 // Update Count : 141 14 14 // 15 15 … … 19 19 #include "LabelFixer.h" 20 20 #include "MLEMutator.h" 21 #include "SynTree/Expression.h" 21 22 #include "SynTree/Statement.h" 22 23 #include "SynTree/Declaration.h" 23 24 #include "utility.h" 24 25 26 #include <iostream> 27 25 28 namespace ControlStruct { 26 29 LabelFixer::Entry::Entry( Statement *to, Statement *from ) : definition ( to ) { 27 if ( from != 0 ) 28 usage.push_back( from ); 29 } 30 if ( from != 0 ) { 31 UsageLoc loc; loc.stmt = from; 32 usage.push_back( loc ); 33 } 34 } 35 36 LabelFixer::Entry::Entry( Statement *to, Expression *from ) : definition ( to ) { 37 if ( from != 0 ) { 38 UsageLoc loc; loc.expr = from; 39 usage.push_back( loc ); 40 } 41 } 42 30 43 31 44 bool LabelFixer::Entry::insideLoop() { 32 45 return ( dynamic_cast< ForStmt * > ( definition ) || 33 dynamic_cast< WhileStmt * > ( definition ) ); 46 dynamic_cast< WhileStmt * > ( definition ) ); 47 } 48 49 void LabelFixer::Entry::UsageLoc::accept( Visitor & visitor ) { 50 if ( dynamic_cast< Statement * >( stmt ) ) { 51 stmt->accept( visitor ); 52 } else { 53 expr->accept( visitor ); 54 } 34 55 } 35 56 … … 40 61 41 62 void LabelFixer::visit( FunctionDecl *functionDecl ) { 42 if ( functionDecl->get_statements() != 0 ) 43 functionDecl->get_statements()->accept( *this ); 63 maybeAccept( functionDecl->get_statements(), *this ); 44 64 45 65 MLEMutator mlemut( resolveJumps(), generator ); … … 47 67 } 48 68 69 // prune to at most one label definition for each statement 49 70 void LabelFixer::visit( Statement *stmt ) { 71 currentStatement = stmt; 50 72 std::list< Label > &labels = stmt->get_labels(); 51 73 52 74 if ( ! labels.empty() ) { 75 // only remember one label for each statement 53 76 Label current = setLabelsDef( labels, stmt ); 54 77 labels.clear(); … … 58 81 59 82 void LabelFixer::visit( BranchStmt *branchStmt ) { 60 visit ( ( Statement * )branchStmt ); // the labels this statement might have 61 62 Label target; 63 if ( (target = branchStmt->get_target()) != "" ) { 83 visit ( ( Statement * )branchStmt ); 84 85 // for labeled branches, add an entry to the label table 86 Label target = branchStmt->get_target(); 87 if ( target != "" ) { 64 88 setLabelsUsg( target, branchStmt ); 65 } //else /* computed goto or normal exit-loop statements */ 66 } 67 89 } 90 } 91 92 void LabelFixer::visit( UntypedExpr *untyped ) { 93 if ( NameExpr * func = dynamic_cast< NameExpr * >( untyped->get_function() ) ) { 94 if ( func->get_name() == "&&" ) { 95 NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() ); 96 Label target = arg->get_name(); 97 assert( target != "" ); 98 setLabelsUsg( target, untyped ); 99 } else { 100 Visitor::visit( untyped ); 101 } 102 } 103 } 104 105 106 // sets the definition of the labelTable entry to be the provided 107 // statement for every label in the list parameter. Happens for every kind of statement 68 108 Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) { 69 109 assert( definition != 0 ); 70 Entry *entry = new Entry( definition ); 71 bool used = false; 72 73 for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) 74 if ( labelTable.find( *i ) == labelTable.end() ) 75 { used = true; labelTable[ *i ] = entry; } // undefined and unused 76 else 77 if ( labelTable[ *i ]->defined() ) 78 throw SemanticError( "Duplicate definition of label: " + *i ); 79 else 80 labelTable[ *i ]->set_definition( definition ); 81 82 if ( ! used ) delete entry; 83 84 return labelTable[ llabel.front() ]->get_label(); // this *must* exist 85 } 86 87 Label LabelFixer::setLabelsUsg( Label orgValue, Statement *use ) { 110 assert( llabel.size() > 0 ); 111 112 Entry * e = new Entry( definition ); 113 114 for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) { 115 if ( labelTable.find( *i ) == labelTable.end() ) { 116 // all labels on this statement need to use the same entry, so this should only be created once 117 // undefined and unused until now, add an entry 118 labelTable[ *i ] = e; 119 } else if ( labelTable[ *i ]->defined() ) { 120 // defined twice, error 121 throw SemanticError( "Duplicate definition of label: " + *i ); 122 } else { 123 // used previously, but undefined until now -> link with this entry 124 Entry * oldEntry = labelTable[ *i ]; 125 e->add_uses( *oldEntry ); 126 labelTable[ *i ] = e; 127 } // if 128 } // for 129 130 // produce one of the labels attached to this statement to be 131 // temporarily used as the canonical label 132 return labelTable[ llabel.front() ]->get_label(); 133 } 134 135 // Remember all uses of a label. 136 template< typename UsageNode > 137 void LabelFixer::setLabelsUsg( Label orgValue, UsageNode *use ) { 88 138 assert( use != 0 ); 89 139 90 if ( labelTable.find( orgValue ) != labelTable.end() ) 91 labelTable[ orgValue ]->add_use( use ); // the label has been defined or used before 92 else 140 if ( labelTable.find( orgValue ) != labelTable.end() ) { 141 // the label has been defined or used before 142 labelTable[ orgValue ]->add_use( use ); 143 } else { 93 144 labelTable[ orgValue ] = new Entry( 0, use ); 94 95 return labelTable[ orgValue ]->get_label(); 96 } 97 145 } 146 } 147 148 class LabelGetter : public Visitor { 149 public: 150 LabelGetter( Label &label ) : label( label ) {} 151 152 virtual void visit( BranchStmt * branchStmt ) { 153 label = branchStmt->get_target(); 154 } 155 156 virtual void visit( UntypedExpr * untyped ) { 157 NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() ); 158 assert( name ); 159 assert( name->get_name() == "&&" ); 160 NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() ); 161 assert( arg ); 162 label = arg->get_name(); 163 } 164 165 private: 166 Label &label; 167 }; 168 169 class LabelSetter : public Visitor { 170 public: 171 LabelSetter( Label label ) : label( label ) {} 172 173 virtual void visit( BranchStmt * branchStmt ) { 174 branchStmt->set_target( label ); 175 } 176 177 virtual void visit( UntypedExpr * untyped ) { 178 NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() ); 179 assert( name ); 180 assert( name->get_name() == "&&" ); 181 NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() ); 182 assert( arg ); 183 arg->set_name( label ); 184 } 185 186 private: 187 Label label; 188 }; 189 190 // Ultimately builds a table that maps a label to its defining statement. 191 // In the process, 98 192 std::map<Label, Statement * > *LabelFixer::resolveJumps() throw ( SemanticError ) { 99 193 std::map< Statement *, Entry * > def_us; 100 194 101 for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); i++ ) { 195 // combine the entries for all labels that target the same location 196 for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); ++i ) { 102 197 Entry *e = i->second; 103 198 104 if ( def_us.find ( e->get_definition() ) == def_us.end() ) 199 if ( def_us.find ( e->get_definition() ) == def_us.end() ) { 105 200 def_us[ e->get_definition() ] = e; 106 else107 if ( e->used() )108 def_us[ e->get_definition() ]->add_uses( e->get_uses() );109 } 110 111 // get rid of labelTable112 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++) {201 } else if ( e->used() ) { 202 def_us[ e->get_definition() ]->add_uses( *e ); 203 } 204 } 205 206 // create a unique label for each target location. 207 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) { 113 208 Statement *to = (*i).first; 114 std::list< Statement *> &from = (*i).second->get_uses();115 Label finalLabel = generator->newLabel();116 (*i).second->set_label( finalLabel ); 117 209 Entry * entry = (*i).second; 210 std::list< Entry::UsageLoc > &from = entry->get_uses(); 211 212 // no label definition found 118 213 if ( to == 0 ) { 119 BranchStmt *first_use = dynamic_cast<BranchStmt *>(from.back());120 Label undef("");121 if ( first_use != 0 )122 undef = first_use->get_target();214 Label undef; 215 LabelGetter getLabel( undef ); 216 from.back().accept( getLabel ); 217 // Label undef = getLabel( from.back()->get_target() ); 123 218 throw SemanticError ( "'" + undef + "' label not defined"); 124 } 219 } // if 220 221 // generate a new label, and attach it to its defining statement as the only label on that statement 222 Label finalLabel = generator->newLabel( to->get_labels().back() ); 223 entry->set_label( finalLabel ); 125 224 126 225 to->get_labels().clear(); 127 226 to->get_labels().push_back( finalLabel ); 128 227 129 for ( std::list< Statement *>::iterator j = from.begin(); j != from.end(); j++ ) { 130 BranchStmt *jumpTo = dynamic_cast< BranchStmt * > ( *j ); 131 assert( jumpTo != 0 ); 132 jumpTo->set_target( finalLabel ); 228 // redirect each of the source branch statements to the new target label 229 for ( std::list< Entry::UsageLoc >::iterator j = from.begin(); j != from.end(); ++j ) { 230 LabelSetter setLabel( finalLabel ); 231 (*j).accept( setLabel ); 232 // setLabel( *j, finalLabel ); 233 234 // BranchStmt *jump = *j; 235 // assert( jump != 0 ); 236 // jump->set_target( finalLabel ); 133 237 } // for 134 238 } // for 135 239 136 // reverse table240 // create a table where each label maps to its defining statement 137 241 std::map< Label, Statement * > *ret = new std::map< Label, Statement * >(); 138 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ )242 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) { 139 243 (*ret)[ (*i).second->get_label() ] = (*i).first; 244 } 140 245 141 246 return ret; -
src/ControlStruct/LabelFixer.h
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:31:55 201513 // Update Count : 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Tue Jun 23 15:47:25 2015 13 // Update Count : 28 14 14 // 15 15 … … 53 53 virtual void visit( DeclStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 54 54 virtual void visit( BranchStmt *branchStmt ); 55 virtual void visit( UntypedExpr *untyped ); 55 56 56 57 Label setLabelsDef( std::list< Label > &, Statement *definition ); 57 Label setLabelsUsg( Label, Statement *usage = 0 ); 58 template< typename UsageNode > 59 void setLabelsUsg( Label, UsageNode *usage = 0 ); 58 60 59 61 private: 60 62 class Entry { 61 public: 62 Entry( Statement *to = 0, Statement *from = 0 ); 63 public: 64 union UsageLoc { 65 Statement * stmt; 66 Expression * expr; 67 68 void accept( Visitor &visitor ); 69 }; 70 71 Entry( Statement *to ) : definition( to ) {} 72 Entry( Statement *to, Statement *from ); 73 Entry( Statement *to, Expression *from ); 63 74 bool used() { return ( usage.empty() ); } 64 75 bool defined() { return ( definition != 0 ); } … … 66 77 67 78 Label get_label() const { return label; } 79 void set_label( Label lab ) { label = lab; } 80 68 81 Statement *get_definition() const { return definition; } 69 std::list< Statement *> &get_uses() { return usage; }70 71 void add_use ( Statement *use ) { usage.push_back( use ); }72 void add_uses ( std::list<Statement *> uses ) { usage.insert( usage.end(), uses.begin(), uses.end() ); }73 82 void set_definition( Statement *def ) { definition = def; } 74 83 75 void set_label( Label lab ) { label = lab; } 76 Label gset_label() const { return label; } 84 std::list< UsageLoc > &get_uses() { return usage; } 85 void add_use( Statement *use ) { 86 UsageLoc loc; 87 loc.stmt = use; 88 usage.push_back( loc ); 89 } 90 void add_use( Expression *use ) { 91 UsageLoc loc; 92 loc.expr = use; 93 usage.push_back( loc ); 94 } 95 96 void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), usage.end() ); } 77 97 private: 78 98 Label label; 79 99 Statement *definition; 80 std::list< Statement *> usage;100 std::list<UsageLoc> usage; 81 101 }; 82 102 83 103 std::map < Label, Entry *> labelTable; 84 104 LabelGenerator *generator; 105 Statement * currentStatement; 85 106 }; 86 107 } // namespace ControlStruct -
src/ControlStruct/LabelGenerator.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 15:32:04 201513 // Update Count : 212 // Last Modified On : Tue Jun 23 12:18:34 2015 13 // Update Count : 13 14 14 // 15 15 16 16 #include <iostream> 17 #include <s trstream>17 #include <sstream> 18 18 19 19 #include "LabelGenerator.h" … … 29 29 } 30 30 31 Label LabelGenerator::newLabel() { 32 std::ostrstream os; 33 os << "__L" << current++ << "__";// << std::ends; 34 os.freeze( false ); 35 std::string ret = std::string (os.str(), os.pcount()); 31 Label LabelGenerator::newLabel( std::string suffix ) { 32 std::ostringstream os; 33 os << "__L" << current++ << "__" << suffix; 34 std::string ret = os.str(); 36 35 return Label( ret ); 37 36 } -
src/ControlStruct/LabelGenerator.h
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:33:20201513 // Update Count : 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 03 14:16:26 2015 13 // Update Count : 5 14 14 // 15 15 … … 18 18 19 19 #include "SynTree/SynTree.h" 20 #include <string> 20 21 21 22 namespace ControlStruct { … … 23 24 public: 24 25 static LabelGenerator *getGenerator(); 25 Label newLabel( );26 Label newLabel(std::string suffix = ""); 26 27 void reset() { current = 0; } 27 28 void rewind() { current--; } -
src/ControlStruct/LabelTypeChecker.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:32:15201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:24:48 2015 13 // Update Count : 3 14 14 // 15 15 … … 29 29 NameExpr *fname; 30 30 if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 31 && fname->get_name() == std::string(" LabAddress") )31 && fname->get_name() == std::string("&&") ) 32 32 std::cerr << "Taking the label of an address." << std::endl; 33 33 else { -
src/ControlStruct/MLEMutator.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : T ue May 19 15:32:26201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Jun 04 15:12:33 2015 13 // Update Count : 173 14 14 // 15 15 … … 19 19 #include "MLEMutator.h" 20 20 #include "SynTree/Statement.h" 21 #include "SynTree/Expression.h" 21 22 22 23 namespace ControlStruct { … … 26 27 } 27 28 28 CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) { 29 bool labeledBlock = false; 30 if ( !((cmpndStmt->get_labels()).empty()) ) { 31 labeledBlock = true; 32 enclosingBlocks.push_back( Entry( cmpndStmt ) ); 33 } // if 34 35 std::list< Statement * > &kids = cmpndStmt->get_kids(); 29 // break labels have to come after the statement they break out of, 30 // so mutate a statement, then if they inform us through the breakLabel field 31 // tha they need a place to jump to on a break statement, add the break label 32 // to the body of statements 33 void MLEMutator::fixBlock( std::list< Statement * > &kids ) { 36 34 for ( std::list< Statement * >::iterator k = kids.begin(); k != kids.end(); k++ ) { 37 35 *k = (*k)->acceptMutator(*this); 38 36 39 37 if ( ! get_breakLabel().empty() ) { 40 std::list< Statement * >::iterator next = k ; next++;38 std::list< Statement * >::iterator next = k+1; 41 39 if ( next == kids.end() ) { 42 40 std::list<Label> ls; ls.push_back( get_breakLabel() ); 43 41 kids.push_back( new NullStmt( ls ) ); 44 } else 42 } else { 45 43 (*next)->get_labels().push_back( get_breakLabel() ); 44 } 46 45 47 46 set_breakLabel(""); 48 47 } // if 49 48 } // for 49 } 50 51 CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) { 52 bool labeledBlock = !(cmpndStmt->get_labels().empty()); 53 if ( labeledBlock ) { 54 Label brkLabel = generator->newLabel("blockBreak"); 55 enclosingBlocks.push_back( Entry( cmpndStmt, brkLabel ) ); 56 } // if 57 58 // a child statement may set the break label 59 // - if they do, attach it to the next statement 60 std::list< Statement * > &kids = cmpndStmt->get_kids(); 61 fixBlock( kids ); 50 62 51 63 if ( labeledBlock ) { 52 64 assert( ! enclosingBlocks.empty() ); 53 if ( ! enclosingBlocks.back().get_breakExit().empty() ) 54 set_breakLabel( enclosingBlocks.back().get_breakExit() ); 65 if ( ! enclosingBlocks.back().useBreakExit().empty() ) { 66 set_breakLabel( enclosingBlocks.back().useBreakExit() ); 67 } 55 68 enclosingBlocks.pop_back(); 56 69 } // if 57 70 58 //mutateAll( cmpndStmt->get_kids(), *this );59 71 return cmpndStmt; 60 72 } 61 73 62 Statement *MLEMutator::mutate( WhileStmt *whileStmt ) { 63 enclosingLoops.push_back( Entry( whileStmt ) ); 64 whileStmt->set_body ( whileStmt->get_body()->acceptMutator( *this ) ); 65 74 template< typename LoopClass > 75 Statement *MLEMutator::handleLoopStmt( LoopClass *loopStmt ) { 76 // remember this as the most recent enclosing loop, then mutate 77 // the body of the loop -- this will determine whether brkLabel 78 // and contLabel are used with branch statements 79 // and will recursively do the same to nested loops 80 Label brkLabel = generator->newLabel("loopBreak"); 81 Label contLabel = generator->newLabel("loopContinue"); 82 enclosingLoops.push_back( Entry( loopStmt, brkLabel, contLabel ) ); 83 loopStmt->set_body ( loopStmt->get_body()->acceptMutator( *this ) ); 84 85 // sanity check that the enclosing loops have been popped correctly 66 86 Entry &e = enclosingLoops.back(); 67 assert ( e == whileStmt ); 68 whileStmt->set_body( mutateLoop( whileStmt->get_body(), e ) ); 87 assert ( e == loopStmt ); 88 89 // this will take the necessary steps to add definitions of the previous 90 // two labels, if they are used. 91 loopStmt->set_body( mutateLoop( loopStmt->get_body(), e ) ); 69 92 enclosingLoops.pop_back(); 70 93 71 return whileStmt; 72 } 73 74 Statement *MLEMutator::mutate( ForStmt *forStmt ) { 75 enclosingLoops.push_back( Entry( forStmt ) ); 76 maybeMutate( forStmt->get_body(), *this ); 77 78 Entry &e = enclosingLoops.back(); 79 assert ( e == forStmt ); 80 forStmt->set_body( mutateLoop( forStmt->get_body(), e ) ); 81 enclosingLoops.pop_back(); 82 83 return forStmt; 94 return loopStmt; 95 } 96 97 Statement *MLEMutator::mutate( CaseStmt *caseStmt ) { 98 caseStmt->set_condition( maybeMutate( caseStmt->get_condition(), *this ) ); 99 fixBlock( caseStmt->get_statements() ); 100 101 return caseStmt; 102 } 103 104 template< typename SwitchClass > 105 Statement *MLEMutator::handleSwitchStmt( SwitchClass *switchStmt ) { 106 // generate a label for breaking out of a labeled switch 107 Label brkLabel = generator->newLabel("switchBreak"); 108 enclosingSwitches.push_back( Entry(switchStmt, brkLabel) ); 109 mutateAll( switchStmt->get_branches(), *this ); 110 111 Entry &e = enclosingSwitches.back(); 112 assert ( e == switchStmt ); 113 114 // only generate break label if labeled break is used 115 if (e.isBreakUsed()) { 116 // for the purposes of keeping switch statements uniform (i.e. all statements that are 117 // direct children of a switch should be CastStmts), append the exit label + break to the 118 // last case statement; create a default case if there are no cases 119 std::list< Statement * > &branches = switchStmt->get_branches(); 120 if ( branches.empty() ) { 121 branches.push_back( CaseStmt::makeDefault() ); 122 } 123 124 if ( CaseStmt * c = dynamic_cast< CaseStmt * >( branches.back() ) ) { 125 std::list<Label> temp; temp.push_back( brkLabel ); 126 c->get_statements().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) ); 127 } else assert(0); // as of this point, all branches of a switch are still CaseStmts 128 } 129 130 assert ( enclosingSwitches.back() == switchStmt ); 131 enclosingSwitches.pop_back(); 132 return switchStmt; 84 133 } 85 134 86 135 Statement *MLEMutator::mutate( BranchStmt *branchStmt ) throw ( SemanticError ) { 136 std::string originalTarget = branchStmt->get_originalTarget(); 137 87 138 if ( branchStmt->get_type() == BranchStmt::Goto ) 88 139 return branchStmt; 89 140 90 141 // test if continue target is a loop 91 if ( branchStmt->get_type() == BranchStmt::Continue && enclosingLoops.empty() ) 92 throw SemanticError( "'continue' outside a loop" ); 142 if ( branchStmt->get_type() == BranchStmt::Continue) { 143 if ( enclosingLoops.empty() ) { 144 throw SemanticError( "'continue' outside a loop" ); 145 } else if ( std::find( enclosingLoops.begin(), enclosingLoops.end(), (*targetTable)[branchStmt->get_target()] ) == enclosingLoops.end() ) { 146 throw SemanticError( "'continue' target label must be an enclosing loop: " + originalTarget ); 147 } 148 } 93 149 94 150 if ( branchStmt->get_type() == BranchStmt::Break && (enclosingLoops.empty() && enclosingSwitches.empty() && enclosingBlocks.empty() ) ) … … 98 154 99 155 if ( targetTable->find( branchStmt->get_target() ) == targetTable->end() ) 100 throw SemanticError("The label defined in the exit loop statement does not exist ."); // shouldn't happen (since that's already checked)156 throw SemanticError("The label defined in the exit loop statement does not exist: " + originalTarget ); // shouldn't happen (since that's already checked) 101 157 102 158 std::list< Entry >::iterator check; … … 106 162 // neither in loop nor in block, checking if in switch/choose 107 163 if ( (check = std::find( enclosingSwitches.begin(), enclosingSwitches.end(), (*targetTable)[branchStmt->get_target()] )) == enclosingSwitches.end() ) 108 throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing loop."); 109 164 throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing control structure: " + originalTarget ); 165 166 // what about exiting innermost block or switch??? 110 167 if ( enclosingLoops.back() == (*check) ) 111 168 return branchStmt; // exit the innermost loop (labels unnecessary) 112 169 113 Label newLabel; 170 // branch error checks, get the appropriate label name and create a goto 171 Label exitLabel; 114 172 switch ( branchStmt->get_type() ) { 115 173 case BranchStmt::Break: 116 if ( check->get_breakExit() != "" ) 117 newLabel = check->get_breakExit(); 118 else { 119 newLabel = generator->newLabel(); 120 check->set_breakExit( newLabel ); 121 } // if 122 break; 174 assert( check->useBreakExit() != ""); 175 exitLabel = check->useBreakExit(); 176 break; 123 177 case BranchStmt::Continue: 124 if ( check->get_contExit() != "" ) 125 newLabel = check->get_contExit(); 126 else { 127 newLabel = generator->newLabel(); 128 check->set_contExit( newLabel ); 129 } // if 130 break; 178 assert( check->useContExit() != ""); 179 exitLabel = check->useContExit(); 180 break; 131 181 default: 132 return 0; // shouldn't be here182 assert(0); // shouldn't be here 133 183 } // switch 134 184 135 return new BranchStmt( std::list<Label>(), newLabel, BranchStmt::Goto ); 136 } 137 138 139 Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) { 140 Label brkLabel = generator->newLabel(); 141 enclosingSwitches.push_back( Entry(switchStmt, "", brkLabel) ); 142 mutateAll( switchStmt->get_branches(), *this ); { 143 // check if this is necessary (if there is a break to this point, otherwise do not generate 144 std::list<Label> temp; temp.push_back( brkLabel ); 145 switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) ); 146 } 147 assert ( enclosingSwitches.back() == switchStmt ); 148 enclosingSwitches.pop_back(); 149 return switchStmt; 150 } 151 152 Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) { 153 Label brkLabel = generator->newLabel(); 154 enclosingSwitches.push_back( Entry(switchStmt,"", brkLabel) ); 155 mutateAll( switchStmt->get_branches(), *this ); { 156 // check if this is necessary (if there is a break to this point, otherwise do not generate 157 std::list<Label> temp; temp.push_back( brkLabel ); 158 switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) ); 159 } 160 assert ( enclosingSwitches.back() == switchStmt ); 161 enclosingSwitches.pop_back(); 162 return switchStmt; 185 return new BranchStmt( std::list<Label>(), exitLabel, BranchStmt::Goto ); 163 186 } 164 187 165 188 Statement *MLEMutator::mutateLoop( Statement *bodyLoop, Entry &e ) { 189 // ensure loop body is a block 166 190 CompoundStmt *newBody; 167 191 if ( ! (newBody = dynamic_cast<CompoundStmt *>( bodyLoop )) ) { … … 170 194 } // if 171 195 172 Label endLabel = e.get_contExit(); 173 174 if ( e.get_breakExit() != "" ) { 175 if ( endLabel == "" ) endLabel = generator->newLabel(); 176 // check for whether this label is used or not, so as to not generate extraneous gotos 177 if (e.breakExitUsed) 178 newBody->get_kids().push_back( new BranchStmt( std::list< Label >(), endLabel, BranchStmt::Goto ) ); 179 // xxx 180 //std::list< Label > ls; ls.push_back( e.get_breakExit() ); 181 set_breakLabel( e.get_breakExit() ); 182 //newBody->get_kids().push_back( new BranchStmt( ls, "", BranchStmt::Break ) ); 183 } // if 184 185 if ( e.get_breakExit() != "" || e.get_contExit() != "" ) { 186 if (dynamic_cast< NullStmt *>( newBody->get_kids().back() )) 187 newBody->get_kids().back()->get_labels().push_back( endLabel ); 188 else { 189 std::list < Label > ls; ls.push_back( endLabel ); 190 newBody->get_kids().push_back( new NullStmt( ls ) ); 191 } // if 192 } // if 196 // only generate these when needed 197 198 if ( e.isContUsed() ) { 199 // continue label goes in the body as the last statement 200 std::list< Label > labels; labels.push_back( e.useContExit() ); 201 newBody->get_kids().push_back( new NullStmt( labels ) ); 202 } 203 204 if ( e.isBreakUsed() ) { 205 // break label goes after the loop -- it'll get set by the 206 // outer mutator if we do this 207 set_breakLabel( e.useBreakExit() ); 208 } 193 209 194 210 return newBody; 195 211 } 196 212 197 //*** Entry's methods 198 void MLEMutator::Entry::set_contExit( Label l ) { 199 assert ( contExit == "" || contExit == l ); 200 contExit = l; 201 } 202 203 void MLEMutator::Entry::set_breakExit( Label l ) { 204 assert ( breakExit == "" || breakExit == l ); 205 breakExit = l; 206 } 213 Statement *MLEMutator::mutate( WhileStmt *whileStmt ) { 214 return handleLoopStmt( whileStmt ); 215 } 216 217 Statement *MLEMutator::mutate( ForStmt *forStmt ) { 218 return handleLoopStmt( forStmt ); 219 } 220 221 Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) { 222 return handleSwitchStmt( switchStmt ); 223 } 224 225 Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) { 226 return handleSwitchStmt( switchStmt ); 227 } 228 207 229 } // namespace ControlStruct 208 230 -
src/ControlStruct/MLEMutator.h
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:32:39201513 // Update Count : 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 03 15:06:36 2015 13 // Update Count : 25 14 14 // 15 15 … … 38 38 Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError ); 39 39 40 Statement *mutate( CaseStmt *caseStmt ); 40 41 Statement *mutate( SwitchStmt *switchStmt ); 41 42 Statement *mutate( ChooseStmt *switchStmt ); … … 48 49 class Entry { 49 50 public: 50 explicit Entry( Statement *_loop = 0, Label _contExit = Label(""), Label _breakExit = Label("") ) :51 loop( _loop ), contExit( _contExit ), breakExit( _breakExit ), contExitUsed( false ), breakExitUsed( false) {}51 explicit Entry( Statement *_loop, Label _breakExit, Label _contExit = Label("") ) : 52 loop( _loop ), breakExit( _breakExit ), contExit( _contExit ), breakUsed(false), contUsed(false) {} 52 53 53 54 bool operator==( const Statement *stmt ) { return ( loop == stmt ); } … … 58 59 Statement *get_loop() const { return loop; } 59 60 60 Label get_contExit() const {return contExit; }61 void set_contExit( Label );61 Label useContExit() { contUsed = true; return contExit; } 62 Label useBreakExit() { breakUsed = true; return breakExit; } 62 63 63 Label get_breakExit() const { return breakExit; }64 void set_breakExit( Label );64 bool isContUsed() const { return contUsed; } 65 bool isBreakUsed() const { return breakUsed; } 65 66 66 67 private: 67 68 Statement *loop; 68 Label contExit, breakExit; 69 public: // hack, provide proper [sg]etters 70 bool contExitUsed, breakExitUsed; 69 Label breakExit, contExit; 70 bool breakUsed, contUsed; 71 71 }; 72 72 … … 75 75 Label breakLabel; 76 76 LabelGenerator *generator; 77 78 template< typename LoopClass > 79 Statement *handleLoopStmt( LoopClass *loopStmt ); 80 81 template< typename SwitchClass > 82 Statement *handleSwitchStmt( SwitchClass *switchStmt ); 83 84 void fixBlock( std::list< Statement * > &kids ); 77 85 }; 78 86 } // namespace ControlStruct -
src/ControlStruct/Mutate.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 15:32:52201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 03 23:08:43 2015 13 // Update Count : 5 14 14 // 15 15 … … 37 37 void mutate( std::list< Declaration * > translationUnit ) { 38 38 // ForExprMutator formut; 39 40 // normalizes label definitions and generates multi-level 41 // exit labels 39 42 LabelFixer lfix; 43 44 // transform choose statements into switch statements 40 45 ChooseMutator chmut; 46 47 // expand case ranges and turn fallthru into a null statement 41 48 CaseRangeMutator ranges; // has to run after ChooseMutator 49 42 50 //ExceptMutator exc; 43 51 // LabelTypeChecker lbl; -
src/ControlStruct/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:51:45 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += ControlStruct/LabelGenerator.cc \ 2 ControlStruct/LabelFixer.cc \18 ControlStruct/LabelFixer.cc \ 3 19 ControlStruct/MLEMutator.cc \ 4 20 ControlStruct/CaseRangeMutator.cc \ … … 6 22 ControlStruct/ChooseMutator.cc \ 7 23 ControlStruct/ForExprMutator.cc \ 8 ControlStruct/LabelTypeChecker.cc \ 9 $(NULL) 24 ControlStruct/LabelTypeChecker.cc 10 25 -
src/Designators/module.mk
reb50842 r937e51d 1 SRC += Designators/Processor.cc \ 2 $(NULL) 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:52:06 2015 14 ## Update Count : 1 15 ############################################################################### 16 17 SRC += Designators/Processor.cc -
src/GenPoly/Box.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:31:41201513 // Update Count : 112 // Last Modified On : Sat Jun 13 09:12:19 2015 13 // Update Count : 4 14 14 // 15 15 … … 26 26 #include "ScrubTyVars.h" 27 27 28 #include "SynTree/Declaration.h" 28 #include "Parser/ParseNode.h" 29 29 30 #include "SynTree/Type.h" 30 31 #include "SynTree/Expression.h" … … 32 33 #include "SynTree/Statement.h" 33 34 #include "SynTree/Mutator.h" 35 34 36 #include "ResolvExpr/TypeEnvironment.h" 37 35 38 #include "SymTab/Mangler.h" 36 39 … … 282 285 283 286 ObjectDecl *Pass1::makeTemporary( Type *type ) { 284 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, 0, type, 0 );287 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, type, 0 ); 285 288 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 286 289 return newObj; … … 362 365 arg = new AddressExpr( arg ); 363 366 } else { 364 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );367 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 ); 365 368 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); 366 369 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); … … 433 436 makeRetParm( adapter ); 434 437 } // if 435 adapter->get_parameters().push_front( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );438 adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) ); 436 439 return adapter; 437 440 } … … 521 524 adapterBody->get_kids().push_back( bodyStmt ); 522 525 std::string adapterName = makeAdapterName( mangleName ); 523 return new FunctionDecl( adapterName, Declaration ::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );526 return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false, false ); 524 527 } 525 528 … … 902 905 if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) { 903 906 std::string adapterName = makeAdapterName( mangleName ); 904 paramList.push_front( new ObjectDecl( adapterName, Declaration ::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );907 paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) ); 905 908 adaptersDone.insert( adaptersDone.begin(), mangleName ); 906 909 } … … 961 964 std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin(); 962 965 std::list< DeclarationWithType *> inferredParams; 963 ObjectDecl *newObj = new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );964 /// ObjectDecl *newFunPtr = new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );966 ObjectDecl *newObj = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 ); 967 /// ObjectDecl *newFunPtr = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ); 965 968 for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) { 966 969 ObjectDecl *thisParm; -
src/GenPoly/Specialize.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:55:09201513 // Update Count : 412 // Last Modified On : Sat Jun 13 15:54:07 2015 13 // Update Count : 6 14 14 // 15 15 … … 19 19 #include "PolyMutator.h" 20 20 21 #include "SynTree/Declaration.h" 21 #include "Parser/ParseNode.h" 22 23 #include "SynTree/Expression.h" 22 24 #include "SynTree/Statement.h" 23 #include "SynTree/Expression.h"24 25 #include "SynTree/Type.h" 25 26 #include "SynTree/TypeSubstitution.h" … … 96 97 newEnv.applyFree( newType ); 97 98 } // if 98 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );99 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false, false ); 99 100 thunkFunc->fixUniqueId(); 100 101 -
src/GenPoly/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:52:30 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += GenPoly/Box.cc \ 2 18 GenPoly/GenPoly.cc \ … … 7 23 GenPoly/CopyParams.cc \ 8 24 GenPoly/FindFunction.cc 9 -
src/InitTweak/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:52:49 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += InitTweak/InitModel.cc \ 2 18 InitTweak/InitExpander.cc \ 3 InitTweak/Mutate.cc \ 4 InitTweak/Association.cc \ 5 InitTweak/RemoveInit.cc \ 6 $(NULL) 19 InitTweak/Mutate.cc \ 20 InitTweak/Association.cc \ 21 InitTweak/RemoveInit.cc 7 22 -
src/Makefile.in
reb50842 r937e51d 1 # Makefile.in generated by automake 1.11.3 from Makefile.am. 2 # @configure_input@ 3 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software 6 # Foundation, Inc. 7 # This Makefile.in is free software; the Free Software Foundation 8 # gives unlimited permission to copy and/or distribute it, 9 # with or without modifications, as long as this notice is preserved. 10 11 # This program is distributed in the hope that it will be useful, 12 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 13 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 14 # PARTICULAR PURPOSE. 15 16 @SET_MAKE@ 17 18 ######################## -*- Mode: Makefile-Automake -*- ###################### 19 ############################################################################### 20 1 21 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ##3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo4 ##5 ## The contents of this file are covered under the licence agreement in the6 ## file "LICENCE" distributed with Cforall.7 ##8 ## Makefile.in --9 ##10 ## Author : Richard C. Bilson11 ## Created On : Sat May 16 08:37:37 201512 ## Last Modified By : Peter A. Buhr13 ## Last Modified On : Thu May 21 21:17:32 201514 ## Update Count : 315 22 ############################################################################### 16 23 17 # This makefile is adapted from Peter Miller's article "Recursive Make Considered Harmful" 18 19 MODULES := Common Parser SynTree SymTab ResolvExpr CodeGen ControlStruct GenPoly Tuples InitTweak Designators # Try ArgTweak Explain 20 TARGET := cfa-cpp 21 22 all: ${TARGET} 23 24 # look for include files in each of the modules 25 CXX := @CXX@ 26 CXXFLAGS += -Wno-deprecated -Wall -g -DDEBUG_ALL -I. -I Common -MMD 27 INSTALL=@INSTALL@ 28 29 # this is the back-end compiler, used to compile libcfa & builtins to link with user code 30 BACKEND_CC := @BACKEND_CC@ 31 32 # extra libraries if required 33 LIBS := 34 35 # each module will add to this 36 SRC := main.cc MakeLibCfa.cc 37 38 # other things that ought to be cleaned up 39 EXTRA_OUTPUT := core 40 41 # include the description for each module 42 include ${patsubst %,%/module.mk,${MODULES}} 43 44 # determine the object files 45 OBJ := ${patsubst %.cc,%.o,${filter %.cc,${SRC}}} \ 46 ${patsubst %.y,%.tab.o,${filter %.y,${SRC}}} \ 47 ${patsubst %.l,%.yy.o,${filter %.l,${SRC}}} 48 49 # include the C include dependencies 50 DEPS := ${OBJ:.o=.d} 51 -include ${DEPS} 52 53 # link the program 54 ${TARGET}: ${OBJ} 55 ${PURIFY} ${CXX} -o $@ ${OBJ} ${LIBS} 56 57 #installing 58 install: ${TARGET} 59 ${INSTALL} -d @CFA_LIBDIR@ 60 ${INSTALL} ${TARGET} @CFA_LIBDIR@ 61 62 # clean-up rule 63 clean: 64 rm -f ${OBJ} ${DEPS} ${TARGET} tags ${EXTRA_OUTPUT} 65 find . -name "Expected*" -prune -o \( -name "*.tst" -o -name "report" \) -print | xargs rm -f 66 find . -name "core*" -print | xargs rm -f 67 68 distclean: clean 24 ######################### -*- Mode: Makefile-Gmake -*- ######################## 25 ############################################################################### 26 27 #SRC += ArgTweak/Rewriter.cc \ 28 # ArgTweak/Mutate.cc 29 30 ######################### -*- Mode: Makefile-Gmake -*- ######################## 31 ############################################################################### 32 33 ######################### -*- Mode: Makefile-Gmake -*- ######################## 34 ############################################################################### 35 36 ######################### -*- Mode: Makefile-Gmake -*- ######################## 37 ############################################################################### 38 39 ######################### -*- Mode: Makefile-Gmake -*- ######################## 40 ############################################################################### 41 42 ######################### -*- Mode: Makefile-Gmake -*- ######################## 43 ############################################################################### 44 45 ######################### -*- Mode: Makefile-Gmake -*- ######################## 46 ############################################################################### 47 48 ######################### -*- Mode: Makefile-Gmake -*- ######################## 49 ############################################################################### 50 51 ######################### -*- Mode: Makefile-Gmake -*- ######################## 52 ############################################################################### 53 54 ######################### -*- Mode: Makefile-Gmake -*- ######################## 55 ############################################################################### 56 57 ######################### -*- Mode: Makefile-Gmake -*- ######################## 58 ############################################################################### 59 60 VPATH = @srcdir@ 61 pkgdatadir = $(datadir)/@PACKAGE@ 62 pkgincludedir = $(includedir)/@PACKAGE@ 63 pkglibdir = $(libdir)/@PACKAGE@ 64 pkglibexecdir = $(libexecdir)/@PACKAGE@ 65 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 66 install_sh_DATA = $(install_sh) -c -m 644 67 install_sh_PROGRAM = $(install_sh) -c 68 install_sh_SCRIPT = $(install_sh) -c 69 INSTALL_HEADER = $(INSTALL_DATA) 70 transform = $(program_transform_name) 71 NORMAL_INSTALL = : 72 PRE_INSTALL = : 73 POST_INSTALL = : 74 NORMAL_UNINSTALL = : 75 PRE_UNINSTALL = : 76 POST_UNINSTALL = : 77 DIST_COMMON = $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk \ 78 $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk \ 79 $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk \ 80 $(srcdir)/InitTweak/module.mk $(srcdir)/Makefile.am \ 81 $(srcdir)/Makefile.in $(srcdir)/Parser/module.mk \ 82 $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk \ 83 $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk \ 84 Parser/lex.cc Parser/parser.cc Parser/parser.h 85 cfa_cpplib_PROGRAMS = cfa-cpp$(EXEEXT) 86 subdir = src 87 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 88 am__aclocal_m4_deps = $(top_srcdir)/configure.ac 89 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 90 $(ACLOCAL_M4) 91 mkinstalldirs = $(install_sh) -d 92 CONFIG_HEADER = $(top_builddir)/config.h 93 CONFIG_CLEAN_FILES = 94 CONFIG_CLEAN_VPATH_FILES = 95 am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)" 96 PROGRAMS = $(cfa_cpplib_PROGRAMS) 97 am__dirstamp = $(am__leading_dot)dirstamp 98 am__objects_1 = cfa_cpp-main.$(OBJEXT) cfa_cpp-MakeLibCfa.$(OBJEXT) \ 99 CodeGen/cfa_cpp-Generate.$(OBJEXT) \ 100 CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT) \ 101 CodeGen/cfa_cpp-GenType.$(OBJEXT) \ 102 CodeGen/cfa_cpp-FixNames.$(OBJEXT) \ 103 CodeGen/cfa_cpp-OperatorTable.$(OBJEXT) \ 104 Common/cfa_cpp-SemanticError.$(OBJEXT) \ 105 Common/cfa_cpp-UniqueName.$(OBJEXT) \ 106 ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT) \ 107 ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT) \ 108 ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT) \ 109 ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT) \ 110 ControlStruct/cfa_cpp-Mutate.$(OBJEXT) \ 111 ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT) \ 112 ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT) \ 113 ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT) \ 114 Designators/cfa_cpp-Processor.$(OBJEXT) \ 115 GenPoly/cfa_cpp-Box.$(OBJEXT) \ 116 GenPoly/cfa_cpp-GenPoly.$(OBJEXT) \ 117 GenPoly/cfa_cpp-PolyMutator.$(OBJEXT) \ 118 GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT) \ 119 GenPoly/cfa_cpp-Lvalue.$(OBJEXT) \ 120 GenPoly/cfa_cpp-Specialize.$(OBJEXT) \ 121 GenPoly/cfa_cpp-CopyParams.$(OBJEXT) \ 122 GenPoly/cfa_cpp-FindFunction.$(OBJEXT) \ 123 InitTweak/cfa_cpp-InitModel.$(OBJEXT) \ 124 InitTweak/cfa_cpp-InitExpander.$(OBJEXT) \ 125 InitTweak/cfa_cpp-Mutate.$(OBJEXT) \ 126 InitTweak/cfa_cpp-Association.$(OBJEXT) \ 127 InitTweak/cfa_cpp-RemoveInit.$(OBJEXT) \ 128 Parser/cfa_cpp-parser.$(OBJEXT) Parser/cfa_cpp-lex.$(OBJEXT) \ 129 Parser/cfa_cpp-TypedefTable.$(OBJEXT) \ 130 Parser/cfa_cpp-ParseNode.$(OBJEXT) \ 131 Parser/cfa_cpp-DeclarationNode.$(OBJEXT) \ 132 Parser/cfa_cpp-ExpressionNode.$(OBJEXT) \ 133 Parser/cfa_cpp-StatementNode.$(OBJEXT) \ 134 Parser/cfa_cpp-InitializerNode.$(OBJEXT) \ 135 Parser/cfa_cpp-TypeData.$(OBJEXT) \ 136 Parser/cfa_cpp-LinkageSpec.$(OBJEXT) \ 137 Parser/cfa_cpp-parseutility.$(OBJEXT) \ 138 Parser/cfa_cpp-Parser.$(OBJEXT) \ 139 ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT) \ 140 ResolvExpr/cfa_cpp-Alternative.$(OBJEXT) \ 141 ResolvExpr/cfa_cpp-Unify.$(OBJEXT) \ 142 ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT) \ 143 ResolvExpr/cfa_cpp-CommonType.$(OBJEXT) \ 144 ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT) \ 145 ResolvExpr/cfa_cpp-CastCost.$(OBJEXT) \ 146 ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT) \ 147 ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT) \ 148 ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT) \ 149 ResolvExpr/cfa_cpp-Resolver.$(OBJEXT) \ 150 ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT) \ 151 ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT) \ 152 ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT) \ 153 ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT) \ 154 ResolvExpr/cfa_cpp-Occurs.$(OBJEXT) \ 155 ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT) \ 156 SymTab/cfa_cpp-IdTable.$(OBJEXT) \ 157 SymTab/cfa_cpp-Indexer.$(OBJEXT) \ 158 SymTab/cfa_cpp-Mangler.$(OBJEXT) \ 159 SymTab/cfa_cpp-Validate.$(OBJEXT) \ 160 SymTab/cfa_cpp-FixFunction.$(OBJEXT) \ 161 SymTab/cfa_cpp-ImplementationType.$(OBJEXT) \ 162 SynTree/cfa_cpp-Type.$(OBJEXT) \ 163 SynTree/cfa_cpp-VoidType.$(OBJEXT) \ 164 SynTree/cfa_cpp-BasicType.$(OBJEXT) \ 165 SynTree/cfa_cpp-PointerType.$(OBJEXT) \ 166 SynTree/cfa_cpp-ArrayType.$(OBJEXT) \ 167 SynTree/cfa_cpp-FunctionType.$(OBJEXT) \ 168 SynTree/cfa_cpp-ReferenceToType.$(OBJEXT) \ 169 SynTree/cfa_cpp-TupleType.$(OBJEXT) \ 170 SynTree/cfa_cpp-TypeofType.$(OBJEXT) \ 171 SynTree/cfa_cpp-AttrType.$(OBJEXT) \ 172 SynTree/cfa_cpp-Constant.$(OBJEXT) \ 173 SynTree/cfa_cpp-Expression.$(OBJEXT) \ 174 SynTree/cfa_cpp-TupleExpr.$(OBJEXT) \ 175 SynTree/cfa_cpp-CommaExpr.$(OBJEXT) \ 176 SynTree/cfa_cpp-TypeExpr.$(OBJEXT) \ 177 SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT) \ 178 SynTree/cfa_cpp-AddressExpr.$(OBJEXT) \ 179 SynTree/cfa_cpp-Statement.$(OBJEXT) \ 180 SynTree/cfa_cpp-CompoundStmt.$(OBJEXT) \ 181 SynTree/cfa_cpp-DeclStmt.$(OBJEXT) \ 182 SynTree/cfa_cpp-Declaration.$(OBJEXT) \ 183 SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT) \ 184 SynTree/cfa_cpp-ObjectDecl.$(OBJEXT) \ 185 SynTree/cfa_cpp-FunctionDecl.$(OBJEXT) \ 186 SynTree/cfa_cpp-AggregateDecl.$(OBJEXT) \ 187 SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT) \ 188 SynTree/cfa_cpp-TypeDecl.$(OBJEXT) \ 189 SynTree/cfa_cpp-Initializer.$(OBJEXT) \ 190 SynTree/cfa_cpp-Visitor.$(OBJEXT) \ 191 SynTree/cfa_cpp-Mutator.$(OBJEXT) \ 192 SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT) \ 193 SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT) \ 194 Tuples/cfa_cpp-Mutate.$(OBJEXT) \ 195 Tuples/cfa_cpp-AssignExpand.$(OBJEXT) \ 196 Tuples/cfa_cpp-FunctionFixer.$(OBJEXT) \ 197 Tuples/cfa_cpp-TupleAssignment.$(OBJEXT) \ 198 Tuples/cfa_cpp-FunctionChecker.$(OBJEXT) \ 199 Tuples/cfa_cpp-NameMatcher.$(OBJEXT) 200 am_cfa_cpp_OBJECTS = $(am__objects_1) 201 cfa_cpp_OBJECTS = $(am_cfa_cpp_OBJECTS) 202 am__DEPENDENCIES_1 = 203 cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1) 204 cfa_cpp_LINK = $(CXXLD) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ 205 $(LDFLAGS) -o $@ 206 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 207 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 208 am__depfiles_maybe = depfiles 209 am__mv = mv -f 210 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 211 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 212 CXXLD = $(CXX) 213 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 214 -o $@ 215 @MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || 216 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 217 YLWRAP = $(top_srcdir)/automake/ylwrap 218 @MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || 219 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 220 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 221 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 222 CCLD = $(CC) 223 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 224 SOURCES = $(cfa_cpp_SOURCES) 225 DIST_SOURCES = $(cfa_cpp_SOURCES) 226 ETAGS = etags 227 CTAGS = ctags 228 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 229 ACLOCAL = @ACLOCAL@ 230 ALLOCA = @ALLOCA@ 231 AMTAR = @AMTAR@ 232 AUTOCONF = @AUTOCONF@ 233 AUTOHEADER = @AUTOHEADER@ 234 AUTOMAKE = @AUTOMAKE@ 235 AWK = @AWK@ 236 BACKEND_CC = @BACKEND_CC@ 237 CC = @CC@ 238 CCDEPMODE = @CCDEPMODE@ 239 CFA_BINDIR = @CFA_BINDIR@ 240 CFA_INCDIR = @CFA_INCDIR@ 241 CFA_LIBDIR = @CFA_LIBDIR@ 242 CFA_PREFIX = @CFA_PREFIX@ 243 CFLAGS = @CFLAGS@ 244 CPP = @CPP@ 245 CPPFLAGS = @CPPFLAGS@ 246 CXX = @CXX@ 247 CXXDEPMODE = @CXXDEPMODE@ 248 CXXFLAGS = -g # remove default -O2 to allow better debugging 249 CYGPATH_W = @CYGPATH_W@ 250 DEFS = @DEFS@ 251 DEPDIR = @DEPDIR@ 252 ECHO_C = @ECHO_C@ 253 ECHO_N = @ECHO_N@ 254 ECHO_T = @ECHO_T@ 255 EGREP = @EGREP@ 256 EXEEXT = @EXEEXT@ 257 GCC_PATH = @GCC_PATH@ 258 GREP = @GREP@ 259 INSTALL = @INSTALL@ 260 INSTALL_DATA = @INSTALL_DATA@ 261 INSTALL_PROGRAM = @INSTALL_PROGRAM@ 262 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 263 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 264 LDFLAGS = @LDFLAGS@ 265 LEX = @LEX@ 266 LEXLIB = @LEXLIB@ 267 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ 268 LIBOBJS = @LIBOBJS@ 269 LIBS = @LIBS@ 270 LTLIBOBJS = @LTLIBOBJS@ 271 MAINT = @MAINT@ 272 MAKEINFO = @MAKEINFO@ 273 MKDIR_P = @MKDIR_P@ 274 OBJEXT = @OBJEXT@ 275 PACKAGE = @PACKAGE@ 276 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 277 PACKAGE_NAME = @PACKAGE_NAME@ 278 PACKAGE_STRING = @PACKAGE_STRING@ 279 PACKAGE_TARNAME = @PACKAGE_TARNAME@ 280 PACKAGE_URL = @PACKAGE_URL@ 281 PACKAGE_VERSION = @PACKAGE_VERSION@ 282 PATH_SEPARATOR = @PATH_SEPARATOR@ 283 RANLIB = @RANLIB@ 284 SET_MAKE = @SET_MAKE@ 285 SHELL = @SHELL@ 286 STRIP = @STRIP@ 287 VERSION = @VERSION@ 288 YACC = @YACC@ 289 YFLAGS = @YFLAGS@ 290 abs_builddir = @abs_builddir@ 291 abs_srcdir = @abs_srcdir@ 292 abs_top_builddir = @abs_top_builddir@ 293 abs_top_srcdir = @abs_top_srcdir@ 294 ac_ct_CC = @ac_ct_CC@ 295 ac_ct_CXX = @ac_ct_CXX@ 296 am__include = @am__include@ 297 am__leading_dot = @am__leading_dot@ 298 am__quote = @am__quote@ 299 am__tar = @am__tar@ 300 am__untar = @am__untar@ 301 bindir = @bindir@ 302 build_alias = @build_alias@ 303 builddir = @builddir@ 304 datadir = @datadir@ 305 datarootdir = @datarootdir@ 306 docdir = @docdir@ 307 dvidir = @dvidir@ 308 exec_prefix = @exec_prefix@ 309 host_alias = @host_alias@ 310 htmldir = @htmldir@ 311 includedir = @includedir@ 312 infodir = @infodir@ 313 install_sh = @install_sh@ 314 libdir = @libdir@ 315 libexecdir = @libexecdir@ 316 localedir = @localedir@ 317 localstatedir = @localstatedir@ 318 mandir = @mandir@ 319 mkdir_p = @mkdir_p@ 320 oldincludedir = @oldincludedir@ 321 pdfdir = @pdfdir@ 322 prefix = @prefix@ 323 program_transform_name = @program_transform_name@ 324 psdir = @psdir@ 325 sbindir = @sbindir@ 326 sharedstatedir = @sharedstatedir@ 327 srcdir = @srcdir@ 328 sysconfdir = @sysconfdir@ 329 target_alias = @target_alias@ 330 top_build_prefix = @top_build_prefix@ 331 top_builddir = @top_builddir@ 332 top_srcdir = @top_srcdir@ 333 334 # create object files in directory with source files 335 AUTOMAKE_OPTIONS = subdir-objects 336 SRC = main.cc MakeLibCfa.cc CodeGen/Generate.cc \ 337 CodeGen/CodeGenerator.cc CodeGen/GenType.cc \ 338 CodeGen/FixNames.cc CodeGen/OperatorTable.cc \ 339 Common/SemanticError.cc Common/UniqueName.cc \ 340 ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \ 341 ControlStruct/MLEMutator.cc ControlStruct/CaseRangeMutator.cc \ 342 ControlStruct/Mutate.cc ControlStruct/ChooseMutator.cc \ 343 ControlStruct/ForExprMutator.cc \ 344 ControlStruct/LabelTypeChecker.cc Designators/Processor.cc \ 345 GenPoly/Box.cc GenPoly/GenPoly.cc GenPoly/PolyMutator.cc \ 346 GenPoly/ScrubTyVars.cc GenPoly/Lvalue.cc GenPoly/Specialize.cc \ 347 GenPoly/CopyParams.cc GenPoly/FindFunction.cc \ 348 InitTweak/InitModel.cc InitTweak/InitExpander.cc \ 349 InitTweak/Mutate.cc InitTweak/Association.cc \ 350 InitTweak/RemoveInit.cc Parser/parser.yy Parser/lex.ll \ 351 Parser/TypedefTable.cc Parser/ParseNode.cc \ 352 Parser/DeclarationNode.cc Parser/ExpressionNode.cc \ 353 Parser/StatementNode.cc Parser/InitializerNode.cc \ 354 Parser/TypeData.cc Parser/LinkageSpec.cc \ 355 Parser/parseutility.cc Parser/Parser.cc \ 356 ResolvExpr/AlternativeFinder.cc ResolvExpr/Alternative.cc \ 357 ResolvExpr/Unify.cc ResolvExpr/PtrsAssignable.cc \ 358 ResolvExpr/CommonType.cc ResolvExpr/ConversionCost.cc \ 359 ResolvExpr/CastCost.cc ResolvExpr/PtrsCastable.cc \ 360 ResolvExpr/AdjustExprType.cc ResolvExpr/AlternativePrinter.cc \ 361 ResolvExpr/Resolver.cc ResolvExpr/ResolveTypeof.cc \ 362 ResolvExpr/RenameVars.cc ResolvExpr/FindOpenVars.cc \ 363 ResolvExpr/PolyCost.cc ResolvExpr/Occurs.cc \ 364 ResolvExpr/TypeEnvironment.cc SymTab/IdTable.cc \ 365 SymTab/Indexer.cc SymTab/Mangler.cc SymTab/Validate.cc \ 366 SymTab/FixFunction.cc SymTab/ImplementationType.cc \ 367 SynTree/Type.cc SynTree/VoidType.cc SynTree/BasicType.cc \ 368 SynTree/PointerType.cc SynTree/ArrayType.cc \ 369 SynTree/FunctionType.cc SynTree/ReferenceToType.cc \ 370 SynTree/TupleType.cc SynTree/TypeofType.cc SynTree/AttrType.cc \ 371 SynTree/Constant.cc SynTree/Expression.cc SynTree/TupleExpr.cc \ 372 SynTree/CommaExpr.cc SynTree/TypeExpr.cc \ 373 SynTree/ApplicationExpr.cc SynTree/AddressExpr.cc \ 374 SynTree/Statement.cc SynTree/CompoundStmt.cc \ 375 SynTree/DeclStmt.cc SynTree/Declaration.cc \ 376 SynTree/DeclarationWithType.cc SynTree/ObjectDecl.cc \ 377 SynTree/FunctionDecl.cc SynTree/AggregateDecl.cc \ 378 SynTree/NamedTypeDecl.cc SynTree/TypeDecl.cc \ 379 SynTree/Initializer.cc SynTree/Visitor.cc SynTree/Mutator.cc \ 380 SynTree/CodeGenVisitor.cc SynTree/TypeSubstitution.cc \ 381 Tuples/Mutate.cc Tuples/AssignExpand.cc \ 382 Tuples/FunctionFixer.cc Tuples/TupleAssignment.cc \ 383 Tuples/FunctionChecker.cc Tuples/NameMatcher.cc 384 BUILT_SOURCES = Parser/parser.h 385 AM_YFLAGS = -d -t -v 386 cfa_cpp_LDADD = ${LEXLIB} # yywrap 387 MAINTAINERCLEANFILES = Parser/parser.output 388 389 # Is there a way to use a variable for the directory names? 390 391 # put into lib for now 392 cfa_cpplibdir = ${libdir} 393 cfa_cpp_SOURCES = ${SRC} 394 # need files Common/utility.h 395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common 396 all: $(BUILT_SOURCES) 397 $(MAKE) $(AM_MAKEFLAGS) all-am 398 399 .SUFFIXES: 400 .SUFFIXES: .cc .ll .o .obj .yy 401 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk $(am__configure_deps) 402 @for dep in $?; do \ 403 case '$(am__configure_deps)' in \ 404 *$$dep*) \ 405 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 406 && { if test -f $@; then exit 0; else break; fi; }; \ 407 exit 1;; \ 408 esac; \ 409 done; \ 410 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ 411 $(am__cd) $(top_srcdir) && \ 412 $(AUTOMAKE) --gnu src/Makefile 413 .PRECIOUS: Makefile 414 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 415 @case '$?' in \ 416 *config.status*) \ 417 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 418 *) \ 419 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 420 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 421 esac; 422 $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk: 423 424 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 425 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 426 427 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 428 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 429 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 430 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 431 $(am__aclocal_m4_deps): 432 install-cfa_cpplibPROGRAMS: $(cfa_cpplib_PROGRAMS) 433 @$(NORMAL_INSTALL) 434 test -z "$(cfa_cpplibdir)" || $(MKDIR_P) "$(DESTDIR)$(cfa_cpplibdir)" 435 @list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \ 436 for p in $$list; do echo "$$p $$p"; done | \ 437 sed 's/$(EXEEXT)$$//' | \ 438 while read p p1; do if test -f $$p; \ 439 then echo "$$p"; echo "$$p"; else :; fi; \ 440 done | \ 441 sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ 442 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ 443 sed 'N;N;N;s,\n, ,g' | \ 444 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ 445 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ 446 if ($$2 == $$4) files[d] = files[d] " " $$1; \ 447 else { print "f", $$3 "/" $$4, $$1; } } \ 448 END { for (d in files) print "f", d, files[d] }' | \ 449 while read type dir files; do \ 450 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 451 test -z "$$files" || { \ 452 echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \ 453 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \ 454 } \ 455 ; done 456 457 uninstall-cfa_cpplibPROGRAMS: 458 @$(NORMAL_UNINSTALL) 459 @list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \ 460 files=`for p in $$list; do echo "$$p"; done | \ 461 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ 462 -e 's/$$/$(EXEEXT)/' `; \ 463 test -n "$$list" || exit 0; \ 464 echo " ( cd '$(DESTDIR)$(cfa_cpplibdir)' && rm -f" $$files ")"; \ 465 cd "$(DESTDIR)$(cfa_cpplibdir)" && rm -f $$files 466 467 clean-cfa_cpplibPROGRAMS: 468 -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS) 469 CodeGen/$(am__dirstamp): 470 @$(MKDIR_P) CodeGen 471 @: > CodeGen/$(am__dirstamp) 472 CodeGen/$(DEPDIR)/$(am__dirstamp): 473 @$(MKDIR_P) CodeGen/$(DEPDIR) 474 @: > CodeGen/$(DEPDIR)/$(am__dirstamp) 475 CodeGen/cfa_cpp-Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \ 476 CodeGen/$(DEPDIR)/$(am__dirstamp) 477 CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT): CodeGen/$(am__dirstamp) \ 478 CodeGen/$(DEPDIR)/$(am__dirstamp) 479 CodeGen/cfa_cpp-GenType.$(OBJEXT): CodeGen/$(am__dirstamp) \ 480 CodeGen/$(DEPDIR)/$(am__dirstamp) 481 CodeGen/cfa_cpp-FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \ 482 CodeGen/$(DEPDIR)/$(am__dirstamp) 483 CodeGen/cfa_cpp-OperatorTable.$(OBJEXT): CodeGen/$(am__dirstamp) \ 484 CodeGen/$(DEPDIR)/$(am__dirstamp) 485 Common/$(am__dirstamp): 486 @$(MKDIR_P) Common 487 @: > Common/$(am__dirstamp) 488 Common/$(DEPDIR)/$(am__dirstamp): 489 @$(MKDIR_P) Common/$(DEPDIR) 490 @: > Common/$(DEPDIR)/$(am__dirstamp) 491 Common/cfa_cpp-SemanticError.$(OBJEXT): Common/$(am__dirstamp) \ 492 Common/$(DEPDIR)/$(am__dirstamp) 493 Common/cfa_cpp-UniqueName.$(OBJEXT): Common/$(am__dirstamp) \ 494 Common/$(DEPDIR)/$(am__dirstamp) 495 ControlStruct/$(am__dirstamp): 496 @$(MKDIR_P) ControlStruct 497 @: > ControlStruct/$(am__dirstamp) 498 ControlStruct/$(DEPDIR)/$(am__dirstamp): 499 @$(MKDIR_P) ControlStruct/$(DEPDIR) 500 @: > ControlStruct/$(DEPDIR)/$(am__dirstamp) 501 ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT): \ 502 ControlStruct/$(am__dirstamp) \ 503 ControlStruct/$(DEPDIR)/$(am__dirstamp) 504 ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT): \ 505 ControlStruct/$(am__dirstamp) \ 506 ControlStruct/$(DEPDIR)/$(am__dirstamp) 507 ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT): \ 508 ControlStruct/$(am__dirstamp) \ 509 ControlStruct/$(DEPDIR)/$(am__dirstamp) 510 ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT): \ 511 ControlStruct/$(am__dirstamp) \ 512 ControlStruct/$(DEPDIR)/$(am__dirstamp) 513 ControlStruct/cfa_cpp-Mutate.$(OBJEXT): ControlStruct/$(am__dirstamp) \ 514 ControlStruct/$(DEPDIR)/$(am__dirstamp) 515 ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT): \ 516 ControlStruct/$(am__dirstamp) \ 517 ControlStruct/$(DEPDIR)/$(am__dirstamp) 518 ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT): \ 519 ControlStruct/$(am__dirstamp) \ 520 ControlStruct/$(DEPDIR)/$(am__dirstamp) 521 ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT): \ 522 ControlStruct/$(am__dirstamp) \ 523 ControlStruct/$(DEPDIR)/$(am__dirstamp) 524 Designators/$(am__dirstamp): 525 @$(MKDIR_P) Designators 526 @: > Designators/$(am__dirstamp) 527 Designators/$(DEPDIR)/$(am__dirstamp): 528 @$(MKDIR_P) Designators/$(DEPDIR) 529 @: > Designators/$(DEPDIR)/$(am__dirstamp) 530 Designators/cfa_cpp-Processor.$(OBJEXT): Designators/$(am__dirstamp) \ 531 Designators/$(DEPDIR)/$(am__dirstamp) 532 GenPoly/$(am__dirstamp): 533 @$(MKDIR_P) GenPoly 534 @: > GenPoly/$(am__dirstamp) 535 GenPoly/$(DEPDIR)/$(am__dirstamp): 536 @$(MKDIR_P) GenPoly/$(DEPDIR) 537 @: > GenPoly/$(DEPDIR)/$(am__dirstamp) 538 GenPoly/cfa_cpp-Box.$(OBJEXT): GenPoly/$(am__dirstamp) \ 539 GenPoly/$(DEPDIR)/$(am__dirstamp) 540 GenPoly/cfa_cpp-GenPoly.$(OBJEXT): GenPoly/$(am__dirstamp) \ 541 GenPoly/$(DEPDIR)/$(am__dirstamp) 542 GenPoly/cfa_cpp-PolyMutator.$(OBJEXT): GenPoly/$(am__dirstamp) \ 543 GenPoly/$(DEPDIR)/$(am__dirstamp) 544 GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT): GenPoly/$(am__dirstamp) \ 545 GenPoly/$(DEPDIR)/$(am__dirstamp) 546 GenPoly/cfa_cpp-Lvalue.$(OBJEXT): GenPoly/$(am__dirstamp) \ 547 GenPoly/$(DEPDIR)/$(am__dirstamp) 548 GenPoly/cfa_cpp-Specialize.$(OBJEXT): GenPoly/$(am__dirstamp) \ 549 GenPoly/$(DEPDIR)/$(am__dirstamp) 550 GenPoly/cfa_cpp-CopyParams.$(OBJEXT): GenPoly/$(am__dirstamp) \ 551 GenPoly/$(DEPDIR)/$(am__dirstamp) 552 GenPoly/cfa_cpp-FindFunction.$(OBJEXT): GenPoly/$(am__dirstamp) \ 553 GenPoly/$(DEPDIR)/$(am__dirstamp) 554 InitTweak/$(am__dirstamp): 555 @$(MKDIR_P) InitTweak 556 @: > InitTweak/$(am__dirstamp) 557 InitTweak/$(DEPDIR)/$(am__dirstamp): 558 @$(MKDIR_P) InitTweak/$(DEPDIR) 559 @: > InitTweak/$(DEPDIR)/$(am__dirstamp) 560 InitTweak/cfa_cpp-InitModel.$(OBJEXT): InitTweak/$(am__dirstamp) \ 561 InitTweak/$(DEPDIR)/$(am__dirstamp) 562 InitTweak/cfa_cpp-InitExpander.$(OBJEXT): InitTweak/$(am__dirstamp) \ 563 InitTweak/$(DEPDIR)/$(am__dirstamp) 564 InitTweak/cfa_cpp-Mutate.$(OBJEXT): InitTweak/$(am__dirstamp) \ 565 InitTweak/$(DEPDIR)/$(am__dirstamp) 566 InitTweak/cfa_cpp-Association.$(OBJEXT): InitTweak/$(am__dirstamp) \ 567 InitTweak/$(DEPDIR)/$(am__dirstamp) 568 InitTweak/cfa_cpp-RemoveInit.$(OBJEXT): InitTweak/$(am__dirstamp) \ 569 InitTweak/$(DEPDIR)/$(am__dirstamp) 570 Parser/parser.h: Parser/parser.cc 571 @if test ! -f $@; then rm -f Parser/parser.cc; else :; fi 572 @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) Parser/parser.cc; else :; fi 573 Parser/$(am__dirstamp): 574 @$(MKDIR_P) Parser 575 @: > Parser/$(am__dirstamp) 576 Parser/$(DEPDIR)/$(am__dirstamp): 577 @$(MKDIR_P) Parser/$(DEPDIR) 578 @: > Parser/$(DEPDIR)/$(am__dirstamp) 579 Parser/cfa_cpp-parser.$(OBJEXT): Parser/$(am__dirstamp) \ 580 Parser/$(DEPDIR)/$(am__dirstamp) 581 Parser/cfa_cpp-lex.$(OBJEXT): Parser/$(am__dirstamp) \ 582 Parser/$(DEPDIR)/$(am__dirstamp) 583 Parser/cfa_cpp-TypedefTable.$(OBJEXT): Parser/$(am__dirstamp) \ 584 Parser/$(DEPDIR)/$(am__dirstamp) 585 Parser/cfa_cpp-ParseNode.$(OBJEXT): Parser/$(am__dirstamp) \ 586 Parser/$(DEPDIR)/$(am__dirstamp) 587 Parser/cfa_cpp-DeclarationNode.$(OBJEXT): Parser/$(am__dirstamp) \ 588 Parser/$(DEPDIR)/$(am__dirstamp) 589 Parser/cfa_cpp-ExpressionNode.$(OBJEXT): Parser/$(am__dirstamp) \ 590 Parser/$(DEPDIR)/$(am__dirstamp) 591 Parser/cfa_cpp-StatementNode.$(OBJEXT): Parser/$(am__dirstamp) \ 592 Parser/$(DEPDIR)/$(am__dirstamp) 593 Parser/cfa_cpp-InitializerNode.$(OBJEXT): Parser/$(am__dirstamp) \ 594 Parser/$(DEPDIR)/$(am__dirstamp) 595 Parser/cfa_cpp-TypeData.$(OBJEXT): Parser/$(am__dirstamp) \ 596 Parser/$(DEPDIR)/$(am__dirstamp) 597 Parser/cfa_cpp-LinkageSpec.$(OBJEXT): Parser/$(am__dirstamp) \ 598 Parser/$(DEPDIR)/$(am__dirstamp) 599 Parser/cfa_cpp-parseutility.$(OBJEXT): Parser/$(am__dirstamp) \ 600 Parser/$(DEPDIR)/$(am__dirstamp) 601 Parser/cfa_cpp-Parser.$(OBJEXT): Parser/$(am__dirstamp) \ 602 Parser/$(DEPDIR)/$(am__dirstamp) 603 ResolvExpr/$(am__dirstamp): 604 @$(MKDIR_P) ResolvExpr 605 @: > ResolvExpr/$(am__dirstamp) 606 ResolvExpr/$(DEPDIR)/$(am__dirstamp): 607 @$(MKDIR_P) ResolvExpr/$(DEPDIR) 608 @: > ResolvExpr/$(DEPDIR)/$(am__dirstamp) 609 ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT): \ 610 ResolvExpr/$(am__dirstamp) \ 611 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 612 ResolvExpr/cfa_cpp-Alternative.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 613 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 614 ResolvExpr/cfa_cpp-Unify.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 615 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 616 ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT): \ 617 ResolvExpr/$(am__dirstamp) \ 618 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 619 ResolvExpr/cfa_cpp-CommonType.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 620 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 621 ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT): \ 622 ResolvExpr/$(am__dirstamp) \ 623 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 624 ResolvExpr/cfa_cpp-CastCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 625 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 626 ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 627 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 628 ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT): \ 629 ResolvExpr/$(am__dirstamp) \ 630 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 631 ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT): \ 632 ResolvExpr/$(am__dirstamp) \ 633 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 634 ResolvExpr/cfa_cpp-Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 635 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 636 ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT): \ 637 ResolvExpr/$(am__dirstamp) \ 638 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 639 ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 640 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 641 ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 642 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 643 ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 644 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 645 ResolvExpr/cfa_cpp-Occurs.$(OBJEXT): ResolvExpr/$(am__dirstamp) \ 646 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 647 ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT): \ 648 ResolvExpr/$(am__dirstamp) \ 649 ResolvExpr/$(DEPDIR)/$(am__dirstamp) 650 SymTab/$(am__dirstamp): 651 @$(MKDIR_P) SymTab 652 @: > SymTab/$(am__dirstamp) 653 SymTab/$(DEPDIR)/$(am__dirstamp): 654 @$(MKDIR_P) SymTab/$(DEPDIR) 655 @: > SymTab/$(DEPDIR)/$(am__dirstamp) 656 SymTab/cfa_cpp-IdTable.$(OBJEXT): SymTab/$(am__dirstamp) \ 657 SymTab/$(DEPDIR)/$(am__dirstamp) 658 SymTab/cfa_cpp-Indexer.$(OBJEXT): SymTab/$(am__dirstamp) \ 659 SymTab/$(DEPDIR)/$(am__dirstamp) 660 SymTab/cfa_cpp-Mangler.$(OBJEXT): SymTab/$(am__dirstamp) \ 661 SymTab/$(DEPDIR)/$(am__dirstamp) 662 SymTab/cfa_cpp-Validate.$(OBJEXT): SymTab/$(am__dirstamp) \ 663 SymTab/$(DEPDIR)/$(am__dirstamp) 664 SymTab/cfa_cpp-FixFunction.$(OBJEXT): SymTab/$(am__dirstamp) \ 665 SymTab/$(DEPDIR)/$(am__dirstamp) 666 SymTab/cfa_cpp-ImplementationType.$(OBJEXT): SymTab/$(am__dirstamp) \ 667 SymTab/$(DEPDIR)/$(am__dirstamp) 668 SynTree/$(am__dirstamp): 669 @$(MKDIR_P) SynTree 670 @: > SynTree/$(am__dirstamp) 671 SynTree/$(DEPDIR)/$(am__dirstamp): 672 @$(MKDIR_P) SynTree/$(DEPDIR) 673 @: > SynTree/$(DEPDIR)/$(am__dirstamp) 674 SynTree/cfa_cpp-Type.$(OBJEXT): SynTree/$(am__dirstamp) \ 675 SynTree/$(DEPDIR)/$(am__dirstamp) 676 SynTree/cfa_cpp-VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \ 677 SynTree/$(DEPDIR)/$(am__dirstamp) 678 SynTree/cfa_cpp-BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \ 679 SynTree/$(DEPDIR)/$(am__dirstamp) 680 SynTree/cfa_cpp-PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \ 681 SynTree/$(DEPDIR)/$(am__dirstamp) 682 SynTree/cfa_cpp-ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \ 683 SynTree/$(DEPDIR)/$(am__dirstamp) 684 SynTree/cfa_cpp-FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \ 685 SynTree/$(DEPDIR)/$(am__dirstamp) 686 SynTree/cfa_cpp-ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \ 687 SynTree/$(DEPDIR)/$(am__dirstamp) 688 SynTree/cfa_cpp-TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \ 689 SynTree/$(DEPDIR)/$(am__dirstamp) 690 SynTree/cfa_cpp-TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \ 691 SynTree/$(DEPDIR)/$(am__dirstamp) 692 SynTree/cfa_cpp-AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \ 693 SynTree/$(DEPDIR)/$(am__dirstamp) 694 SynTree/cfa_cpp-Constant.$(OBJEXT): SynTree/$(am__dirstamp) \ 695 SynTree/$(DEPDIR)/$(am__dirstamp) 696 SynTree/cfa_cpp-Expression.$(OBJEXT): SynTree/$(am__dirstamp) \ 697 SynTree/$(DEPDIR)/$(am__dirstamp) 698 SynTree/cfa_cpp-TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \ 699 SynTree/$(DEPDIR)/$(am__dirstamp) 700 SynTree/cfa_cpp-CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \ 701 SynTree/$(DEPDIR)/$(am__dirstamp) 702 SynTree/cfa_cpp-TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \ 703 SynTree/$(DEPDIR)/$(am__dirstamp) 704 SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \ 705 SynTree/$(DEPDIR)/$(am__dirstamp) 706 SynTree/cfa_cpp-AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \ 707 SynTree/$(DEPDIR)/$(am__dirstamp) 708 SynTree/cfa_cpp-Statement.$(OBJEXT): SynTree/$(am__dirstamp) \ 709 SynTree/$(DEPDIR)/$(am__dirstamp) 710 SynTree/cfa_cpp-CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \ 711 SynTree/$(DEPDIR)/$(am__dirstamp) 712 SynTree/cfa_cpp-DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \ 713 SynTree/$(DEPDIR)/$(am__dirstamp) 714 SynTree/cfa_cpp-Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \ 715 SynTree/$(DEPDIR)/$(am__dirstamp) 716 SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT): \ 717 SynTree/$(am__dirstamp) SynTree/$(DEPDIR)/$(am__dirstamp) 718 SynTree/cfa_cpp-ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \ 719 SynTree/$(DEPDIR)/$(am__dirstamp) 720 SynTree/cfa_cpp-FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \ 721 SynTree/$(DEPDIR)/$(am__dirstamp) 722 SynTree/cfa_cpp-AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \ 723 SynTree/$(DEPDIR)/$(am__dirstamp) 724 SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \ 725 SynTree/$(DEPDIR)/$(am__dirstamp) 726 SynTree/cfa_cpp-TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \ 727 SynTree/$(DEPDIR)/$(am__dirstamp) 728 SynTree/cfa_cpp-Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \ 729 SynTree/$(DEPDIR)/$(am__dirstamp) 730 SynTree/cfa_cpp-Visitor.$(OBJEXT): SynTree/$(am__dirstamp) \ 731 SynTree/$(DEPDIR)/$(am__dirstamp) 732 SynTree/cfa_cpp-Mutator.$(OBJEXT): SynTree/$(am__dirstamp) \ 733 SynTree/$(DEPDIR)/$(am__dirstamp) 734 SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT): SynTree/$(am__dirstamp) \ 735 SynTree/$(DEPDIR)/$(am__dirstamp) 736 SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \ 737 SynTree/$(DEPDIR)/$(am__dirstamp) 738 Tuples/$(am__dirstamp): 739 @$(MKDIR_P) Tuples 740 @: > Tuples/$(am__dirstamp) 741 Tuples/$(DEPDIR)/$(am__dirstamp): 742 @$(MKDIR_P) Tuples/$(DEPDIR) 743 @: > Tuples/$(DEPDIR)/$(am__dirstamp) 744 Tuples/cfa_cpp-Mutate.$(OBJEXT): Tuples/$(am__dirstamp) \ 745 Tuples/$(DEPDIR)/$(am__dirstamp) 746 Tuples/cfa_cpp-AssignExpand.$(OBJEXT): Tuples/$(am__dirstamp) \ 747 Tuples/$(DEPDIR)/$(am__dirstamp) 748 Tuples/cfa_cpp-FunctionFixer.$(OBJEXT): Tuples/$(am__dirstamp) \ 749 Tuples/$(DEPDIR)/$(am__dirstamp) 750 Tuples/cfa_cpp-TupleAssignment.$(OBJEXT): Tuples/$(am__dirstamp) \ 751 Tuples/$(DEPDIR)/$(am__dirstamp) 752 Tuples/cfa_cpp-FunctionChecker.$(OBJEXT): Tuples/$(am__dirstamp) \ 753 Tuples/$(DEPDIR)/$(am__dirstamp) 754 Tuples/cfa_cpp-NameMatcher.$(OBJEXT): Tuples/$(am__dirstamp) \ 755 Tuples/$(DEPDIR)/$(am__dirstamp) 756 cfa-cpp$(EXEEXT): $(cfa_cpp_OBJECTS) $(cfa_cpp_DEPENDENCIES) $(EXTRA_cfa_cpp_DEPENDENCIES) 757 @rm -f cfa-cpp$(EXEEXT) 758 $(cfa_cpp_LINK) $(cfa_cpp_OBJECTS) $(cfa_cpp_LDADD) $(LIBS) 759 760 mostlyclean-compile: 761 -rm -f *.$(OBJEXT) 762 -rm -f CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT) 763 -rm -f CodeGen/cfa_cpp-FixNames.$(OBJEXT) 764 -rm -f CodeGen/cfa_cpp-GenType.$(OBJEXT) 765 -rm -f CodeGen/cfa_cpp-Generate.$(OBJEXT) 766 -rm -f CodeGen/cfa_cpp-OperatorTable.$(OBJEXT) 767 -rm -f Common/cfa_cpp-SemanticError.$(OBJEXT) 768 -rm -f Common/cfa_cpp-UniqueName.$(OBJEXT) 769 -rm -f ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT) 770 -rm -f ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT) 771 -rm -f ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT) 772 -rm -f ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT) 773 -rm -f ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT) 774 -rm -f ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT) 775 -rm -f ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT) 776 -rm -f ControlStruct/cfa_cpp-Mutate.$(OBJEXT) 777 -rm -f Designators/cfa_cpp-Processor.$(OBJEXT) 778 -rm -f GenPoly/cfa_cpp-Box.$(OBJEXT) 779 -rm -f GenPoly/cfa_cpp-CopyParams.$(OBJEXT) 780 -rm -f GenPoly/cfa_cpp-FindFunction.$(OBJEXT) 781 -rm -f GenPoly/cfa_cpp-GenPoly.$(OBJEXT) 782 -rm -f GenPoly/cfa_cpp-Lvalue.$(OBJEXT) 783 -rm -f GenPoly/cfa_cpp-PolyMutator.$(OBJEXT) 784 -rm -f GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT) 785 -rm -f GenPoly/cfa_cpp-Specialize.$(OBJEXT) 786 -rm -f InitTweak/cfa_cpp-Association.$(OBJEXT) 787 -rm -f InitTweak/cfa_cpp-InitExpander.$(OBJEXT) 788 -rm -f InitTweak/cfa_cpp-InitModel.$(OBJEXT) 789 -rm -f InitTweak/cfa_cpp-Mutate.$(OBJEXT) 790 -rm -f InitTweak/cfa_cpp-RemoveInit.$(OBJEXT) 791 -rm -f Parser/cfa_cpp-DeclarationNode.$(OBJEXT) 792 -rm -f Parser/cfa_cpp-ExpressionNode.$(OBJEXT) 793 -rm -f Parser/cfa_cpp-InitializerNode.$(OBJEXT) 794 -rm -f Parser/cfa_cpp-LinkageSpec.$(OBJEXT) 795 -rm -f Parser/cfa_cpp-ParseNode.$(OBJEXT) 796 -rm -f Parser/cfa_cpp-Parser.$(OBJEXT) 797 -rm -f Parser/cfa_cpp-StatementNode.$(OBJEXT) 798 -rm -f Parser/cfa_cpp-TypeData.$(OBJEXT) 799 -rm -f Parser/cfa_cpp-TypedefTable.$(OBJEXT) 800 -rm -f Parser/cfa_cpp-lex.$(OBJEXT) 801 -rm -f Parser/cfa_cpp-parser.$(OBJEXT) 802 -rm -f Parser/cfa_cpp-parseutility.$(OBJEXT) 803 -rm -f ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT) 804 -rm -f ResolvExpr/cfa_cpp-Alternative.$(OBJEXT) 805 -rm -f ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT) 806 -rm -f ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT) 807 -rm -f ResolvExpr/cfa_cpp-CastCost.$(OBJEXT) 808 -rm -f ResolvExpr/cfa_cpp-CommonType.$(OBJEXT) 809 -rm -f ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT) 810 -rm -f ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT) 811 -rm -f ResolvExpr/cfa_cpp-Occurs.$(OBJEXT) 812 -rm -f ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT) 813 -rm -f ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT) 814 -rm -f ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT) 815 -rm -f ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT) 816 -rm -f ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT) 817 -rm -f ResolvExpr/cfa_cpp-Resolver.$(OBJEXT) 818 -rm -f ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT) 819 -rm -f ResolvExpr/cfa_cpp-Unify.$(OBJEXT) 820 -rm -f SymTab/cfa_cpp-FixFunction.$(OBJEXT) 821 -rm -f SymTab/cfa_cpp-IdTable.$(OBJEXT) 822 -rm -f SymTab/cfa_cpp-ImplementationType.$(OBJEXT) 823 -rm -f SymTab/cfa_cpp-Indexer.$(OBJEXT) 824 -rm -f SymTab/cfa_cpp-Mangler.$(OBJEXT) 825 -rm -f SymTab/cfa_cpp-Validate.$(OBJEXT) 826 -rm -f SynTree/cfa_cpp-AddressExpr.$(OBJEXT) 827 -rm -f SynTree/cfa_cpp-AggregateDecl.$(OBJEXT) 828 -rm -f SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT) 829 -rm -f SynTree/cfa_cpp-ArrayType.$(OBJEXT) 830 -rm -f SynTree/cfa_cpp-AttrType.$(OBJEXT) 831 -rm -f SynTree/cfa_cpp-BasicType.$(OBJEXT) 832 -rm -f SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT) 833 -rm -f SynTree/cfa_cpp-CommaExpr.$(OBJEXT) 834 -rm -f SynTree/cfa_cpp-CompoundStmt.$(OBJEXT) 835 -rm -f SynTree/cfa_cpp-Constant.$(OBJEXT) 836 -rm -f SynTree/cfa_cpp-DeclStmt.$(OBJEXT) 837 -rm -f SynTree/cfa_cpp-Declaration.$(OBJEXT) 838 -rm -f SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT) 839 -rm -f SynTree/cfa_cpp-Expression.$(OBJEXT) 840 -rm -f SynTree/cfa_cpp-FunctionDecl.$(OBJEXT) 841 -rm -f SynTree/cfa_cpp-FunctionType.$(OBJEXT) 842 -rm -f SynTree/cfa_cpp-Initializer.$(OBJEXT) 843 -rm -f SynTree/cfa_cpp-Mutator.$(OBJEXT) 844 -rm -f SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT) 845 -rm -f SynTree/cfa_cpp-ObjectDecl.$(OBJEXT) 846 -rm -f SynTree/cfa_cpp-PointerType.$(OBJEXT) 847 -rm -f SynTree/cfa_cpp-ReferenceToType.$(OBJEXT) 848 -rm -f SynTree/cfa_cpp-Statement.$(OBJEXT) 849 -rm -f SynTree/cfa_cpp-TupleExpr.$(OBJEXT) 850 -rm -f SynTree/cfa_cpp-TupleType.$(OBJEXT) 851 -rm -f SynTree/cfa_cpp-Type.$(OBJEXT) 852 -rm -f SynTree/cfa_cpp-TypeDecl.$(OBJEXT) 853 -rm -f SynTree/cfa_cpp-TypeExpr.$(OBJEXT) 854 -rm -f SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT) 855 -rm -f SynTree/cfa_cpp-TypeofType.$(OBJEXT) 856 -rm -f SynTree/cfa_cpp-Visitor.$(OBJEXT) 857 -rm -f SynTree/cfa_cpp-VoidType.$(OBJEXT) 858 -rm -f Tuples/cfa_cpp-AssignExpand.$(OBJEXT) 859 -rm -f Tuples/cfa_cpp-FunctionChecker.$(OBJEXT) 860 -rm -f Tuples/cfa_cpp-FunctionFixer.$(OBJEXT) 861 -rm -f Tuples/cfa_cpp-Mutate.$(OBJEXT) 862 -rm -f Tuples/cfa_cpp-NameMatcher.$(OBJEXT) 863 -rm -f Tuples/cfa_cpp-TupleAssignment.$(OBJEXT) 864 865 distclean-compile: 866 -rm -f *.tab.c 867 868 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-MakeLibCfa.Po@am__quote@ 869 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-main.Po@am__quote@ 870 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po@am__quote@ 871 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po@am__quote@ 872 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po@am__quote@ 873 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po@am__quote@ 874 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po@am__quote@ 875 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-SemanticError.Po@am__quote@ 876 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-UniqueName.Po@am__quote@ 877 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po@am__quote@ 878 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po@am__quote@ 879 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po@am__quote@ 880 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po@am__quote@ 881 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po@am__quote@ 882 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po@am__quote@ 883 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po@am__quote@ 884 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@ 885 @AMDEP_TRUE@@am__include@ @am__quote@Designators/$(DEPDIR)/cfa_cpp-Processor.Po@am__quote@ 886 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Box.Po@am__quote@ 887 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po@am__quote@ 888 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po@am__quote@ 889 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po@am__quote@ 890 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po@am__quote@ 891 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po@am__quote@ 892 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po@am__quote@ 893 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po@am__quote@ 894 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Association.Po@am__quote@ 895 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po@am__quote@ 896 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po@am__quote@ 897 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@ 898 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po@am__quote@ 899 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po@am__quote@ 900 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po@am__quote@ 901 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po@am__quote@ 902 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po@am__quote@ 903 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po@am__quote@ 904 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-Parser.Po@am__quote@ 905 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po@am__quote@ 906 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypeData.Po@am__quote@ 907 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po@am__quote@ 908 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-lex.Po@am__quote@ 909 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parser.Po@am__quote@ 910 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parseutility.Po@am__quote@ 911 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po@am__quote@ 912 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po@am__quote@ 913 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po@am__quote@ 914 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po@am__quote@ 915 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po@am__quote@ 916 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po@am__quote@ 917 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po@am__quote@ 918 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po@am__quote@ 919 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po@am__quote@ 920 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po@am__quote@ 921 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po@am__quote@ 922 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po@am__quote@ 923 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po@am__quote@ 924 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po@am__quote@ 925 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po@am__quote@ 926 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po@am__quote@ 927 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po@am__quote@ 928 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po@am__quote@ 929 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po@am__quote@ 930 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po@am__quote@ 931 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po@am__quote@ 932 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po@am__quote@ 933 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Validate.Po@am__quote@ 934 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po@am__quote@ 935 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po@am__quote@ 936 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po@am__quote@ 937 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po@am__quote@ 938 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po@am__quote@ 939 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po@am__quote@ 940 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po@am__quote@ 941 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po@am__quote@ 942 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po@am__quote@ 943 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Constant.Po@am__quote@ 944 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po@am__quote@ 945 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po@am__quote@ 946 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po@am__quote@ 947 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Expression.Po@am__quote@ 948 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po@am__quote@ 949 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po@am__quote@ 950 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po@am__quote@ 951 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po@am__quote@ 952 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po@am__quote@ 953 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po@am__quote@ 954 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po@am__quote@ 955 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po@am__quote@ 956 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Statement.Po@am__quote@ 957 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po@am__quote@ 958 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po@am__quote@ 959 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Type.Po@am__quote@ 960 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po@am__quote@ 961 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po@am__quote@ 962 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po@am__quote@ 963 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po@am__quote@ 964 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po@am__quote@ 965 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po@am__quote@ 966 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po@am__quote@ 967 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po@am__quote@ 968 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po@am__quote@ 969 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@ 970 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po@am__quote@ 971 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po@am__quote@ 972 973 .cc.o: 974 @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 975 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 976 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 977 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 978 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 979 @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< 980 981 .cc.obj: 982 @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ 983 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ 984 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 985 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 986 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 987 @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 988 989 cfa_cpp-main.o: main.cc 990 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.o -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc 991 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po 992 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cc' object='cfa_cpp-main.o' libtool=no @AMDEPBACKSLASH@ 993 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 994 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc 995 996 cfa_cpp-main.obj: main.cc 997 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi` 998 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po 999 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cc' object='cfa_cpp-main.obj' libtool=no @AMDEPBACKSLASH@ 1000 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1001 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi` 1002 1003 cfa_cpp-MakeLibCfa.o: MakeLibCfa.cc 1004 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.o -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc 1005 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po 1006 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.o' libtool=no @AMDEPBACKSLASH@ 1007 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1008 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc 1009 1010 cfa_cpp-MakeLibCfa.obj: MakeLibCfa.cc 1011 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi` 1012 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po 1013 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.obj' libtool=no @AMDEPBACKSLASH@ 1014 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1015 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi` 1016 1017 CodeGen/cfa_cpp-Generate.o: CodeGen/Generate.cc 1018 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc 1019 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po 1020 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.o' libtool=no @AMDEPBACKSLASH@ 1021 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1022 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc 1023 1024 CodeGen/cfa_cpp-Generate.obj: CodeGen/Generate.cc 1025 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi` 1026 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po 1027 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.obj' libtool=no @AMDEPBACKSLASH@ 1028 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1029 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi` 1030 1031 CodeGen/cfa_cpp-CodeGenerator.o: CodeGen/CodeGenerator.cc 1032 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc 1033 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po 1034 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.o' libtool=no @AMDEPBACKSLASH@ 1035 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1036 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc 1037 1038 CodeGen/cfa_cpp-CodeGenerator.obj: CodeGen/CodeGenerator.cc 1039 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi` 1040 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po 1041 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.obj' libtool=no @AMDEPBACKSLASH@ 1042 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1043 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi` 1044 1045 CodeGen/cfa_cpp-GenType.o: CodeGen/GenType.cc 1046 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc 1047 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po 1048 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.o' libtool=no @AMDEPBACKSLASH@ 1049 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1050 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc 1051 1052 CodeGen/cfa_cpp-GenType.obj: CodeGen/GenType.cc 1053 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi` 1054 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po 1055 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.obj' libtool=no @AMDEPBACKSLASH@ 1056 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1057 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi` 1058 1059 CodeGen/cfa_cpp-FixNames.o: CodeGen/FixNames.cc 1060 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc 1061 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po 1062 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.o' libtool=no @AMDEPBACKSLASH@ 1063 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1064 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc 1065 1066 CodeGen/cfa_cpp-FixNames.obj: CodeGen/FixNames.cc 1067 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi` 1068 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po 1069 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.obj' libtool=no @AMDEPBACKSLASH@ 1070 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1071 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi` 1072 1073 CodeGen/cfa_cpp-OperatorTable.o: CodeGen/OperatorTable.cc 1074 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc 1075 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po 1076 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.o' libtool=no @AMDEPBACKSLASH@ 1077 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1078 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc 1079 1080 CodeGen/cfa_cpp-OperatorTable.obj: CodeGen/OperatorTable.cc 1081 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi` 1082 @am__fastdepCXX_TRUE@ $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po 1083 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.obj' libtool=no @AMDEPBACKSLASH@ 1084 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1085 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi` 1086 1087 Common/cfa_cpp-SemanticError.o: Common/SemanticError.cc 1088 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc 1089 @am__fastdepCXX_TRUE@ $(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po 1090 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.o' libtool=no @AMDEPBACKSLASH@ 1091 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1092 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc 1093 1094 Common/cfa_cpp-SemanticError.obj: Common/SemanticError.cc 1095 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi` 1096 @am__fastdepCXX_TRUE@ $(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po 1097 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.obj' libtool=no @AMDEPBACKSLASH@ 1098 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1099 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi` 1100 1101 Common/cfa_cpp-UniqueName.o: Common/UniqueName.cc 1102 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc 1103 @am__fastdepCXX_TRUE@ $(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po 1104 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.o' libtool=no @AMDEPBACKSLASH@ 1105 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1106 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc 1107 1108 Common/cfa_cpp-UniqueName.obj: Common/UniqueName.cc 1109 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi` 1110 @am__fastdepCXX_TRUE@ $(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po 1111 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.obj' libtool=no @AMDEPBACKSLASH@ 1112 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1113 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi` 1114 1115 ControlStruct/cfa_cpp-LabelGenerator.o: ControlStruct/LabelGenerator.cc 1116 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc 1117 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po 1118 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.o' libtool=no @AMDEPBACKSLASH@ 1119 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1120 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc 1121 1122 ControlStruct/cfa_cpp-LabelGenerator.obj: ControlStruct/LabelGenerator.cc 1123 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi` 1124 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po 1125 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.obj' libtool=no @AMDEPBACKSLASH@ 1126 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1127 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi` 1128 1129 ControlStruct/cfa_cpp-LabelFixer.o: ControlStruct/LabelFixer.cc 1130 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc 1131 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po 1132 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.o' libtool=no @AMDEPBACKSLASH@ 1133 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1134 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc 1135 1136 ControlStruct/cfa_cpp-LabelFixer.obj: ControlStruct/LabelFixer.cc 1137 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi` 1138 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po 1139 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.obj' libtool=no @AMDEPBACKSLASH@ 1140 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1141 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi` 1142 1143 ControlStruct/cfa_cpp-MLEMutator.o: ControlStruct/MLEMutator.cc 1144 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc 1145 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po 1146 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.o' libtool=no @AMDEPBACKSLASH@ 1147 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1148 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc 1149 1150 ControlStruct/cfa_cpp-MLEMutator.obj: ControlStruct/MLEMutator.cc 1151 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi` 1152 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po 1153 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.obj' libtool=no @AMDEPBACKSLASH@ 1154 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1155 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi` 1156 1157 ControlStruct/cfa_cpp-CaseRangeMutator.o: ControlStruct/CaseRangeMutator.cc 1158 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc 1159 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po 1160 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.o' libtool=no @AMDEPBACKSLASH@ 1161 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1162 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc 1163 1164 ControlStruct/cfa_cpp-CaseRangeMutator.obj: ControlStruct/CaseRangeMutator.cc 1165 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi` 1166 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po 1167 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.obj' libtool=no @AMDEPBACKSLASH@ 1168 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1169 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi` 1170 1171 ControlStruct/cfa_cpp-Mutate.o: ControlStruct/Mutate.cc 1172 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc 1173 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po 1174 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@ 1175 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1176 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc 1177 1178 ControlStruct/cfa_cpp-Mutate.obj: ControlStruct/Mutate.cc 1179 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi` 1180 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po 1181 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@ 1182 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1183 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi` 1184 1185 ControlStruct/cfa_cpp-ChooseMutator.o: ControlStruct/ChooseMutator.cc 1186 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc 1187 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po 1188 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.o' libtool=no @AMDEPBACKSLASH@ 1189 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1190 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc 1191 1192 ControlStruct/cfa_cpp-ChooseMutator.obj: ControlStruct/ChooseMutator.cc 1193 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi` 1194 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po 1195 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.obj' libtool=no @AMDEPBACKSLASH@ 1196 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1197 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi` 1198 1199 ControlStruct/cfa_cpp-ForExprMutator.o: ControlStruct/ForExprMutator.cc 1200 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc 1201 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po 1202 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.o' libtool=no @AMDEPBACKSLASH@ 1203 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1204 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc 1205 1206 ControlStruct/cfa_cpp-ForExprMutator.obj: ControlStruct/ForExprMutator.cc 1207 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi` 1208 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po 1209 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.obj' libtool=no @AMDEPBACKSLASH@ 1210 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1211 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi` 1212 1213 ControlStruct/cfa_cpp-LabelTypeChecker.o: ControlStruct/LabelTypeChecker.cc 1214 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc 1215 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po 1216 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.o' libtool=no @AMDEPBACKSLASH@ 1217 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1218 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc 1219 1220 ControlStruct/cfa_cpp-LabelTypeChecker.obj: ControlStruct/LabelTypeChecker.cc 1221 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi` 1222 @am__fastdepCXX_TRUE@ $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po 1223 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.obj' libtool=no @AMDEPBACKSLASH@ 1224 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1225 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi` 1226 1227 Designators/cfa_cpp-Processor.o: Designators/Processor.cc 1228 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.o -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc 1229 @am__fastdepCXX_TRUE@ $(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po 1230 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.o' libtool=no @AMDEPBACKSLASH@ 1231 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1232 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc 1233 1234 Designators/cfa_cpp-Processor.obj: Designators/Processor.cc 1235 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.obj -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi` 1236 @am__fastdepCXX_TRUE@ $(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po 1237 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.obj' libtool=no @AMDEPBACKSLASH@ 1238 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1239 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi` 1240 1241 GenPoly/cfa_cpp-Box.o: GenPoly/Box.cc 1242 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc 1243 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po 1244 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.o' libtool=no @AMDEPBACKSLASH@ 1245 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1246 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc 1247 1248 GenPoly/cfa_cpp-Box.obj: GenPoly/Box.cc 1249 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi` 1250 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po 1251 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.obj' libtool=no @AMDEPBACKSLASH@ 1252 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1253 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi` 1254 1255 GenPoly/cfa_cpp-GenPoly.o: GenPoly/GenPoly.cc 1256 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc 1257 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po 1258 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.o' libtool=no @AMDEPBACKSLASH@ 1259 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1260 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc 1261 1262 GenPoly/cfa_cpp-GenPoly.obj: GenPoly/GenPoly.cc 1263 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi` 1264 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po 1265 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.obj' libtool=no @AMDEPBACKSLASH@ 1266 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1267 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi` 1268 1269 GenPoly/cfa_cpp-PolyMutator.o: GenPoly/PolyMutator.cc 1270 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc 1271 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po 1272 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.o' libtool=no @AMDEPBACKSLASH@ 1273 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1274 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc 1275 1276 GenPoly/cfa_cpp-PolyMutator.obj: GenPoly/PolyMutator.cc 1277 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi` 1278 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po 1279 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.obj' libtool=no @AMDEPBACKSLASH@ 1280 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1281 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi` 1282 1283 GenPoly/cfa_cpp-ScrubTyVars.o: GenPoly/ScrubTyVars.cc 1284 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc 1285 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po 1286 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.o' libtool=no @AMDEPBACKSLASH@ 1287 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1288 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc 1289 1290 GenPoly/cfa_cpp-ScrubTyVars.obj: GenPoly/ScrubTyVars.cc 1291 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi` 1292 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po 1293 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.obj' libtool=no @AMDEPBACKSLASH@ 1294 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1295 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi` 1296 1297 GenPoly/cfa_cpp-Lvalue.o: GenPoly/Lvalue.cc 1298 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc 1299 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po 1300 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.o' libtool=no @AMDEPBACKSLASH@ 1301 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1302 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc 1303 1304 GenPoly/cfa_cpp-Lvalue.obj: GenPoly/Lvalue.cc 1305 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi` 1306 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po 1307 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.obj' libtool=no @AMDEPBACKSLASH@ 1308 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1309 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi` 1310 1311 GenPoly/cfa_cpp-Specialize.o: GenPoly/Specialize.cc 1312 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc 1313 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po 1314 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.o' libtool=no @AMDEPBACKSLASH@ 1315 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1316 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc 1317 1318 GenPoly/cfa_cpp-Specialize.obj: GenPoly/Specialize.cc 1319 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi` 1320 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po 1321 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.obj' libtool=no @AMDEPBACKSLASH@ 1322 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1323 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi` 1324 1325 GenPoly/cfa_cpp-CopyParams.o: GenPoly/CopyParams.cc 1326 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc 1327 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po 1328 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.o' libtool=no @AMDEPBACKSLASH@ 1329 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1330 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc 1331 1332 GenPoly/cfa_cpp-CopyParams.obj: GenPoly/CopyParams.cc 1333 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi` 1334 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po 1335 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.obj' libtool=no @AMDEPBACKSLASH@ 1336 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1337 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi` 1338 1339 GenPoly/cfa_cpp-FindFunction.o: GenPoly/FindFunction.cc 1340 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc 1341 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po 1342 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.o' libtool=no @AMDEPBACKSLASH@ 1343 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1344 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc 1345 1346 GenPoly/cfa_cpp-FindFunction.obj: GenPoly/FindFunction.cc 1347 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi` 1348 @am__fastdepCXX_TRUE@ $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po 1349 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.obj' libtool=no @AMDEPBACKSLASH@ 1350 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1351 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi` 1352 1353 InitTweak/cfa_cpp-InitModel.o: InitTweak/InitModel.cc 1354 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc 1355 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po 1356 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.o' libtool=no @AMDEPBACKSLASH@ 1357 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1358 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc 1359 1360 InitTweak/cfa_cpp-InitModel.obj: InitTweak/InitModel.cc 1361 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi` 1362 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po 1363 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.obj' libtool=no @AMDEPBACKSLASH@ 1364 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1365 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi` 1366 1367 InitTweak/cfa_cpp-InitExpander.o: InitTweak/InitExpander.cc 1368 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc 1369 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po 1370 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.o' libtool=no @AMDEPBACKSLASH@ 1371 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1372 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc 1373 1374 InitTweak/cfa_cpp-InitExpander.obj: InitTweak/InitExpander.cc 1375 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi` 1376 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po 1377 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.obj' libtool=no @AMDEPBACKSLASH@ 1378 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1379 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi` 1380 1381 InitTweak/cfa_cpp-Mutate.o: InitTweak/Mutate.cc 1382 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc 1383 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po 1384 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@ 1385 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1386 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc 1387 1388 InitTweak/cfa_cpp-Mutate.obj: InitTweak/Mutate.cc 1389 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi` 1390 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po 1391 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@ 1392 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1393 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi` 1394 1395 InitTweak/cfa_cpp-Association.o: InitTweak/Association.cc 1396 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc 1397 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po 1398 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.o' libtool=no @AMDEPBACKSLASH@ 1399 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1400 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc 1401 1402 InitTweak/cfa_cpp-Association.obj: InitTweak/Association.cc 1403 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi` 1404 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po 1405 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.obj' libtool=no @AMDEPBACKSLASH@ 1406 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1407 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi` 1408 1409 InitTweak/cfa_cpp-RemoveInit.o: InitTweak/RemoveInit.cc 1410 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc 1411 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po 1412 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.o' libtool=no @AMDEPBACKSLASH@ 1413 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1414 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc 1415 1416 InitTweak/cfa_cpp-RemoveInit.obj: InitTweak/RemoveInit.cc 1417 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi` 1418 @am__fastdepCXX_TRUE@ $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po 1419 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.obj' libtool=no @AMDEPBACKSLASH@ 1420 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1421 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi` 1422 1423 Parser/cfa_cpp-parser.o: Parser/parser.cc 1424 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc 1425 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po 1426 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/parser.cc' object='Parser/cfa_cpp-parser.o' libtool=no @AMDEPBACKSLASH@ 1427 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1428 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc 1429 1430 Parser/cfa_cpp-parser.obj: Parser/parser.cc 1431 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi` 1432 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po 1433 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/parser.cc' object='Parser/cfa_cpp-parser.obj' libtool=no @AMDEPBACKSLASH@ 1434 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1435 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi` 1436 1437 Parser/cfa_cpp-lex.o: Parser/lex.cc 1438 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc 1439 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po 1440 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/lex.cc' object='Parser/cfa_cpp-lex.o' libtool=no @AMDEPBACKSLASH@ 1441 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1442 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc 1443 1444 Parser/cfa_cpp-lex.obj: Parser/lex.cc 1445 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi` 1446 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po 1447 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/lex.cc' object='Parser/cfa_cpp-lex.obj' libtool=no @AMDEPBACKSLASH@ 1448 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1449 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi` 1450 1451 Parser/cfa_cpp-TypedefTable.o: Parser/TypedefTable.cc 1452 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc 1453 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po 1454 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.o' libtool=no @AMDEPBACKSLASH@ 1455 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1456 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc 1457 1458 Parser/cfa_cpp-TypedefTable.obj: Parser/TypedefTable.cc 1459 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi` 1460 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po 1461 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.obj' libtool=no @AMDEPBACKSLASH@ 1462 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1463 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi` 1464 1465 Parser/cfa_cpp-ParseNode.o: Parser/ParseNode.cc 1466 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc 1467 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po 1468 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.o' libtool=no @AMDEPBACKSLASH@ 1469 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1470 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc 1471 1472 Parser/cfa_cpp-ParseNode.obj: Parser/ParseNode.cc 1473 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi` 1474 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po 1475 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.obj' libtool=no @AMDEPBACKSLASH@ 1476 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1477 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi` 1478 1479 Parser/cfa_cpp-DeclarationNode.o: Parser/DeclarationNode.cc 1480 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc 1481 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po 1482 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.o' libtool=no @AMDEPBACKSLASH@ 1483 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1484 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc 1485 1486 Parser/cfa_cpp-DeclarationNode.obj: Parser/DeclarationNode.cc 1487 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi` 1488 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po 1489 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.obj' libtool=no @AMDEPBACKSLASH@ 1490 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1491 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi` 1492 1493 Parser/cfa_cpp-ExpressionNode.o: Parser/ExpressionNode.cc 1494 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc 1495 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po 1496 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.o' libtool=no @AMDEPBACKSLASH@ 1497 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1498 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc 1499 1500 Parser/cfa_cpp-ExpressionNode.obj: Parser/ExpressionNode.cc 1501 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi` 1502 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po 1503 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.obj' libtool=no @AMDEPBACKSLASH@ 1504 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1505 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi` 1506 1507 Parser/cfa_cpp-StatementNode.o: Parser/StatementNode.cc 1508 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc 1509 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po 1510 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.o' libtool=no @AMDEPBACKSLASH@ 1511 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1512 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc 1513 1514 Parser/cfa_cpp-StatementNode.obj: Parser/StatementNode.cc 1515 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi` 1516 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po 1517 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.obj' libtool=no @AMDEPBACKSLASH@ 1518 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1519 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi` 1520 1521 Parser/cfa_cpp-InitializerNode.o: Parser/InitializerNode.cc 1522 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc 1523 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po 1524 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.o' libtool=no @AMDEPBACKSLASH@ 1525 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1526 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc 1527 1528 Parser/cfa_cpp-InitializerNode.obj: Parser/InitializerNode.cc 1529 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi` 1530 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po 1531 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.obj' libtool=no @AMDEPBACKSLASH@ 1532 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1533 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi` 1534 1535 Parser/cfa_cpp-TypeData.o: Parser/TypeData.cc 1536 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc 1537 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po 1538 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.o' libtool=no @AMDEPBACKSLASH@ 1539 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1540 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc 1541 1542 Parser/cfa_cpp-TypeData.obj: Parser/TypeData.cc 1543 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi` 1544 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po 1545 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.obj' libtool=no @AMDEPBACKSLASH@ 1546 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1547 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi` 1548 1549 Parser/cfa_cpp-LinkageSpec.o: Parser/LinkageSpec.cc 1550 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc 1551 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po 1552 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.o' libtool=no @AMDEPBACKSLASH@ 1553 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1554 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc 1555 1556 Parser/cfa_cpp-LinkageSpec.obj: Parser/LinkageSpec.cc 1557 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi` 1558 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po 1559 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.obj' libtool=no @AMDEPBACKSLASH@ 1560 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1561 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi` 1562 1563 Parser/cfa_cpp-parseutility.o: Parser/parseutility.cc 1564 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc 1565 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po 1566 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.o' libtool=no @AMDEPBACKSLASH@ 1567 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1568 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc 1569 1570 Parser/cfa_cpp-parseutility.obj: Parser/parseutility.cc 1571 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi` 1572 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po 1573 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.obj' libtool=no @AMDEPBACKSLASH@ 1574 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1575 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi` 1576 1577 Parser/cfa_cpp-Parser.o: Parser/Parser.cc 1578 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc 1579 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po 1580 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.o' libtool=no @AMDEPBACKSLASH@ 1581 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1582 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc 1583 1584 Parser/cfa_cpp-Parser.obj: Parser/Parser.cc 1585 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi` 1586 @am__fastdepCXX_TRUE@ $(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po 1587 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.obj' libtool=no @AMDEPBACKSLASH@ 1588 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1589 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi` 1590 1591 ResolvExpr/cfa_cpp-AlternativeFinder.o: ResolvExpr/AlternativeFinder.cc 1592 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc 1593 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po 1594 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.o' libtool=no @AMDEPBACKSLASH@ 1595 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1596 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc 1597 1598 ResolvExpr/cfa_cpp-AlternativeFinder.obj: ResolvExpr/AlternativeFinder.cc 1599 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi` 1600 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po 1601 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.obj' libtool=no @AMDEPBACKSLASH@ 1602 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1603 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi` 1604 1605 ResolvExpr/cfa_cpp-Alternative.o: ResolvExpr/Alternative.cc 1606 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc 1607 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po 1608 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.o' libtool=no @AMDEPBACKSLASH@ 1609 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1610 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc 1611 1612 ResolvExpr/cfa_cpp-Alternative.obj: ResolvExpr/Alternative.cc 1613 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi` 1614 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po 1615 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.obj' libtool=no @AMDEPBACKSLASH@ 1616 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1617 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi` 1618 1619 ResolvExpr/cfa_cpp-Unify.o: ResolvExpr/Unify.cc 1620 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc 1621 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po 1622 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.o' libtool=no @AMDEPBACKSLASH@ 1623 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1624 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc 1625 1626 ResolvExpr/cfa_cpp-Unify.obj: ResolvExpr/Unify.cc 1627 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi` 1628 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po 1629 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.obj' libtool=no @AMDEPBACKSLASH@ 1630 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1631 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi` 1632 1633 ResolvExpr/cfa_cpp-PtrsAssignable.o: ResolvExpr/PtrsAssignable.cc 1634 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc 1635 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po 1636 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.o' libtool=no @AMDEPBACKSLASH@ 1637 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1638 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc 1639 1640 ResolvExpr/cfa_cpp-PtrsAssignable.obj: ResolvExpr/PtrsAssignable.cc 1641 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi` 1642 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po 1643 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.obj' libtool=no @AMDEPBACKSLASH@ 1644 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1645 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi` 1646 1647 ResolvExpr/cfa_cpp-CommonType.o: ResolvExpr/CommonType.cc 1648 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc 1649 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po 1650 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.o' libtool=no @AMDEPBACKSLASH@ 1651 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1652 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc 1653 1654 ResolvExpr/cfa_cpp-CommonType.obj: ResolvExpr/CommonType.cc 1655 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi` 1656 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po 1657 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.obj' libtool=no @AMDEPBACKSLASH@ 1658 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1659 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi` 1660 1661 ResolvExpr/cfa_cpp-ConversionCost.o: ResolvExpr/ConversionCost.cc 1662 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc 1663 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po 1664 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.o' libtool=no @AMDEPBACKSLASH@ 1665 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1666 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc 1667 1668 ResolvExpr/cfa_cpp-ConversionCost.obj: ResolvExpr/ConversionCost.cc 1669 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi` 1670 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po 1671 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.obj' libtool=no @AMDEPBACKSLASH@ 1672 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1673 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi` 1674 1675 ResolvExpr/cfa_cpp-CastCost.o: ResolvExpr/CastCost.cc 1676 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc 1677 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po 1678 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.o' libtool=no @AMDEPBACKSLASH@ 1679 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1680 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc 1681 1682 ResolvExpr/cfa_cpp-CastCost.obj: ResolvExpr/CastCost.cc 1683 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi` 1684 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po 1685 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.obj' libtool=no @AMDEPBACKSLASH@ 1686 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1687 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi` 1688 1689 ResolvExpr/cfa_cpp-PtrsCastable.o: ResolvExpr/PtrsCastable.cc 1690 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc 1691 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po 1692 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.o' libtool=no @AMDEPBACKSLASH@ 1693 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1694 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc 1695 1696 ResolvExpr/cfa_cpp-PtrsCastable.obj: ResolvExpr/PtrsCastable.cc 1697 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi` 1698 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po 1699 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.obj' libtool=no @AMDEPBACKSLASH@ 1700 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1701 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi` 1702 1703 ResolvExpr/cfa_cpp-AdjustExprType.o: ResolvExpr/AdjustExprType.cc 1704 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc 1705 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po 1706 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.o' libtool=no @AMDEPBACKSLASH@ 1707 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1708 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc 1709 1710 ResolvExpr/cfa_cpp-AdjustExprType.obj: ResolvExpr/AdjustExprType.cc 1711 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi` 1712 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po 1713 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.obj' libtool=no @AMDEPBACKSLASH@ 1714 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1715 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi` 1716 1717 ResolvExpr/cfa_cpp-AlternativePrinter.o: ResolvExpr/AlternativePrinter.cc 1718 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc 1719 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po 1720 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.o' libtool=no @AMDEPBACKSLASH@ 1721 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1722 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc 1723 1724 ResolvExpr/cfa_cpp-AlternativePrinter.obj: ResolvExpr/AlternativePrinter.cc 1725 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi` 1726 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po 1727 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.obj' libtool=no @AMDEPBACKSLASH@ 1728 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1729 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi` 1730 1731 ResolvExpr/cfa_cpp-Resolver.o: ResolvExpr/Resolver.cc 1732 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc 1733 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po 1734 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.o' libtool=no @AMDEPBACKSLASH@ 1735 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1736 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc 1737 1738 ResolvExpr/cfa_cpp-Resolver.obj: ResolvExpr/Resolver.cc 1739 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi` 1740 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po 1741 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.obj' libtool=no @AMDEPBACKSLASH@ 1742 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1743 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi` 1744 1745 ResolvExpr/cfa_cpp-ResolveTypeof.o: ResolvExpr/ResolveTypeof.cc 1746 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc 1747 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po 1748 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.o' libtool=no @AMDEPBACKSLASH@ 1749 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1750 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc 1751 1752 ResolvExpr/cfa_cpp-ResolveTypeof.obj: ResolvExpr/ResolveTypeof.cc 1753 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi` 1754 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po 1755 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.obj' libtool=no @AMDEPBACKSLASH@ 1756 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1757 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi` 1758 1759 ResolvExpr/cfa_cpp-RenameVars.o: ResolvExpr/RenameVars.cc 1760 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc 1761 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po 1762 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.o' libtool=no @AMDEPBACKSLASH@ 1763 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1764 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc 1765 1766 ResolvExpr/cfa_cpp-RenameVars.obj: ResolvExpr/RenameVars.cc 1767 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi` 1768 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po 1769 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.obj' libtool=no @AMDEPBACKSLASH@ 1770 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1771 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi` 1772 1773 ResolvExpr/cfa_cpp-FindOpenVars.o: ResolvExpr/FindOpenVars.cc 1774 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc 1775 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po 1776 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.o' libtool=no @AMDEPBACKSLASH@ 1777 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1778 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc 1779 1780 ResolvExpr/cfa_cpp-FindOpenVars.obj: ResolvExpr/FindOpenVars.cc 1781 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi` 1782 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po 1783 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.obj' libtool=no @AMDEPBACKSLASH@ 1784 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1785 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi` 1786 1787 ResolvExpr/cfa_cpp-PolyCost.o: ResolvExpr/PolyCost.cc 1788 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc 1789 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po 1790 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.o' libtool=no @AMDEPBACKSLASH@ 1791 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1792 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc 1793 1794 ResolvExpr/cfa_cpp-PolyCost.obj: ResolvExpr/PolyCost.cc 1795 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi` 1796 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po 1797 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.obj' libtool=no @AMDEPBACKSLASH@ 1798 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1799 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi` 1800 1801 ResolvExpr/cfa_cpp-Occurs.o: ResolvExpr/Occurs.cc 1802 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc 1803 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po 1804 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.o' libtool=no @AMDEPBACKSLASH@ 1805 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1806 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc 1807 1808 ResolvExpr/cfa_cpp-Occurs.obj: ResolvExpr/Occurs.cc 1809 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi` 1810 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po 1811 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.obj' libtool=no @AMDEPBACKSLASH@ 1812 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1813 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi` 1814 1815 ResolvExpr/cfa_cpp-TypeEnvironment.o: ResolvExpr/TypeEnvironment.cc 1816 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc 1817 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po 1818 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.o' libtool=no @AMDEPBACKSLASH@ 1819 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1820 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc 1821 1822 ResolvExpr/cfa_cpp-TypeEnvironment.obj: ResolvExpr/TypeEnvironment.cc 1823 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi` 1824 @am__fastdepCXX_TRUE@ $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po 1825 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.obj' libtool=no @AMDEPBACKSLASH@ 1826 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1827 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi` 1828 1829 SymTab/cfa_cpp-IdTable.o: SymTab/IdTable.cc 1830 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc 1831 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po 1832 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.o' libtool=no @AMDEPBACKSLASH@ 1833 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1834 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc 1835 1836 SymTab/cfa_cpp-IdTable.obj: SymTab/IdTable.cc 1837 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi` 1838 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po 1839 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.obj' libtool=no @AMDEPBACKSLASH@ 1840 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1841 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi` 1842 1843 SymTab/cfa_cpp-Indexer.o: SymTab/Indexer.cc 1844 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc 1845 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po 1846 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.o' libtool=no @AMDEPBACKSLASH@ 1847 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1848 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc 1849 1850 SymTab/cfa_cpp-Indexer.obj: SymTab/Indexer.cc 1851 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi` 1852 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po 1853 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.obj' libtool=no @AMDEPBACKSLASH@ 1854 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1855 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi` 1856 1857 SymTab/cfa_cpp-Mangler.o: SymTab/Mangler.cc 1858 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc 1859 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po 1860 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.o' libtool=no @AMDEPBACKSLASH@ 1861 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1862 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc 1863 1864 SymTab/cfa_cpp-Mangler.obj: SymTab/Mangler.cc 1865 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi` 1866 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po 1867 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.obj' libtool=no @AMDEPBACKSLASH@ 1868 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1869 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi` 1870 1871 SymTab/cfa_cpp-Validate.o: SymTab/Validate.cc 1872 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc 1873 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po 1874 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.o' libtool=no @AMDEPBACKSLASH@ 1875 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1876 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc 1877 1878 SymTab/cfa_cpp-Validate.obj: SymTab/Validate.cc 1879 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi` 1880 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po 1881 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.obj' libtool=no @AMDEPBACKSLASH@ 1882 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1883 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi` 1884 1885 SymTab/cfa_cpp-FixFunction.o: SymTab/FixFunction.cc 1886 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc 1887 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po 1888 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.o' libtool=no @AMDEPBACKSLASH@ 1889 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1890 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc 1891 1892 SymTab/cfa_cpp-FixFunction.obj: SymTab/FixFunction.cc 1893 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi` 1894 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po 1895 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.obj' libtool=no @AMDEPBACKSLASH@ 1896 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1897 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi` 1898 1899 SymTab/cfa_cpp-ImplementationType.o: SymTab/ImplementationType.cc 1900 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc 1901 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po 1902 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.o' libtool=no @AMDEPBACKSLASH@ 1903 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1904 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc 1905 1906 SymTab/cfa_cpp-ImplementationType.obj: SymTab/ImplementationType.cc 1907 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi` 1908 @am__fastdepCXX_TRUE@ $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po 1909 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.obj' libtool=no @AMDEPBACKSLASH@ 1910 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1911 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi` 1912 1913 SynTree/cfa_cpp-Type.o: SynTree/Type.cc 1914 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc 1915 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po 1916 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.o' libtool=no @AMDEPBACKSLASH@ 1917 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1918 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc 1919 1920 SynTree/cfa_cpp-Type.obj: SynTree/Type.cc 1921 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi` 1922 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po 1923 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.obj' libtool=no @AMDEPBACKSLASH@ 1924 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1925 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi` 1926 1927 SynTree/cfa_cpp-VoidType.o: SynTree/VoidType.cc 1928 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc 1929 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po 1930 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.o' libtool=no @AMDEPBACKSLASH@ 1931 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1932 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc 1933 1934 SynTree/cfa_cpp-VoidType.obj: SynTree/VoidType.cc 1935 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi` 1936 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po 1937 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.obj' libtool=no @AMDEPBACKSLASH@ 1938 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1939 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi` 1940 1941 SynTree/cfa_cpp-BasicType.o: SynTree/BasicType.cc 1942 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc 1943 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po 1944 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.o' libtool=no @AMDEPBACKSLASH@ 1945 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1946 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc 1947 1948 SynTree/cfa_cpp-BasicType.obj: SynTree/BasicType.cc 1949 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi` 1950 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po 1951 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.obj' libtool=no @AMDEPBACKSLASH@ 1952 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1953 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi` 1954 1955 SynTree/cfa_cpp-PointerType.o: SynTree/PointerType.cc 1956 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc 1957 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po 1958 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.o' libtool=no @AMDEPBACKSLASH@ 1959 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1960 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc 1961 1962 SynTree/cfa_cpp-PointerType.obj: SynTree/PointerType.cc 1963 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi` 1964 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po 1965 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.obj' libtool=no @AMDEPBACKSLASH@ 1966 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1967 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi` 1968 1969 SynTree/cfa_cpp-ArrayType.o: SynTree/ArrayType.cc 1970 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc 1971 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po 1972 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.o' libtool=no @AMDEPBACKSLASH@ 1973 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1974 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc 1975 1976 SynTree/cfa_cpp-ArrayType.obj: SynTree/ArrayType.cc 1977 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi` 1978 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po 1979 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.obj' libtool=no @AMDEPBACKSLASH@ 1980 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1981 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi` 1982 1983 SynTree/cfa_cpp-FunctionType.o: SynTree/FunctionType.cc 1984 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc 1985 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po 1986 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.o' libtool=no @AMDEPBACKSLASH@ 1987 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1988 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc 1989 1990 SynTree/cfa_cpp-FunctionType.obj: SynTree/FunctionType.cc 1991 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi` 1992 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po 1993 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.obj' libtool=no @AMDEPBACKSLASH@ 1994 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1995 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi` 1996 1997 SynTree/cfa_cpp-ReferenceToType.o: SynTree/ReferenceToType.cc 1998 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc 1999 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po 2000 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.o' libtool=no @AMDEPBACKSLASH@ 2001 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2002 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc 2003 2004 SynTree/cfa_cpp-ReferenceToType.obj: SynTree/ReferenceToType.cc 2005 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi` 2006 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po 2007 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.obj' libtool=no @AMDEPBACKSLASH@ 2008 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2009 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi` 2010 2011 SynTree/cfa_cpp-TupleType.o: SynTree/TupleType.cc 2012 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc 2013 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po 2014 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.o' libtool=no @AMDEPBACKSLASH@ 2015 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2016 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc 2017 2018 SynTree/cfa_cpp-TupleType.obj: SynTree/TupleType.cc 2019 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi` 2020 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po 2021 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.obj' libtool=no @AMDEPBACKSLASH@ 2022 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2023 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi` 2024 2025 SynTree/cfa_cpp-TypeofType.o: SynTree/TypeofType.cc 2026 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc 2027 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po 2028 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.o' libtool=no @AMDEPBACKSLASH@ 2029 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2030 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc 2031 2032 SynTree/cfa_cpp-TypeofType.obj: SynTree/TypeofType.cc 2033 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi` 2034 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po 2035 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.obj' libtool=no @AMDEPBACKSLASH@ 2036 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2037 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi` 2038 2039 SynTree/cfa_cpp-AttrType.o: SynTree/AttrType.cc 2040 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc 2041 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po 2042 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.o' libtool=no @AMDEPBACKSLASH@ 2043 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2044 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc 2045 2046 SynTree/cfa_cpp-AttrType.obj: SynTree/AttrType.cc 2047 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi` 2048 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po 2049 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.obj' libtool=no @AMDEPBACKSLASH@ 2050 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2051 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi` 2052 2053 SynTree/cfa_cpp-Constant.o: SynTree/Constant.cc 2054 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc 2055 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po 2056 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.o' libtool=no @AMDEPBACKSLASH@ 2057 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2058 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc 2059 2060 SynTree/cfa_cpp-Constant.obj: SynTree/Constant.cc 2061 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi` 2062 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po 2063 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.obj' libtool=no @AMDEPBACKSLASH@ 2064 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2065 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi` 2066 2067 SynTree/cfa_cpp-Expression.o: SynTree/Expression.cc 2068 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc 2069 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po 2070 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.o' libtool=no @AMDEPBACKSLASH@ 2071 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2072 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc 2073 2074 SynTree/cfa_cpp-Expression.obj: SynTree/Expression.cc 2075 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi` 2076 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po 2077 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.obj' libtool=no @AMDEPBACKSLASH@ 2078 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2079 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi` 2080 2081 SynTree/cfa_cpp-TupleExpr.o: SynTree/TupleExpr.cc 2082 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc 2083 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po 2084 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.o' libtool=no @AMDEPBACKSLASH@ 2085 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2086 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc 2087 2088 SynTree/cfa_cpp-TupleExpr.obj: SynTree/TupleExpr.cc 2089 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi` 2090 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po 2091 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.obj' libtool=no @AMDEPBACKSLASH@ 2092 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2093 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi` 2094 2095 SynTree/cfa_cpp-CommaExpr.o: SynTree/CommaExpr.cc 2096 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc 2097 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po 2098 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.o' libtool=no @AMDEPBACKSLASH@ 2099 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2100 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc 2101 2102 SynTree/cfa_cpp-CommaExpr.obj: SynTree/CommaExpr.cc 2103 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi` 2104 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po 2105 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.obj' libtool=no @AMDEPBACKSLASH@ 2106 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2107 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi` 2108 2109 SynTree/cfa_cpp-TypeExpr.o: SynTree/TypeExpr.cc 2110 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc 2111 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po 2112 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.o' libtool=no @AMDEPBACKSLASH@ 2113 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2114 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc 2115 2116 SynTree/cfa_cpp-TypeExpr.obj: SynTree/TypeExpr.cc 2117 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi` 2118 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po 2119 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.obj' libtool=no @AMDEPBACKSLASH@ 2120 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2121 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi` 2122 2123 SynTree/cfa_cpp-ApplicationExpr.o: SynTree/ApplicationExpr.cc 2124 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc 2125 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po 2126 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.o' libtool=no @AMDEPBACKSLASH@ 2127 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2128 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc 2129 2130 SynTree/cfa_cpp-ApplicationExpr.obj: SynTree/ApplicationExpr.cc 2131 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi` 2132 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po 2133 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.obj' libtool=no @AMDEPBACKSLASH@ 2134 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2135 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi` 2136 2137 SynTree/cfa_cpp-AddressExpr.o: SynTree/AddressExpr.cc 2138 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc 2139 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po 2140 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.o' libtool=no @AMDEPBACKSLASH@ 2141 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2142 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc 2143 2144 SynTree/cfa_cpp-AddressExpr.obj: SynTree/AddressExpr.cc 2145 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi` 2146 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po 2147 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.obj' libtool=no @AMDEPBACKSLASH@ 2148 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2149 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi` 2150 2151 SynTree/cfa_cpp-Statement.o: SynTree/Statement.cc 2152 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc 2153 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po 2154 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.o' libtool=no @AMDEPBACKSLASH@ 2155 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2156 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc 2157 2158 SynTree/cfa_cpp-Statement.obj: SynTree/Statement.cc 2159 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi` 2160 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po 2161 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.obj' libtool=no @AMDEPBACKSLASH@ 2162 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2163 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi` 2164 2165 SynTree/cfa_cpp-CompoundStmt.o: SynTree/CompoundStmt.cc 2166 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc 2167 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po 2168 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.o' libtool=no @AMDEPBACKSLASH@ 2169 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2170 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc 2171 2172 SynTree/cfa_cpp-CompoundStmt.obj: SynTree/CompoundStmt.cc 2173 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi` 2174 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po 2175 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.obj' libtool=no @AMDEPBACKSLASH@ 2176 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2177 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi` 2178 2179 SynTree/cfa_cpp-DeclStmt.o: SynTree/DeclStmt.cc 2180 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc 2181 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po 2182 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.o' libtool=no @AMDEPBACKSLASH@ 2183 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2184 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc 2185 2186 SynTree/cfa_cpp-DeclStmt.obj: SynTree/DeclStmt.cc 2187 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi` 2188 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po 2189 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.obj' libtool=no @AMDEPBACKSLASH@ 2190 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2191 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi` 2192 2193 SynTree/cfa_cpp-Declaration.o: SynTree/Declaration.cc 2194 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc 2195 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po 2196 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.o' libtool=no @AMDEPBACKSLASH@ 2197 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2198 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc 2199 2200 SynTree/cfa_cpp-Declaration.obj: SynTree/Declaration.cc 2201 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi` 2202 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po 2203 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.obj' libtool=no @AMDEPBACKSLASH@ 2204 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2205 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi` 2206 2207 SynTree/cfa_cpp-DeclarationWithType.o: SynTree/DeclarationWithType.cc 2208 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc 2209 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po 2210 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.o' libtool=no @AMDEPBACKSLASH@ 2211 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2212 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc 2213 2214 SynTree/cfa_cpp-DeclarationWithType.obj: SynTree/DeclarationWithType.cc 2215 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi` 2216 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po 2217 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.obj' libtool=no @AMDEPBACKSLASH@ 2218 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2219 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi` 2220 2221 SynTree/cfa_cpp-ObjectDecl.o: SynTree/ObjectDecl.cc 2222 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc 2223 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po 2224 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.o' libtool=no @AMDEPBACKSLASH@ 2225 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2226 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc 2227 2228 SynTree/cfa_cpp-ObjectDecl.obj: SynTree/ObjectDecl.cc 2229 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi` 2230 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po 2231 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.obj' libtool=no @AMDEPBACKSLASH@ 2232 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2233 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi` 2234 2235 SynTree/cfa_cpp-FunctionDecl.o: SynTree/FunctionDecl.cc 2236 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc 2237 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po 2238 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.o' libtool=no @AMDEPBACKSLASH@ 2239 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2240 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc 2241 2242 SynTree/cfa_cpp-FunctionDecl.obj: SynTree/FunctionDecl.cc 2243 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi` 2244 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po 2245 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.obj' libtool=no @AMDEPBACKSLASH@ 2246 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2247 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi` 2248 2249 SynTree/cfa_cpp-AggregateDecl.o: SynTree/AggregateDecl.cc 2250 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc 2251 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po 2252 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.o' libtool=no @AMDEPBACKSLASH@ 2253 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2254 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc 2255 2256 SynTree/cfa_cpp-AggregateDecl.obj: SynTree/AggregateDecl.cc 2257 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi` 2258 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po 2259 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.obj' libtool=no @AMDEPBACKSLASH@ 2260 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2261 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi` 2262 2263 SynTree/cfa_cpp-NamedTypeDecl.o: SynTree/NamedTypeDecl.cc 2264 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc 2265 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po 2266 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.o' libtool=no @AMDEPBACKSLASH@ 2267 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2268 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc 2269 2270 SynTree/cfa_cpp-NamedTypeDecl.obj: SynTree/NamedTypeDecl.cc 2271 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi` 2272 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po 2273 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.obj' libtool=no @AMDEPBACKSLASH@ 2274 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2275 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi` 2276 2277 SynTree/cfa_cpp-TypeDecl.o: SynTree/TypeDecl.cc 2278 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc 2279 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po 2280 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.o' libtool=no @AMDEPBACKSLASH@ 2281 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2282 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc 2283 2284 SynTree/cfa_cpp-TypeDecl.obj: SynTree/TypeDecl.cc 2285 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi` 2286 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po 2287 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.obj' libtool=no @AMDEPBACKSLASH@ 2288 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2289 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi` 2290 2291 SynTree/cfa_cpp-Initializer.o: SynTree/Initializer.cc 2292 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc 2293 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po 2294 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.o' libtool=no @AMDEPBACKSLASH@ 2295 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2296 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc 2297 2298 SynTree/cfa_cpp-Initializer.obj: SynTree/Initializer.cc 2299 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi` 2300 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po 2301 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.obj' libtool=no @AMDEPBACKSLASH@ 2302 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2303 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi` 2304 2305 SynTree/cfa_cpp-Visitor.o: SynTree/Visitor.cc 2306 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc 2307 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po 2308 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.o' libtool=no @AMDEPBACKSLASH@ 2309 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2310 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc 2311 2312 SynTree/cfa_cpp-Visitor.obj: SynTree/Visitor.cc 2313 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi` 2314 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po 2315 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.obj' libtool=no @AMDEPBACKSLASH@ 2316 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2317 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi` 2318 2319 SynTree/cfa_cpp-Mutator.o: SynTree/Mutator.cc 2320 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc 2321 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po 2322 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.o' libtool=no @AMDEPBACKSLASH@ 2323 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2324 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc 2325 2326 SynTree/cfa_cpp-Mutator.obj: SynTree/Mutator.cc 2327 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi` 2328 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po 2329 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.obj' libtool=no @AMDEPBACKSLASH@ 2330 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2331 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi` 2332 2333 SynTree/cfa_cpp-CodeGenVisitor.o: SynTree/CodeGenVisitor.cc 2334 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc 2335 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po 2336 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.o' libtool=no @AMDEPBACKSLASH@ 2337 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2338 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc 2339 2340 SynTree/cfa_cpp-CodeGenVisitor.obj: SynTree/CodeGenVisitor.cc 2341 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi` 2342 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po 2343 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.obj' libtool=no @AMDEPBACKSLASH@ 2344 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2345 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi` 2346 2347 SynTree/cfa_cpp-TypeSubstitution.o: SynTree/TypeSubstitution.cc 2348 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc 2349 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po 2350 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.o' libtool=no @AMDEPBACKSLASH@ 2351 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2352 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc 2353 2354 SynTree/cfa_cpp-TypeSubstitution.obj: SynTree/TypeSubstitution.cc 2355 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi` 2356 @am__fastdepCXX_TRUE@ $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po 2357 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.obj' libtool=no @AMDEPBACKSLASH@ 2358 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2359 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi` 2360 2361 Tuples/cfa_cpp-Mutate.o: Tuples/Mutate.cc 2362 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc 2363 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po 2364 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@ 2365 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2366 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc 2367 2368 Tuples/cfa_cpp-Mutate.obj: Tuples/Mutate.cc 2369 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi` 2370 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po 2371 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@ 2372 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2373 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi` 2374 2375 Tuples/cfa_cpp-AssignExpand.o: Tuples/AssignExpand.cc 2376 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc 2377 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po 2378 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.o' libtool=no @AMDEPBACKSLASH@ 2379 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2380 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc 2381 2382 Tuples/cfa_cpp-AssignExpand.obj: Tuples/AssignExpand.cc 2383 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi` 2384 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po 2385 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.obj' libtool=no @AMDEPBACKSLASH@ 2386 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2387 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi` 2388 2389 Tuples/cfa_cpp-FunctionFixer.o: Tuples/FunctionFixer.cc 2390 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc 2391 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po 2392 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.o' libtool=no @AMDEPBACKSLASH@ 2393 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2394 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc 2395 2396 Tuples/cfa_cpp-FunctionFixer.obj: Tuples/FunctionFixer.cc 2397 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi` 2398 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po 2399 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.obj' libtool=no @AMDEPBACKSLASH@ 2400 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2401 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi` 2402 2403 Tuples/cfa_cpp-TupleAssignment.o: Tuples/TupleAssignment.cc 2404 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc 2405 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po 2406 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.o' libtool=no @AMDEPBACKSLASH@ 2407 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2408 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc 2409 2410 Tuples/cfa_cpp-TupleAssignment.obj: Tuples/TupleAssignment.cc 2411 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi` 2412 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po 2413 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.obj' libtool=no @AMDEPBACKSLASH@ 2414 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2415 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi` 2416 2417 Tuples/cfa_cpp-FunctionChecker.o: Tuples/FunctionChecker.cc 2418 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc 2419 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po 2420 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.o' libtool=no @AMDEPBACKSLASH@ 2421 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2422 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc 2423 2424 Tuples/cfa_cpp-FunctionChecker.obj: Tuples/FunctionChecker.cc 2425 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi` 2426 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po 2427 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.obj' libtool=no @AMDEPBACKSLASH@ 2428 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2429 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi` 2430 2431 Tuples/cfa_cpp-NameMatcher.o: Tuples/NameMatcher.cc 2432 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc 2433 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po 2434 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.o' libtool=no @AMDEPBACKSLASH@ 2435 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2436 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc 2437 2438 Tuples/cfa_cpp-NameMatcher.obj: Tuples/NameMatcher.cc 2439 @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi` 2440 @am__fastdepCXX_TRUE@ $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po 2441 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.obj' libtool=no @AMDEPBACKSLASH@ 2442 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 2443 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi` 2444 2445 .ll.cc: 2446 $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) 2447 2448 .yy.cc: 2449 $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) 2450 2451 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) 2452 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 2453 unique=`for i in $$list; do \ 2454 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 2455 done | \ 2456 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 2457 END { if (nonempty) { for (i in files) print i; }; }'`; \ 2458 mkid -fID $$unique 2459 tags: TAGS 2460 2461 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 2462 $(TAGS_FILES) $(LISP) 2463 set x; \ 2464 here=`pwd`; \ 2465 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 2466 unique=`for i in $$list; do \ 2467 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 2468 done | \ 2469 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 2470 END { if (nonempty) { for (i in files) print i; }; }'`; \ 2471 shift; \ 2472 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 2473 test -n "$$unique" || unique=$$empty_fix; \ 2474 if test $$# -gt 0; then \ 2475 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 2476 "$$@" $$unique; \ 2477 else \ 2478 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 2479 $$unique; \ 2480 fi; \ 2481 fi 2482 ctags: CTAGS 2483 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 2484 $(TAGS_FILES) $(LISP) 2485 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 2486 unique=`for i in $$list; do \ 2487 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 2488 done | \ 2489 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 2490 END { if (nonempty) { for (i in files) print i; }; }'`; \ 2491 test -z "$(CTAGS_ARGS)$$unique" \ 2492 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 2493 $$unique 2494 2495 GTAGS: 2496 here=`$(am__cd) $(top_builddir) && pwd` \ 2497 && $(am__cd) $(top_srcdir) \ 2498 && gtags -i $(GTAGS_ARGS) "$$here" 2499 2500 distclean-tags: 2501 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 2502 2503 distdir: $(DISTFILES) 2504 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 2505 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 2506 list='$(DISTFILES)'; \ 2507 dist_files=`for file in $$list; do echo $$file; done | \ 2508 sed -e "s|^$$srcdirstrip/||;t" \ 2509 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 2510 case $$dist_files in \ 2511 */*) $(MKDIR_P) `echo "$$dist_files" | \ 2512 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 2513 sort -u` ;; \ 2514 esac; \ 2515 for file in $$dist_files; do \ 2516 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 2517 if test -d $$d/$$file; then \ 2518 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 2519 if test -d "$(distdir)/$$file"; then \ 2520 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 2521 fi; \ 2522 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 2523 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 2524 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 2525 fi; \ 2526 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 2527 else \ 2528 test -f "$(distdir)/$$file" \ 2529 || cp -p $$d/$$file "$(distdir)/$$file" \ 2530 || exit 1; \ 2531 fi; \ 2532 done 2533 check-am: all-am 2534 check: $(BUILT_SOURCES) 2535 $(MAKE) $(AM_MAKEFLAGS) check-am 2536 all-am: Makefile $(PROGRAMS) 2537 installdirs: 2538 for dir in "$(DESTDIR)$(cfa_cpplibdir)"; do \ 2539 test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 2540 done 2541 install: $(BUILT_SOURCES) 2542 $(MAKE) $(AM_MAKEFLAGS) install-am 2543 install-exec: install-exec-am 2544 install-data: install-data-am 2545 uninstall: uninstall-am 2546 2547 install-am: all-am 2548 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 2549 2550 installcheck: installcheck-am 2551 install-strip: 2552 if test -z '$(STRIP)'; then \ 2553 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 2554 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 2555 install; \ 2556 else \ 2557 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 2558 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 2559 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 2560 fi 2561 mostlyclean-generic: 2562 2563 clean-generic: 2564 2565 distclean-generic: 2566 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 2567 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 2568 -rm -f CodeGen/$(DEPDIR)/$(am__dirstamp) 2569 -rm -f CodeGen/$(am__dirstamp) 2570 -rm -f Common/$(DEPDIR)/$(am__dirstamp) 2571 -rm -f Common/$(am__dirstamp) 2572 -rm -f ControlStruct/$(DEPDIR)/$(am__dirstamp) 2573 -rm -f ControlStruct/$(am__dirstamp) 2574 -rm -f Designators/$(DEPDIR)/$(am__dirstamp) 2575 -rm -f Designators/$(am__dirstamp) 2576 -rm -f GenPoly/$(DEPDIR)/$(am__dirstamp) 2577 -rm -f GenPoly/$(am__dirstamp) 2578 -rm -f InitTweak/$(DEPDIR)/$(am__dirstamp) 2579 -rm -f InitTweak/$(am__dirstamp) 2580 -rm -f Parser/$(DEPDIR)/$(am__dirstamp) 2581 -rm -f Parser/$(am__dirstamp) 2582 -rm -f ResolvExpr/$(DEPDIR)/$(am__dirstamp) 2583 -rm -f ResolvExpr/$(am__dirstamp) 2584 -rm -f SymTab/$(DEPDIR)/$(am__dirstamp) 2585 -rm -f SymTab/$(am__dirstamp) 2586 -rm -f SynTree/$(DEPDIR)/$(am__dirstamp) 2587 -rm -f SynTree/$(am__dirstamp) 2588 -rm -f Tuples/$(DEPDIR)/$(am__dirstamp) 2589 -rm -f Tuples/$(am__dirstamp) 2590 2591 maintainer-clean-generic: 2592 @echo "This command is intended for maintainers to use" 2593 @echo "it deletes files that may require special tools to rebuild." 2594 -rm -f Parser/lex.cc 2595 -rm -f Parser/parser.cc 2596 -rm -f Parser/parser.h 2597 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) 2598 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) 2599 clean: clean-am 2600 2601 clean-am: clean-cfa_cpplibPROGRAMS clean-generic mostlyclean-am 2602 2603 distclean: distclean-am 2604 -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) 2605 -rm -f Makefile 2606 distclean-am: clean-am distclean-compile distclean-generic \ 2607 distclean-tags 2608 2609 dvi: dvi-am 2610 2611 dvi-am: 2612 2613 html: html-am 2614 2615 html-am: 2616 2617 info: info-am 2618 2619 info-am: 2620 2621 install-data-am: install-cfa_cpplibPROGRAMS 2622 2623 install-dvi: install-dvi-am 2624 2625 install-dvi-am: 2626 2627 install-exec-am: 2628 2629 install-html: install-html-am 2630 2631 install-html-am: 2632 2633 install-info: install-info-am 2634 2635 install-info-am: 2636 2637 install-man: 2638 2639 install-pdf: install-pdf-am 2640 2641 install-pdf-am: 2642 2643 install-ps: install-ps-am 2644 2645 install-ps-am: 2646 2647 installcheck-am: 2648 2649 maintainer-clean: maintainer-clean-am 2650 -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) 2651 -rm -f Makefile 2652 maintainer-clean-am: distclean-am maintainer-clean-generic 2653 2654 mostlyclean: mostlyclean-am 2655 2656 mostlyclean-am: mostlyclean-compile mostlyclean-generic 2657 2658 pdf: pdf-am 2659 2660 pdf-am: 2661 2662 ps: ps-am 2663 2664 ps-am: 2665 2666 uninstall-am: uninstall-cfa_cpplibPROGRAMS 2667 2668 .MAKE: all check install install-am install-strip 2669 2670 .PHONY: CTAGS GTAGS all all-am check check-am clean \ 2671 clean-cfa_cpplibPROGRAMS clean-generic ctags distclean \ 2672 distclean-compile distclean-generic distclean-tags distdir dvi \ 2673 dvi-am html html-am info info-am install install-am \ 2674 install-cfa_cpplibPROGRAMS install-data install-data-am \ 2675 install-dvi install-dvi-am install-exec install-exec-am \ 2676 install-html install-html-am install-info install-info-am \ 2677 install-man install-pdf install-pdf-am install-ps \ 2678 install-ps-am install-strip installcheck installcheck-am \ 2679 installdirs maintainer-clean maintainer-clean-generic \ 2680 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ 2681 ps ps-am tags uninstall uninstall-am \ 2682 uninstall-cfa_cpplibPROGRAMS 2683 2684 2685 #SRC += ArgTweak/Rewriter.cc \ 2686 # ArgTweak/Mutate.cc 2687 2688 # Tuples/MultipleAssign.cc \ 2689 # Tuples/FlattenTuple.cc \ 2690 # Tuples/MultRet.cc \ 2691 # Tuples/FixReturn.cc \ 2692 # Tuples/MassAssignment.cc \ 2693 # Tuples/TupleFixer.cc 2694 2695 # Tell versions [3.59,3.63) of GNU make to not export all variables. 2696 # Otherwise a system limit (for SysV at least) may be exceeded. 2697 .NOEXPORT: -
src/Parser/DeclarationNode.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 21 09:28:54201513 // Update Count : 1312 // Last Modified On : Wed Jun 24 15:29:19 2015 13 // Update Count : 86 14 14 // 15 15 … … 21 21 22 22 #include "TypeData.h" 23 24 #include "SynTree/Declaration.h" 23 25 #include "SynTree/Expression.h" 24 26 27 #include "Parser.h" 28 #include "TypedefTable.h" 29 extern TypedefTable typedefTable; 25 30 26 31 using namespace std; 27 32 28 33 // These must remain in the same order as the corresponding DeclarationNode enumerations. 34 const char *DeclarationNode::storageName[] = { "extern", "static", "auto", "register", "inline", "fortran", "_Noreturn", "_Thread_local", "" }; 29 35 const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" }; 30 36 const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" }; 31 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };32 const char *DeclarationNode:: tyConName[] = { "struct", "union", "context" };37 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" }; 38 const char *DeclarationNode::aggregateName[] = { "struct", "union", "context" }; 33 39 const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" }; 34 40 … … 63 69 } 64 70 65 const char *storageClassName[] = {66 // order must correspond with DeclarationNode::StorageClass67 "extern",68 "static",69 "auto",70 "register",71 "inline",72 "fortran",73 };74 75 71 void DeclarationNode::print( std::ostream &os, int indent ) const { 76 os << string( indent, ' ' );72 os << string( indent, ' ' ); 77 73 if ( name == "" ) { 78 74 os << "unnamed: "; 79 75 } else { 80 76 os << name << ": "; 81 } 77 } // if 82 78 83 79 if ( linkage != LinkageSpec::Cforall ) { 84 80 os << LinkageSpec::toString( linkage ) << " "; 85 } 86 87 printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os );81 } // if 82 83 printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os ); 88 84 if ( type ) { 89 85 type->print( os, indent ); 90 86 } else { 91 87 os << "untyped entity "; 92 } 88 } // if 93 89 94 90 if ( bitfieldWidth ) { 95 os << endl << string( indent+2, ' ') << "with bitfield width ";91 os << endl << string( indent + 2, ' ' ) << "with bitfield width "; 96 92 bitfieldWidth->printOneLine( os ); 97 } 93 } // if 98 94 99 95 if ( initializer != 0 ) { 100 os << endl << string( indent+2, ' ') << "with initializer ";96 os << endl << string( indent + 2, ' ' ) << "with initializer "; 101 97 initializer->printOneLine( os ); 102 } 98 } // if 103 99 104 100 os << endl; … … 109 105 if ( hasEllipsis ) { 110 106 os << string( indent, ' ' ) << "and a variable number of other arguments" << endl; 111 } 107 } // if 112 108 } 113 109 … … 123 119 if ( body ) { 124 120 newnode->type->function->hasBody = true; 125 } 121 } // if 126 122 127 123 if ( ret ) { … … 129 125 ret->type = 0; 130 126 delete ret; 131 } 127 } // if 132 128 133 129 return newnode; … … 141 137 } 142 138 143 DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) {139 DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) { 144 140 DeclarationNode *newnode = new DeclarationNode; 145 141 newnode->storageClasses.push_back( sc ); … … 161 157 } 162 158 163 DeclarationNode *DeclarationNode::newForall( DeclarationNode *forall ) {159 DeclarationNode *DeclarationNode::newForall( DeclarationNode *forall ) { 164 160 DeclarationNode *newnode = new DeclarationNode; 165 161 newnode->type = new TypeData( TypeData::Unknown ); … … 168 164 } 169 165 170 DeclarationNode *DeclarationNode::newFromTypedef( std::string *name ) {166 DeclarationNode *DeclarationNode::newFromTypedef( std::string *name ) { 171 167 DeclarationNode *newnode = new DeclarationNode; 172 168 newnode->type = new TypeData( TypeData::SymbolicInst ); … … 177 173 } 178 174 179 DeclarationNode *DeclarationNode::newAggregate( TyCon kind, std::string*name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) { 180 176 DeclarationNode *newnode = new DeclarationNode; 181 177 newnode->type = new TypeData( TypeData::Aggregate ); … … 184 180 if ( newnode->type->aggregate->name == "" ) { 185 181 newnode->type->aggregate->name = DeclarationNode::anonymous.newName(); 186 } 182 } // if 183 184 // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by 185 // "struct" 186 typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD ); 187 DeclarationNode *typedf = new DeclarationNode; 188 typedf->name = newnode->type->aggregate->name; 189 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 190 187 191 newnode->type->aggregate->params = formals; 188 192 newnode->type->aggregate->actuals = actuals; … … 198 202 if ( newnode->type->enumeration->name == "" ) { 199 203 newnode->type->enumeration->name = DeclarationNode::anonymous.newName(); 200 } 204 } // if 205 206 // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified 207 // by "enum" 208 typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD ); 209 DeclarationNode *typedf = new DeclarationNode; 210 typedf->name = newnode->type->enumeration->name; 211 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 212 201 213 newnode->type->enumeration->constants = constants; 202 214 return newnode; 203 215 } 204 216 205 DeclarationNode *DeclarationNode::newEnumConstant( std::string *name, ExpressionNode *constant ) {217 DeclarationNode *DeclarationNode::newEnumConstant( std::string *name, ExpressionNode *constant ) { 206 218 DeclarationNode *newnode = new DeclarationNode; 207 219 newnode->name = assign_strptr( name ); … … 210 222 } 211 223 212 DeclarationNode *DeclarationNode::newName( std::string *name ) {224 DeclarationNode *DeclarationNode::newName( std::string *name ) { 213 225 DeclarationNode *newnode = new DeclarationNode; 214 226 newnode->name = assign_strptr( name ); … … 216 228 } 217 229 218 DeclarationNode *DeclarationNode::newFromTypeGen( std::string *name, ExpressionNode *params ) {230 DeclarationNode *DeclarationNode::newFromTypeGen( std::string *name, ExpressionNode *params ) { 219 231 DeclarationNode *newnode = new DeclarationNode; 220 232 newnode->type = new TypeData( TypeData::SymbolicInst ); … … 225 237 } 226 238 227 DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string *name ) {239 DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string *name ) { 228 240 DeclarationNode *newnode = new DeclarationNode; 229 241 newnode->name = assign_strptr( name ); … … 331 343 } else { 332 344 dst->forall = src->forall; 333 } 345 } // if 334 346 src->forall = 0; 335 } 347 } // if 336 348 if ( dst->base ) { 337 349 addQualifiersToType( src, dst->base ); … … 341 353 } else { 342 354 dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers ); 343 } 344 } 355 } // if 356 } // if 345 357 } 346 358 … … 351 363 if ( ! type ) { 352 364 type = new TypeData; 353 } 365 } // if 354 366 addQualifiersToType( q->type, type ); 355 367 if ( q->type && q->type->forall ) { … … 357 369 type->forall->appendList( q->type->forall ); 358 370 } else { 359 type->forall = q->type->forall; 360 } 371 if ( type->kind == TypeData::Aggregate ) { 372 type->aggregate->params = q->type->forall; 373 } else { 374 type->forall = q->type->forall; 375 } // if 376 } // if 361 377 q->type->forall = 0; 362 } 363 } 364 } 378 } // if 379 } // if 380 } // if 365 381 delete q; 366 382 return this; … … 379 395 } else { 380 396 dst->forall = src->forall; 381 } 397 } // if 382 398 src->forall = 0; 383 } 399 } // if 384 400 if ( dst->base ) { 385 401 addTypeToType( src, dst->base ); … … 398 414 dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers ); 399 415 dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec ); 400 } 416 } // if 401 417 break; 402 418 … … 409 425 if ( src->kind == TypeData::Aggregate ) { 410 426 dst->base->aggInst->params = maybeClone( src->aggregate->actuals ); 411 } 427 } // if 412 428 dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers ); 413 429 src = 0; … … 419 435 } else { 420 436 dst->forall = src->forall; 421 } 437 } // if 422 438 src->forall = 0; 423 439 dst->base = src; 424 440 src = 0; 425 } 426 } 427 } 428 } 441 } // switch 442 } // switch 443 } // if 444 } // if 429 445 } 430 446 … … 439 455 if ( o->type->kind == TypeData::Aggregate ) { 440 456 type->aggInst->params = maybeClone( o->type->aggregate->actuals ); 441 } 457 } // if 442 458 type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers ); 443 459 } else { 444 460 type = o->type; 445 } 461 } // if 446 462 o->type = 0; 447 463 } else { 448 464 addTypeToType( o->type, type ); 449 } 450 } 465 } // if 466 } // if 451 467 if ( o->bitfieldWidth ) { 452 468 bitfieldWidth = o->bitfieldWidth; 453 } 454 } 469 } // if 470 } // if 455 471 delete o; 456 472 return this; … … 467 483 } 468 484 469 DeclarationNode *DeclarationNode::addAssertions( DeclarationNode *assertions ) {485 DeclarationNode *DeclarationNode::addAssertions( DeclarationNode *assertions ) { 470 486 assert( type ); 471 487 switch ( type->kind ) { … … 475 491 } else { 476 492 type->symbolic->assertions = assertions; 477 } 493 } // if 478 494 break; 479 480 495 case TypeData::Variable: 481 496 if ( type->variable->assertions ) { … … 483 498 } else { 484 499 type->variable->assertions = assertions; 485 } 500 } // if 486 501 break; 487 488 502 default: 489 503 assert( false ); 490 } 504 } // switch 491 505 492 506 return this; 493 507 } 494 508 495 DeclarationNode *DeclarationNode::addName( std::string *newname ) {509 DeclarationNode *DeclarationNode::addName( std::string *newname ) { 496 510 name = assign_strptr( newname ); 497 511 return this; … … 526 540 } 527 541 528 static void 529 setBase( TypeData *&type, TypeData *newType ) { 542 static void setBase( TypeData *&type, TypeData *newType ) { 530 543 if ( type ) { 531 544 TypeData *prevBase = type; … … 534 547 prevBase = curBase; 535 548 curBase = curBase->base; 536 } 549 } // while 537 550 prevBase->base = newType; 538 551 } else { 539 552 type = newType; 540 } 553 } // if 541 554 } 542 555 … … 547 560 p->type = 0; 548 561 delete p; 549 } 562 } // if 550 563 return this; 551 564 } … … 557 570 a->type = 0; 558 571 delete a; 559 } 572 } // if 560 573 return this; 561 574 } … … 572 585 if ( type->kind == TypeData::Aggregate ) { 573 586 p->type->base->aggInst->params = maybeClone( type->aggregate->actuals ); 574 } 587 } // if 575 588 p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers ); 576 589 break; … … 578 591 default: 579 592 p->type->base = type; 580 } 593 } // switch 581 594 type = 0; 582 } 595 } // if 583 596 delete this; 584 597 return p; 585 598 } else { 586 599 return this; 587 } 600 } // if 588 601 } 589 602 … … 593 606 while ( cur->base ) { 594 607 cur = cur->base; 595 } 608 } // while 596 609 return cur; 597 610 } … … 609 622 if ( type->kind == TypeData::Aggregate ) { 610 623 lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals ); 611 } 624 } // if 612 625 lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers ); 613 626 break; 614 627 default: 615 628 lastArray->base = type; 616 } 629 } // switch 617 630 type = 0; 618 } 631 } // if 619 632 delete this; 620 633 return a; 621 634 } else { 622 635 return this; 623 } 636 } // if 624 637 } 625 638 … … 637 650 } else { 638 651 type->function->idList = ids; 639 } 652 } // if 640 653 return type; 641 654 } else { … … 643 656 newtype->function->idList = ids; 644 657 return newtype; 645 } 658 } // if 646 659 } 647 660 … … 662 675 while ( srcType->base ) { 663 676 srcType = srcType->base; 664 } 677 } // while 665 678 newnode->type = maybeClone( srcType ); 666 679 if ( newnode->type->kind == TypeData::AggregateInst ) { … … 673 686 delete newnode->type->aggInst->aggregate->aggregate->members; 674 687 newnode->type->aggInst->aggregate->aggregate->members = 0; 675 } 676 } 688 } // if 689 } // if 677 690 newnode->type->forall = maybeClone( type->forall ); 678 691 newnode->storageClasses = storageClasses; … … 688 701 while ( srcType->base ) { 689 702 srcType = srcType->base; 690 } 703 } // while 691 704 TypeData *newType = srcType->clone(); 692 705 if ( newType->kind == TypeData::AggregateInst ) { … … 699 712 delete newType->aggInst->aggregate->aggregate->members; 700 713 newType->aggInst->aggregate->aggregate->members = 0; 701 } 702 } 714 } // if 715 } // if 703 716 newType->forall = maybeClone( type->forall ); 704 717 if ( ! o->type ) { … … 707 720 addTypeToType( newType, o->type ); 708 721 delete newType; 709 } 710 } 711 } 722 } // if 723 } // if 724 } // if 712 725 return o; 713 726 } … … 731 744 addTypeToType( newType, o->type ); 732 745 delete newType; 733 } 734 } 735 } 746 } // if 747 } // if 748 } // if 736 749 return o; 737 750 } … … 740 753 if ( node != 0 ) { 741 754 set_link( node ); 742 } 755 } // if 743 756 return this; 744 757 } … … 756 769 } 757 770 758 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ) {771 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ) { 759 772 SemanticError errors; 760 std::back_insert_iterator< std::list< Declaration *> > out( outputList );773 std::back_insert_iterator< std::list< Declaration *> > out( outputList ); 761 774 const DeclarationNode *cur = firstNode; 762 775 while ( cur ) { … … 776 789 errors.append( e ); 777 790 } // try 778 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );791 cur = dynamic_cast< DeclarationNode *>( cur->get_link() ); 779 792 } // while 780 793 if ( ! errors.isEmpty() ) { … … 783 796 } 784 797 785 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ) {798 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ) { 786 799 SemanticError errors; 787 std::back_insert_iterator< std::list< DeclarationWithType *> > out( outputList );800 std::back_insert_iterator< std::list< DeclarationWithType *> > out( outputList ); 788 801 const DeclarationNode *cur = firstNode; 789 802 while ( cur ) { … … 799 812 Declaration *decl = cur->build(); 800 813 if ( decl ) { 801 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType *>( decl ) ) {814 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType *>( decl ) ) { 802 815 *out++ = dwt; 803 } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) {816 } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) { 804 817 StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() ); 805 *out++ = new ObjectDecl( "", Declaration ::NoStorageClass, linkage, 0, inst, 0 );818 *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 ); 806 819 delete agg; 807 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) {820 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) { 808 821 UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() ); 809 *out++ = new ObjectDecl( "", Declaration ::NoStorageClass, linkage, 0, inst, 0 );822 *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 ); 810 823 } // if 811 824 } // if … … 813 826 errors.append( e ); 814 827 } // try 815 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );828 cur = dynamic_cast< DeclarationNode *>( cur->get_link() ); 816 829 } // while 817 830 if ( ! errors.isEmpty() ) { … … 820 833 } 821 834 822 void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList ) {835 void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList ) { 823 836 SemanticError errors; 824 std::back_insert_iterator< std::list< Type *> > out( outputList );837 std::back_insert_iterator< std::list< Type *> > out( outputList ); 825 838 const DeclarationNode *cur = firstNode; 826 839 while ( cur ) { … … 830 843 errors.append( e ); 831 844 } // try 832 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );845 cur = dynamic_cast< DeclarationNode *>( cur->get_link() ); 833 846 } // while 834 847 if ( ! errors.isEmpty() ) { … … 839 852 Declaration *DeclarationNode::build() const { 840 853 if ( type ) { 841 Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), build Inline(), linkage, maybeBuild< Initializer >(initializer) );854 Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) ); 842 855 return newDecl; 843 856 } // if 844 if ( ! build Inline() ) {857 if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn ) ) { 845 858 return new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) ); 846 859 } // if 847 throw SemanticError( "invalid inline specificationin declaration of ", this );860 throw SemanticError( "invalid function specifier in declaration of ", this ); 848 861 } 849 862 … … 882 895 } 883 896 884 Declaration::StorageClass DeclarationNode::buildStorageClass() const { 885 static const Declaration::StorageClass scMap[] = { 886 Declaration::Extern, 887 Declaration::Static, 888 Declaration::Auto, 889 Declaration::Register, 890 Declaration::Inline, 891 Declaration::Fortran 892 }; 893 894 Declaration::StorageClass ret = Declaration::NoStorageClass; 895 for ( std::list< StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) { 896 assert( unsigned( *i ) < sizeof( scMap ) / sizeof( scMap[0] ) ); 897 if ( *i == Inline ) continue; 898 if ( ret != Declaration::NoStorageClass ) { 897 DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const { 898 DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass; 899 for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) { 900 if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers 901 if ( ret != DeclarationNode::NoStorageClass ) { // already have a valid storage class ? 899 902 throw SemanticError( "invalid combination of storage classes in declaration of ", this ); 900 } 901 ret = scMap[ *i ];902 } 903 } // if 904 ret = *i; 905 } // for 903 906 return ret; 904 907 } 905 908 906 bool DeclarationNode::build Inline() const {907 std::list< StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), Inline);908 if ( first == storageClasses.end() ) return false; 909 std::list< StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), Inline );910 if ( next == storageClasses.end() ) return true;911 throw SemanticError( "duplicate inline specificationin declaration of ", this );909 bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const { 910 std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key ); 911 if ( first == storageClasses.end() ) return false; // not found 912 first = std::find( ++first, storageClasses.end(), key ); // found 913 if ( first == storageClasses.end() ) return true; // not found again 914 throw SemanticError( "duplicate function specifier in declaration of ", this ); 912 915 } 913 916 -
src/Parser/ExpressionNode.cc
reb50842 r937e51d 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:17:07 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat May 16 13:19:35201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:20:00 2015 13 // Update Count : 158 14 14 // 15 15 … … 17 17 #include <cctype> 18 18 #include <algorithm> 19 #include <sstream> 20 #include <cstdio> 21 #include <climits> 19 22 20 23 #include "ParseNode.h" 21 #include "SynTree/Type.h"22 24 #include "SynTree/Constant.h" 23 25 #include "SynTree/Expression.h" 24 #include "SynTree/Declaration.h"25 26 #include "UnimplementedError.h" 26 27 #include "parseutility.h" … … 31 32 ExpressionNode::ExpressionNode() : ParseNode(), argName( 0 ) {} 32 33 33 ExpressionNode::ExpressionNode( string *name_) : ParseNode( *name_ ), argName( 0 ) { 34 delete name_; 35 } 34 ExpressionNode::ExpressionNode( const string *name_ ) : ParseNode( name_ ), argName( 0 ) {} 36 35 37 36 ExpressionNode::ExpressionNode( const ExpressionNode &other ) : ParseNode( other.name ) { … … 43 42 } 44 43 45 ExpressionNode * ExpressionNode::set_asArgName( std::string *aName ) {44 ExpressionNode * ExpressionNode::set_asArgName( const std::string *aName ) { 46 45 argName = new VarRefNode( aName ); 47 46 return this; … … 55 54 void ExpressionNode::printDesignation( std::ostream &os, int indent ) const { 56 55 if ( argName ) { 57 os << string( ' ', indent) << "(designated by: ";56 os << string( indent, ' ' ) << "(designated by: "; 58 57 argName->printOneLine( os, indent ); 59 58 os << ")" << std::endl; … … 61 60 } 62 61 62 //############################################################################## 63 63 64 NullExprNode::NullExprNode() {} 64 65 … … 85 86 } 86 87 87 // enum ConstantNode::Type = { Integer, Float, Character, String, Range } 88 89 ConstantNode::ConstantNode( void ) : ExpressionNode(), sign( true ), longs(0), size(0) {} 90 91 ConstantNode::ConstantNode( string *name_) : ExpressionNode( name_), sign( true ), longs(0), size(0) {} 92 93 ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), sign( true ), longs(0), size(0) { 94 if ( inVal ) { 95 value = *inVal; 96 delete inVal; 97 } else { 98 value = ""; 99 } // if 100 101 classify( value ); 102 } 103 104 ConstantNode::ConstantNode( const ConstantNode &other ) : ExpressionNode( other ), type( other.type ), value( other.value ), sign( other.sign ), 105 base( other.base ), longs( other.longs ), size( other.size ) { 106 } 107 108 // for some reason, std::tolower doesn't work as an argument to std::transform in g++ 3.1 109 inline char tolower_hack( char c ) { 110 return std::tolower( c ); 111 } 112 113 void ConstantNode::classify( std::string &str ) { 88 //############################################################################## 89 90 static inline bool checkU( char c ) { return c == 'u' || c == 'U'; } 91 static inline bool checkL( char c ) { return c == 'l' || c == 'L'; } 92 static inline bool checkF( char c ) { return c == 'f' || c == 'F'; } 93 static inline bool checkX( char c ) { return c == 'x' || c == 'X'; } 94 95 // Difficult to separate extra parts of constants during lexing because actions are not allow in the middle of patterns: 96 // 97 // prefix action constant action suffix 98 // 99 // Alternatively, breaking a pattern using BEGIN does not work if the following pattern can be empty: 100 // 101 // constant BEGIN CONT ... 102 // <CONT>(...)? BEGIN 0 ... // possible empty suffix 103 // 104 // because the CONT rule is NOT triggered if the pattern is empty. Hence, constants are reparsed here to determine their 105 // type. 106 107 ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), value( *inVal ) { 108 // lexing divides constants into 4 kinds 109 switch ( type ) { 110 case Integer: 111 { 112 static const BasicType::Kind kind[2][3] = { 113 { BasicType::SignedInt, BasicType::LongSignedInt, BasicType::LongLongSignedInt }, 114 { BasicType::UnsignedInt, BasicType::LongUnsignedInt, BasicType::LongLongUnsignedInt }, 115 }; 116 size_t last = value.length() - 1; // last character of constant 117 unsigned long long v; // converted integral value 118 bool dec = true, Unsigned = false; // decimal, unsigned constant 119 int size; // 0 => int, 1 => long, 2 => long long 120 121 if ( value[0] == '0' ) { // octal constant ? 122 dec = false; 123 if ( last != 0 && checkX( value[1] ) ) { // hex constant ? 124 sscanf( (char *)value.c_str(), "%llx", &v ); 125 //printf( "%llx %llu\n", v, v ); 126 } else { 127 sscanf( (char *)value.c_str(), "%llo", &v ); 128 //printf( "%llo %llu\n", v, v ); 129 } // if 130 } else { // decimal constant ? 131 sscanf( (char *)value.c_str(), "%llu", &v ); 132 //printf( "%llu %llu\n", v, v ); 133 } // if 134 135 if ( v <= INT_MAX ) { // signed int 136 size = 0; 137 } else if ( v <= UINT_MAX && ! dec ) { // unsigned int 138 size = 0; 139 Unsigned = true; // unsigned 140 } else if ( v <= LONG_MAX ) { // signed long int 141 size = 1; 142 } else if ( v <= ULONG_MAX && ( ! dec || LONG_MAX == LLONG_MAX ) ) { // signed long int 143 size = 1; 144 Unsigned = true; // unsigned long int 145 } else if ( v <= LLONG_MAX ) { // signed long long int 146 size = 2; 147 } else { // unsigned long long int 148 size = 2; 149 Unsigned = true; // unsigned long long int 150 } // if 151 152 if ( checkU( value[last] ) ) { // suffix 'u' ? 153 Unsigned = true; 154 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'l' ? 155 size = 1; 156 if ( last > 1 && checkL( value[ last - 2 ] ) ) { // suffix 'll' ? 157 size = 2; 158 } // if 159 } // if 160 } else if ( checkL( value[ last ] ) ) { // suffix 'l' ? 161 size = 1; 162 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'll' ? 163 size = 2; 164 if ( last > 1 && checkU( value[ last - 2 ] ) ) { // suffix 'u' ? 165 Unsigned = true; 166 } // if 167 } else { 168 if ( last > 0 && checkU( value[ last - 1 ] ) ) { // suffix 'u' ? 169 Unsigned = true; 170 } // if 171 } // if 172 } // if 173 btype = kind[Unsigned][size]; // lookup constant type 174 break; 175 } 176 case Float: 177 { 178 size_t len = value.length() - 1; 179 180 btype = BasicType::Double; // default 181 if ( checkF( value[len] ) ) { // float ? 182 btype = BasicType::Float; 183 } // if 184 if ( checkL( value[len] ) ) { // long double ? 185 btype = BasicType::LongDouble; 186 } // if 187 break; 188 } 189 case Character: 190 btype = BasicType::Char; // default 191 if ( string( "LUu" ).find( value[0] ) != string::npos ) { 192 // ??? 193 } // if 194 break; 195 case String: 196 // array of char 197 if ( string( "LUu" ).find( value[0] ) != string::npos ) { 198 if ( value[0] == 'u' && value[1] == '8' ) { 199 // ??? 200 } else { 201 // ??? 202 } // if 203 } // if 204 break; 205 } // switch 206 } // ConstantNode::ConstantNode 207 208 ConstantNode *ConstantNode::appendstr( const std::string *newValue ) { 209 assert( newValue != 0 ); 210 assert( type == String ); 211 212 // "abc" "def" "ghi" => "abcdefghi", so remove new text from quotes and insert before last quote in old string. 213 value.insert( value.length() - 1, newValue->substr( 1, newValue->length() - 2 ) ); 214 215 delete newValue; // allocated by lexer 216 return this; 217 } 218 219 void ConstantNode::printOneLine( std::ostream &os, int indent ) const { 220 os << string( indent, ' ' ); 221 printDesignation( os ); 222 114 223 switch ( type ) { 115 224 case Integer: 116 225 case Float: 117 {118 std::string sfx("");119 char c;120 int i = str.length() - 1;121 122 while ( i >= 0 && ! isxdigit( c = str.at( i--)) )123 sfx += c;124 125 value = str.substr( 0, i + 2 );126 127 // get rid of underscores128 value.erase( remove( value.begin(), value.end(), '_'), value.end());129 130 std::transform( sfx.begin(), sfx.end(), sfx.begin(), tolower_hack );131 132 if ( sfx.find("ll") != string::npos ) {133 longs = 2;134 } else if ( sfx.find("l") != string::npos ) {135 longs = 1;136 } // if137 138 assert(( longs >= 0) && ( longs <= 2));139 140 if ( sfx.find("u") != string::npos )141 sign = false;142 143 break;144 }145 case Character:146 {147 // remove underscores from hex and oct escapes148 if ( str.substr(1,2) == "\\x")149 value.erase( remove( value.begin(), value.end(), '_'), value.end());150 151 break;152 }153 default:154 // shouldn't be here155 ;156 }157 }158 159 ConstantNode::Type ConstantNode::get_type( void ) const {160 return type;161 }162 163 ConstantNode *ConstantNode::append( std::string *newValue ) {164 if ( newValue ) {165 if ( type == String ) {166 std::string temp = *newValue;167 value.resize( value.size() - 1 );168 value += newValue->substr(1, newValue->size());169 } else170 value += *newValue;171 172 delete newValue;173 } // if174 return this;175 }176 177 void ConstantNode::printOneLine( std::ostream &os, int indent ) const {178 os << string( indent, ' ');179 printDesignation( os );180 181 switch ( type ) {182 /* integers */183 case Integer:184 226 os << value ; 185 227 break; 186 case Float:187 os << value ;188 break;189 190 228 case Character: 191 229 os << "'" << value << "'"; 192 230 break; 193 194 231 case String: 195 232 os << '"' << value << '"'; 196 233 break; 197 } 234 } // switch 198 235 199 236 os << ' '; … … 206 243 207 244 Expression *ConstantNode::build() const { 208 ::Type::Qualifiers q; 209 BasicType *bt; 210 211 switch ( get_type()) { 212 case Integer: 213 /* Cfr. standard 6.4.4.1 */ 214 //bt.set_kind( BasicType::SignedInt ); 215 bt = new BasicType( q, BasicType::SignedInt ); 216 break; 217 case Float: 218 bt = new BasicType( q, BasicType::Float ); 219 break; 220 case Character: 221 bt = new BasicType( q, BasicType::Char ); 222 break; 245 ::Type::Qualifiers q; // no qualifiers on constants 246 247 switch ( get_type() ) { 223 248 case String: 224 // string should probably be a primitive type 225 ArrayType *at; 226 std::string value = get_value(); 227 at = new ArrayType( q, new BasicType( q, BasicType::Char ), 228 new ConstantExpr( Constant( new BasicType( q, BasicType::SignedInt ), 229 toString( value.size() - 1 ) ) ), // account for '\0' 230 false, false ); 231 return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) ); 249 { 250 // string should probably be a primitive type 251 ArrayType *at = new ArrayType( q, new BasicType( q, BasicType::Char ), 252 new ConstantExpr( 253 Constant( new BasicType( q, BasicType::UnsignedInt ), 254 toString( value.size()+1-2 ) ) ), // +1 for '\0' and -2 for '"' 255 false, false ); 256 return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) ); 257 } 258 default: 259 return new ConstantExpr( Constant( new BasicType( q, btype ), get_value() ), maybeBuild< Expression >( get_argName() ) ); 232 260 } 233 return new ConstantExpr( Constant( bt, get_value()), maybeBuild< Expression >( get_argName() ) ); 234 } 261 } 262 263 //############################################################################## 235 264 236 265 VarRefNode::VarRefNode() : isLabel( false ) {} 237 266 238 VarRefNode::VarRefNode( string *name_, bool labelp ) : ExpressionNode( name_), isLabel( labelp ) {}267 VarRefNode::VarRefNode( const string *name_, bool labelp ) : ExpressionNode( name_ ), isLabel( labelp ) {} 239 268 240 269 VarRefNode::VarRefNode( const VarRefNode &other ) : ExpressionNode( other ), isLabel( other.isLabel ) { … … 252 281 void VarRefNode::print( std::ostream &os, int indent ) const { 253 282 printDesignation( os ); 254 os << '\r' << string( indent, ' ') << "Referencing: ";283 os << string( indent, ' ' ) << "Referencing: "; 255 284 os << "Variable: " << get_name(); 256 285 os << endl; 257 286 } 258 287 288 //############################################################################## 289 259 290 OperatorNode::OperatorNode( Type t ) : type( t ) {} 260 291 … … 275 306 void OperatorNode::print( std::ostream &os, int indent ) const{ 276 307 printDesignation( os ); 277 os << '\r' << string( indent, ' ') << "Operator: " << OpName[type] << endl;308 os << string( indent, ' ' ) << "Operator: " << OpName[type] << endl; 278 309 return; 279 310 } 280 311 281 std::stringOperatorNode::get_typename( void ) const{282 return string( OpName[ type ]);312 const char *OperatorNode::get_typename( void ) const{ 313 return OpName[ type ]; 283 314 } 284 315 … … 288 319 "Cond", "NCond", 289 320 // diadic 290 "SizeOf", "AlignOf", "Attr", "CompLit", "Plus", "Minus", "Mul", "Div", "Mod", "Or",321 "SizeOf", "AlignOf", "Attr", "CompLit", "Plus", "Minus", "Mul", "Div", "Mod", "Or", 291 322 "And", "BitOr", "BitAnd", "Xor", "Cast", "LShift", "RShift", "LThan", "GThan", 292 323 "LEThan", "GEThan", "Eq", "Neq", "Assign", "MulAssn", "DivAssn", "ModAssn", "PlusAssn", … … 297 328 }; 298 329 330 //############################################################################## 331 299 332 CompositeExprNode::CompositeExprNode( void ) : ExpressionNode(), function( 0 ), arguments( 0 ) { 300 333 } 301 334 302 CompositeExprNode::CompositeExprNode( string *name_) : ExpressionNode( name_), function( 0 ), arguments( 0 ) {335 CompositeExprNode::CompositeExprNode( const string *name_ ) : ExpressionNode( name_ ), function( 0 ), arguments( 0 ) { 303 336 } 304 337 … … 331 364 // the names that users use to define operator functions 332 365 static const char *opFuncName[] = { 333 "", "","",334 "", "",335 // diadic336 "", "", "", "", "?+?", "?-?", "?*?", "?/?", "?%?", "","",337 "?|?", "?&?", "?^?", "", "?<<?", "?>>?", "?<?", "?>?","?<=?",338 "?>=?", "?==?", "?!=?", "?=?", "?*=?", "?/=?", "?%=?", "?+=?","?-=?",339 "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?", "?[?]", "","","Range",340 // monadic341 "+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "LabAddress"366 "", "", "", 367 "", "", 368 //diadic 369 "", "", "", "", "?+?", "?-?", "?*?", "?/?", "?%?", "", "", 370 "?|?", "?&?", "?^?", "", "?<<?", "?>>?", "?<?", "?>?", "?<=?", 371 "?>=?", "?==?", "?!=?", "?=?", "?*=?", "?/=?", "?%=?", "?+=?", "?-=?", 372 "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?", "?[?]", "", "", "Range", 373 //monadic 374 "+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "&&" 342 375 }; 343 376 … … 350 383 buildList( get_args(), args ); 351 384 352 if ( ! ( op = dynamic_cast<OperatorNode *>( function )) ) { 353 // a function as opposed to an operator 385 if ( ! ( op = dynamic_cast<OperatorNode *>( function ) ) ) { // function as opposed to operator 354 386 return new UntypedExpr( function->build(), args, maybeBuild< Expression >( get_argName() )); 355 } else { 356 switch ( op->get_type()) { 357 case OperatorNode::Incr: 358 case OperatorNode::Decr: 359 case OperatorNode::IncrPost: 360 case OperatorNode::DecrPost: 361 case OperatorNode::Assign: 362 case OperatorNode::MulAssn: 363 case OperatorNode::DivAssn: 364 case OperatorNode::ModAssn: 365 case OperatorNode::PlusAssn: 366 case OperatorNode::MinusAssn: 367 case OperatorNode::LSAssn: 368 case OperatorNode::RSAssn: 369 case OperatorNode::AndAssn: 370 case OperatorNode::ERAssn: 371 case OperatorNode::OrAssn: 372 // the rewrite rules for these expressions specify that the first argument has its address taken 373 assert( ! args.empty() ); 374 args.front() = new AddressExpr( args.front() ); 375 break; 376 default: 377 /* do nothing */ 378 ; 379 } 380 381 switch ( op->get_type() ) { 382 case OperatorNode::Incr: 383 case OperatorNode::Decr: 384 case OperatorNode::IncrPost: 385 case OperatorNode::DecrPost: 386 case OperatorNode::Assign: 387 case OperatorNode::MulAssn: 388 case OperatorNode::DivAssn: 389 case OperatorNode::ModAssn: 390 case OperatorNode::PlusAssn: 391 case OperatorNode::MinusAssn: 392 case OperatorNode::LSAssn: 393 case OperatorNode::RSAssn: 394 case OperatorNode::AndAssn: 395 case OperatorNode::ERAssn: 396 case OperatorNode::OrAssn: 397 case OperatorNode::Plus: 398 case OperatorNode::Minus: 399 case OperatorNode::Mul: 400 case OperatorNode::Div: 401 case OperatorNode::Mod: 402 case OperatorNode::BitOr: 403 case OperatorNode::BitAnd: 404 case OperatorNode::Xor: 405 case OperatorNode::LShift: 406 case OperatorNode::RShift: 407 case OperatorNode::LThan: 408 case OperatorNode::GThan: 409 case OperatorNode::LEThan: 410 case OperatorNode::GEThan: 411 case OperatorNode::Eq: 412 case OperatorNode::Neq: 413 case OperatorNode::Index: 414 case OperatorNode::Range: 415 case OperatorNode::UnPlus: 416 case OperatorNode::UnMinus: 417 case OperatorNode::PointTo: 418 case OperatorNode::Neg: 419 case OperatorNode::BitNeg: 420 case OperatorNode::LabelAddress: 421 return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args ); 422 case OperatorNode::AddressOf: 423 assert( args.size() == 1 ); 424 assert( args.front() ); 425 426 return new AddressExpr( args.front() ); 427 case OperatorNode::Cast: 428 { 429 TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()); 430 assert( arg ); 431 432 DeclarationNode *decl_node = arg->get_decl(); 433 ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link()); 434 435 Type *targetType = decl_node->buildType(); 436 if ( dynamic_cast< VoidType* >( targetType ) ) { 437 delete targetType; 438 return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) ); 439 } else { 440 return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) ); 441 } // if 442 } 443 case OperatorNode::FieldSel: 444 { 445 assert( args.size() == 2 ); 446 447 NameExpr *member = dynamic_cast<NameExpr *>( args.back()); 448 // TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back()); 449 450 if ( member != 0 ) { 451 UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front()); 452 delete member; 453 return ret; 454 /* else if ( memberTup != 0 ) 455 { 456 UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front()); 457 delete member; 458 return ret; 459 } */ 460 } else 461 assert( false ); 462 } 463 case OperatorNode::PFieldSel: 464 { 465 assert( args.size() == 2 ); 466 467 NameExpr *member = dynamic_cast<NameExpr *>( args.back()); // modify for Tuples xxx 468 assert( member != 0 ); 469 470 UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) ); 471 deref->get_args().push_back( args.front() ); 472 473 UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref ); 387 } // if 388 389 switch ( op->get_type()) { 390 case OperatorNode::Incr: 391 case OperatorNode::Decr: 392 case OperatorNode::IncrPost: 393 case OperatorNode::DecrPost: 394 case OperatorNode::Assign: 395 case OperatorNode::MulAssn: 396 case OperatorNode::DivAssn: 397 case OperatorNode::ModAssn: 398 case OperatorNode::PlusAssn: 399 case OperatorNode::MinusAssn: 400 case OperatorNode::LSAssn: 401 case OperatorNode::RSAssn: 402 case OperatorNode::AndAssn: 403 case OperatorNode::ERAssn: 404 case OperatorNode::OrAssn: 405 // the rewrite rules for these expressions specify that the first argument has its address taken 406 assert( ! args.empty() ); 407 args.front() = new AddressExpr( args.front() ); 408 break; 409 default: 410 /* do nothing */ 411 ; 412 } 413 414 switch ( op->get_type() ) { 415 case OperatorNode::Incr: 416 case OperatorNode::Decr: 417 case OperatorNode::IncrPost: 418 case OperatorNode::DecrPost: 419 case OperatorNode::Assign: 420 case OperatorNode::MulAssn: 421 case OperatorNode::DivAssn: 422 case OperatorNode::ModAssn: 423 case OperatorNode::PlusAssn: 424 case OperatorNode::MinusAssn: 425 case OperatorNode::LSAssn: 426 case OperatorNode::RSAssn: 427 case OperatorNode::AndAssn: 428 case OperatorNode::ERAssn: 429 case OperatorNode::OrAssn: 430 case OperatorNode::Plus: 431 case OperatorNode::Minus: 432 case OperatorNode::Mul: 433 case OperatorNode::Div: 434 case OperatorNode::Mod: 435 case OperatorNode::BitOr: 436 case OperatorNode::BitAnd: 437 case OperatorNode::Xor: 438 case OperatorNode::LShift: 439 case OperatorNode::RShift: 440 case OperatorNode::LThan: 441 case OperatorNode::GThan: 442 case OperatorNode::LEThan: 443 case OperatorNode::GEThan: 444 case OperatorNode::Eq: 445 case OperatorNode::Neq: 446 case OperatorNode::Index: 447 case OperatorNode::Range: 448 case OperatorNode::UnPlus: 449 case OperatorNode::UnMinus: 450 case OperatorNode::PointTo: 451 case OperatorNode::Neg: 452 case OperatorNode::BitNeg: 453 case OperatorNode::LabelAddress: 454 return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args ); 455 case OperatorNode::AddressOf: 456 assert( args.size() == 1 ); 457 assert( args.front() ); 458 459 return new AddressExpr( args.front() ); 460 case OperatorNode::Cast: 461 { 462 TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()); 463 assert( arg ); 464 465 DeclarationNode *decl_node = arg->get_decl(); 466 ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link()); 467 468 Type *targetType = decl_node->buildType(); 469 if ( dynamic_cast< VoidType* >( targetType ) ) { 470 delete targetType; 471 return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) ); 472 } else { 473 return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) ); 474 } // if 475 } 476 case OperatorNode::FieldSel: 477 { 478 assert( args.size() == 2 ); 479 480 NameExpr *member = dynamic_cast<NameExpr *>( args.back()); 481 // TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back()); 482 483 if ( member != 0 ) { 484 UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front()); 474 485 delete member; 475 486 return ret; 487 /* else if ( memberTup != 0 ) 488 { 489 UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front()); 490 delete member; 491 return ret; 492 } */ 493 } else 494 assert( false ); 495 } 496 case OperatorNode::PFieldSel: 497 { 498 assert( args.size() == 2 ); 499 500 NameExpr *member = dynamic_cast<NameExpr *>( args.back()); // modify for Tuples xxx 501 assert( member != 0 ); 502 503 UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) ); 504 deref->get_args().push_back( args.front() ); 505 506 UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref ); 507 delete member; 508 return ret; 509 } 510 case OperatorNode::AlignOf: 511 case OperatorNode::SizeOf: 512 { 513 /// bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf ); 514 515 if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) { 516 return new SizeofExpr( arg->get_decl()->buildType()); 517 } else { 518 return new SizeofExpr( args.front()); 519 } // if 520 } 521 case OperatorNode::Attr: 522 { 523 VarRefNode *var = dynamic_cast<VarRefNode *>( get_args()); 524 assert( var ); 525 if ( ! get_args()->get_link() ) { 526 return new AttrExpr( var->build(), ( Expression*)0); 527 } else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) { 528 return new AttrExpr( var->build(), arg->get_decl()->buildType()); 529 } else { 530 return new AttrExpr( var->build(), args.back()); 531 } // if 532 } 533 case OperatorNode::CompLit: 534 throw UnimplementedError( "C99 compound literals" ); 535 // the short-circuited operators 536 case OperatorNode::Or: 537 case OperatorNode::And: 538 assert( args.size() == 2); 539 return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) ); 540 case OperatorNode::Cond: 541 { 542 assert( args.size() == 3); 543 std::list< Expression* >::const_iterator i = args.begin(); 544 Expression *arg1 = notZeroExpr( *i++ ); 545 Expression *arg2 = *i++; 546 Expression *arg3 = *i++; 547 return new ConditionalExpr( arg1, arg2, arg3 ); 548 } 549 case OperatorNode::NCond: 550 throw UnimplementedError( "GNU 2-argument conditional expression" ); 551 case OperatorNode::Comma: 552 { 553 assert( args.size() == 2); 554 std::list< Expression* >::const_iterator i = args.begin(); 555 Expression *ret = *i++; 556 while ( i != args.end() ) { 557 ret = new CommaExpr( ret, *i++ ); 476 558 } 477 case OperatorNode::AlignOf: 478 case OperatorNode::SizeOf: 479 { 480 /// bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf ); 481 482 if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) { 483 return new SizeofExpr( arg->get_decl()->buildType()); 484 } else { 485 return new SizeofExpr( args.front()); 486 } // if 487 } 488 case OperatorNode::Attr: 489 { 490 VarRefNode *var = dynamic_cast<VarRefNode *>( get_args()); 491 assert( var ); 492 if ( ! get_args()->get_link() ) { 493 return new AttrExpr( var->build(), ( Expression*)0); 494 } else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) { 495 return new AttrExpr( var->build(), arg->get_decl()->buildType()); 496 } else { 497 return new AttrExpr( var->build(), args.back()); 498 } // if 499 } 500 case OperatorNode::CompLit: 501 throw UnimplementedError( "C99 compound literals" ); 502 // the short-circuited operators 503 case OperatorNode::Or: 504 case OperatorNode::And: 505 assert( args.size() == 2); 506 return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) ); 507 case OperatorNode::Cond: 508 { 509 assert( args.size() == 3); 510 std::list< Expression* >::const_iterator i = args.begin(); 511 Expression *arg1 = notZeroExpr( *i++ ); 512 Expression *arg2 = *i++; 513 Expression *arg3 = *i++; 514 return new ConditionalExpr( arg1, arg2, arg3 ); 515 } 516 case OperatorNode::NCond: 517 throw UnimplementedError( "GNU 2-argument conditional expression" ); 518 case OperatorNode::Comma: 519 { 520 assert( args.size() == 2); 521 std::list< Expression* >::const_iterator i = args.begin(); 522 Expression *ret = *i++; 523 while ( i != args.end() ) { 524 ret = new CommaExpr( ret, *i++ ); 525 } 526 return ret; 527 } 528 // Tuples 529 case OperatorNode::TupleC: 530 { 531 TupleExpr *ret = new TupleExpr(); 532 std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) ); 533 return ret; 534 } 535 default: 536 // shouldn't happen 537 return 0; 538 } 539 } 559 return ret; 560 } 561 // Tuples 562 case OperatorNode::TupleC: 563 { 564 TupleExpr *ret = new TupleExpr(); 565 std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) ); 566 return ret; 567 } 568 default: 569 // shouldn't happen 570 return 0; 571 } // switch 540 572 } 541 573 … … 552 584 void CompositeExprNode::print( std::ostream &os, int indent ) const { 553 585 printDesignation( os ); 554 os << '\r' << string( indent, ' ') << "Application of: " << endl;586 os << string( indent, ' ' ) << "Application of: " << endl; 555 587 function->print( os, indent + ParseNode::indent_by ); 556 588 557 os << '\r' << string( indent, ' ') ;589 os << string( indent, ' ' ) ; 558 590 if ( arguments ) { 559 591 os << "... on arguments: " << endl; … … 586 618 } 587 619 620 //############################################################################## 621 588 622 CommaExprNode::CommaExprNode(): CompositeExprNode( new OperatorNode( OperatorNode::Comma )) {} 589 623 … … 603 637 } 604 638 639 //############################################################################## 640 605 641 ValofExprNode::ValofExprNode( StatementNode *s ): body( s ) {} 606 642 … … 614 650 void ValofExprNode::print( std::ostream &os, int indent ) const { 615 651 printDesignation( os ); 616 os << string( indent, ' ' ) << "Valof Expression:" << std::endl;652 os << string( indent, ' ' ) << "Valof Expression:" << std::endl; 617 653 get_body()->print( os, indent + 4); 618 654 } … … 625 661 return new UntypedValofExpr ( get_body()->build(), maybeBuild< Expression >( get_argName() ) ); 626 662 } 663 664 //############################################################################## 627 665 628 666 ForCtlExprNode::ForCtlExprNode( ParseNode *init_, ExpressionNode *cond, ExpressionNode *incr ) throw ( SemanticError ) : condition( cond ), change( incr ) { … … 633 671 ExpressionNode *exp; 634 672 635 if (( decl = dynamic_cast<DeclarationNode *>( init_)) != 0)673 if (( decl = dynamic_cast<DeclarationNode *>(init_) ) != 0) 636 674 init = new StatementNode( decl ); 637 675 else if (( exp = dynamic_cast<ExpressionNode *>( init_)) != 0) … … 659 697 660 698 void ForCtlExprNode::print( std::ostream &os, int indent ) const{ 661 os << string( indent,' ' ) << "For Control Expression -- :" << endl;662 663 os << "\r" << string( indent + 2,' ') << "initialization: ";664 if ( init != 0 )665 init->print ( os, indent + 4);666 667 os << "\n\r" << string( indent + 2,' ') << "condition: ";668 if ( condition != 0 )669 condition->print( os, indent + 4 );670 os << "\n\r" << string( indent + 2,' ') << "increment: ";671 if ( change != 0 )672 change->print( os, indent + 4 );699 os << string( indent,' ' ) << "For Control Expression -- :" << endl; 700 701 os << string( indent + 2, ' ' ) << "initialization:" << endl; 702 if ( init != 0 ) 703 init->printList( os, indent + 4 ); 704 705 os << string( indent + 2, ' ' ) << "condition: " << endl; 706 if ( condition != 0 ) 707 condition->print( os, indent + 4 ); 708 os << string( indent + 2, ' ' ) << "increment: " << endl; 709 if ( change != 0 ) 710 change->print( os, indent + 4 ); 673 711 } 674 712 … … 677 715 } 678 716 679 TypeValueNode::TypeValueNode( DeclarationNode *decl ) 680 : decl( decl ) { 681 } 682 683 TypeValueNode::TypeValueNode( const TypeValueNode &other ) 684 : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {717 //############################################################################## 718 719 TypeValueNode::TypeValueNode( DeclarationNode *decl ) : decl( decl ) { 720 } 721 722 TypeValueNode::TypeValueNode( const TypeValueNode &other ) : ExpressionNode( other ), decl( maybeClone( other.decl ) ) { 685 723 } 686 724 … … 700 738 701 739 ExpressionNode *flattenCommas( ExpressionNode *list ) { 702 if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) ) 703 { 704 OperatorNode *op; 705 if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) ) 706 { 707 if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) ) 708 composite->add_arg( next ); 709 return flattenCommas( composite->get_args() ); 710 } 711 } 740 if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) ) { 741 OperatorNode *op; 742 if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) ) { 743 if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) ) 744 composite->add_arg( next ); 745 return flattenCommas( composite->get_args() ); 746 } // if 747 } // if 712 748 713 749 if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) ) … … 722 758 if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::TupleC ) ) 723 759 return composite->get_args(); 724 } 760 } // if 725 761 return tuple; 726 762 } -
src/Parser/InitializerNode.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 13:20:24 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 13:21:40201513 // Update Count : 212 // Last Modified On : Sat Jun 6 15:49:42 2015 13 // Update Count : 3 14 14 // 15 15 … … 48 48 49 49 void InitializerNode::print( std::ostream &os, int indent ) const { 50 os << std::string( indent, ' ') << "Initializer expression" << std::endl;50 os << std::string( indent, ' ' ) << "Initializer expression" << std::endl; 51 51 } 52 52 -
src/Parser/ParseNode.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 13:26:29 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:48:30201513 // Update Count : 312 // Last Modified On : Sat Jun 6 20:17:58 2015 13 // Update Count : 23 14 14 // 15 15 … … 20 20 int ParseNode::indent_by = 4; 21 21 22 ParseNode::ParseNode( void ) :next( 0 ) {};23 ParseNode::ParseNode( string _name ) : name( _name), next( 0 ) {}22 ParseNode::ParseNode() : name( 0 ), next( 0 ) {}; 23 ParseNode::ParseNode( const string *name_ ) : name( name_ ), next( 0 ) {} 24 24 25 ParseNode *ParseNode::set_name( string _name ) { 26 name = _name; 27 return this; 28 } 29 30 ParseNode *ParseNode::set_name( string *_name ) { 31 name = *_name; // deep copy 32 delete _name; 33 34 return this; 35 } 36 37 ParseNode::~ParseNode( void ) { 25 ParseNode::~ParseNode() { 38 26 delete next; 39 27 }; 40 28 41 string ParseNode::get_name( void ) { 42 return name; 43 } 44 45 ParseNode *ParseNode::get_link( void ) const { 29 ParseNode *ParseNode::get_link() const { 46 30 return next; 47 31 } 48 32 49 ParseNode *ParseNode::get_last( void) {33 ParseNode *ParseNode::get_last() { 50 34 ParseNode *current = this; 51 35 … … 56 40 } 57 41 58 ParseNode *ParseNode::set_link( ParseNode *_next) {42 ParseNode *ParseNode::set_link( ParseNode *next_ ) { 59 43 ParseNode *follow; 60 44 61 if ( _next== 0 ) return this;45 if ( next_ == 0 ) return this; 62 46 63 47 for ( follow = this; follow->next != 0; follow = follow->next ); 64 follow->next = _next;48 follow->next = next_; 65 49 66 50 return this; 67 51 } 68 52 69 const string ParseNode::get_name(void) const { 70 return name; 71 } 72 73 void ParseNode::print(std::ostream &os, int indent) const {} 53 void ParseNode::print( std::ostream &os, int indent ) const {} 74 54 75 55 … … 78 58 79 59 if ( next ) { 80 next->printList( os, indent );81 } 60 next->printList( os, indent ); 61 } // if 82 62 } 83 63 -
src/Parser/ParseNode.h
reb50842 r937e51d 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 13:30:24201513 // Update Count : 312 // Last Modified On : Wed Jun 24 14:09:51 2015 13 // Update Count : 81 14 14 // 15 15 … … 22 22 23 23 #include "utility.h" 24 #include "SynTree/Declaration.h" 24 #include "Parser/LinkageSpec.h" 25 #include "SynTree/Type.h" 26 //#include "SynTree/Declaration.h" 25 27 #include "UniqueName.h" 26 28 … … 36 38 class ParseNode { 37 39 public: 38 ParseNode( void ); 39 ParseNode ( std::string ); 40 virtual ~ParseNode( void ); 41 42 ParseNode *set_name ( std::string ) ; 43 ParseNode *set_name ( std::string * ) ; 44 45 std::string get_name( void ); 46 47 ParseNode *get_link( void ) const; 48 ParseNode *get_last( void ); 40 ParseNode(); 41 ParseNode( const std::string * ); 42 virtual ~ParseNode(); 43 44 ParseNode *get_link() const; 45 ParseNode *get_last(); 49 46 ParseNode *set_link( ParseNode * ); 50 47 void set_next( ParseNode *newlink ) { next = newlink; } … … 52 49 virtual ParseNode *clone() const { return 0; }; 53 50 54 const std::string get_name( void ) const;51 const std::string &get_name() const { return *name; } 55 52 virtual void print( std::ostream &, int indent = 0 ) const; 56 53 virtual void printList( std::ostream &, int indent = 0 ) const; … … 58 55 ParseNode &operator,( ParseNode &); 59 56 protected: 60 std::stringname;57 const std::string *name; 61 58 ParseNode *next; 62 59 static int indent_by; … … 68 65 public: 69 66 ExpressionNode(); 70 ExpressionNode( std::string * );67 ExpressionNode( const std::string * ); 71 68 ExpressionNode( const ExpressionNode &other ); 72 69 virtual ~ExpressionNode() {} // cannot delete asArgName because it might be referenced elsewhere … … 77 74 78 75 ExpressionNode *get_argName() const { return argName; } 79 ExpressionNode *set_asArgName( std::string *aName );76 ExpressionNode *set_asArgName( const std::string *aName ); 80 77 ExpressionNode *set_asArgName( ExpressionNode *aDesignator ); 81 78 … … 105 102 class ConstantNode : public ExpressionNode { 106 103 public: 107 enum Type { 108 Integer, Float, Character, String /* , Range, EnumConstant */ 109 }; 110 111 ConstantNode( void ); 112 ConstantNode( std::string * ); 104 enum Type { Integer, Float, Character, String }; 105 113 106 ConstantNode( Type, std::string * ); 114 ConstantNode( const ConstantNode &other );115 107 116 108 virtual ConstantNode *clone() const { return new ConstantNode( *this ); } 117 118 Type get_type( void ) const ; 109 Type get_type( void ) const { return type; } 119 110 virtual void print( std::ostream &, int indent = 0) const; 120 111 virtual void printOneLine( std::ostream &, int indent = 0) const; 121 112 122 std::stringget_value() const { return value; }123 ConstantNode *append (std::string *newValue );113 const std::string &get_value() const { return value; } 114 ConstantNode *appendstr( const std::string *newValue ); 124 115 125 116 Expression *build() const; 126 117 private: 127 void classify( std::string &);128 118 Type type; 129 std::string value; 130 bool sign; 131 short base; 132 int longs, size; 119 BasicType::Kind btype; 120 std::string &value; 133 121 }; 134 122 … … 136 124 public: 137 125 VarRefNode(); 138 VarRefNode( std::string *, bool isLabel = false );126 VarRefNode( const std::string *, bool isLabel = false ); 139 127 VarRefNode( const VarRefNode &other ); 140 128 … … 143 131 virtual VarRefNode *clone() const { return new VarRefNode( *this ); } 144 132 145 virtual void print( std::ostream &, int indent = 0 ) const;146 virtual void printOneLine( std::ostream &, int indent = 0 ) const;133 virtual void print( std::ostream &, int indent = 0 ) const; 134 virtual void printOneLine( std::ostream &, int indent = 0 ) const; 147 135 private: 148 136 bool isLabel; … … 183 171 virtual OperatorNode *clone() const { return new OperatorNode( *this ); } 184 172 185 Type get_type( void) const;186 std::string get_typename( void) const;173 Type get_type() const; 174 const char *get_typename() const; 187 175 188 176 virtual void print( std::ostream &, int indent = 0) const; … … 198 186 class CompositeExprNode : public ExpressionNode { 199 187 public: 200 CompositeExprNode( void);201 CompositeExprNode( std::string * );188 CompositeExprNode(); 189 CompositeExprNode( const std::string * ); 202 190 CompositeExprNode( ExpressionNode *f, ExpressionNode *args = 0 ); 203 191 CompositeExprNode( ExpressionNode *f, ExpressionNode *arg1, ExpressionNode *arg2 ); … … 278 266 public: 279 267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute }; 280 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };268 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 281 269 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; 282 enum Modifier { Signed, Unsigned, Short, Long };283 enum TyCon{ Struct, Union, Context };270 enum Modifier { Signed, Unsigned, Short, Long }; 271 enum Aggregate { Struct, Union, Context }; 284 272 enum TypeClass { Type, Dtype, Ftype }; 285 273 274 static const char *storageName[]; 286 275 static const char *qualifierName[]; 287 276 static const char *basicTypeName[]; 288 277 static const char *modifierName[]; 289 static const char * tyConName[];278 static const char *aggregateName[]; 290 279 static const char *typeClassName[]; 291 280 … … 298 287 static DeclarationNode *newForall( DeclarationNode *); 299 288 static DeclarationNode *newFromTypedef( std::string *); 300 static DeclarationNode *newAggregate( TyConkind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );289 static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ); 301 290 static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants ); 302 291 static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant ); 303 292 static DeclarationNode *newName( std::string *); 304 static DeclarationNode *newFromTypeGen( std::string *, ExpressionNode *params );293 static DeclarationNode *newFromTypeGen( std::string *, ExpressionNode *params ); 305 294 static DeclarationNode *newTypeParam( TypeClass, std::string *); 306 295 static DeclarationNode *newContext( std::string *name, DeclarationNode *params, DeclarationNode *asserts ); … … 313 302 static DeclarationNode *newTuple( DeclarationNode *members ); 314 303 static DeclarationNode *newTypeof( ExpressionNode *expr ); 315 static DeclarationNode *newAttr( std::string *, ExpressionNode *expr );316 static DeclarationNode *newAttr( std::string *, DeclarationNode *type );304 static DeclarationNode *newAttr( std::string *, ExpressionNode *expr ); 305 static DeclarationNode *newAttr( std::string *, DeclarationNode *type ); 317 306 318 307 DeclarationNode *addQualifiers( DeclarationNode *); … … 340 329 DeclarationNode *cloneBaseType( DeclarationNode *newdecl ); 341 330 342 DeclarationNode *appendList( DeclarationNode *);331 DeclarationNode *appendList( DeclarationNode * ); 343 332 344 333 DeclarationNode *clone() const; … … 350 339 351 340 bool get_hasEllipsis() const; 352 std::stringget_name() const { return name; }341 const std::string &get_name() const { return name; } 353 342 LinkageSpec::Type get_linkage() const { return linkage; } 354 343 DeclarationNode *extractAggregate() const; … … 357 346 ~DeclarationNode(); 358 347 private: 359 Declaration::StorageClass buildStorageClass() const;360 bool build Inline() const;348 StorageClass buildStorageClass() const; 349 bool buildFuncSpecifier( StorageClass key ) const; 361 350 362 351 TypeData *type; … … 380 369 }; 381 370 382 StatementNode( void);383 StatementNode( std::string);371 StatementNode(); 372 StatementNode( const std::string * ); 384 373 StatementNode( Type, ExpressionNode *e = 0, StatementNode *s = 0 ); 385 374 StatementNode( Type, std::string *target ); … … 387 376 388 377 389 ~StatementNode( void);390 391 static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );378 ~StatementNode(); 379 380 static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false ); 392 381 393 382 void set_control( ExpressionNode * ); … … 396 385 ExpressionNode *get_control() const ; 397 386 StatementNode *get_block() const; 398 StatementNode::Type get_type( void) const;399 400 StatementNode *add_label( std::string * );387 StatementNode::Type get_type() const; 388 389 StatementNode *add_label( const std::string * ); 401 390 std::list<std::string> *get_labels() const; 402 391 … … 429 418 class CompoundStmtNode : public StatementNode { 430 419 public: 431 CompoundStmtNode( void);432 CompoundStmtNode( std::string * );420 CompoundStmtNode(); 421 CompoundStmtNode( const std::string * ); 433 422 CompoundStmtNode( StatementNode * ); 434 423 ~CompoundStmtNode(); … … 499 488 500 489 // in DeclarationNode.cc 501 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList );490 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ); 502 491 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ); 503 void buildTypeList( const DeclarationNode *firstNode, std::list< Type * > &outputList );492 void buildTypeList( const DeclarationNode *firstNode, std::list< Type * > &outputList ); 504 493 505 494 // in ExpressionNode.cc -
src/Parser/Parser.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 14:54:28 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 14:55:59 201513 // Update Count : 212 // Last Modified On : Sun May 31 23:45:19 2015 13 // Update Count : 4 14 14 // 15 15 … … 17 17 #include "TypedefTable.h" 18 18 #include "lex.h" 19 #include " cfa.tab.h"19 #include "parser.h" 20 20 21 21 // global variables in cfa.y -
src/Parser/StatementNode.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 14:59:41 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 15:10:45201513 // Update Count : 712 // Last Modified On : Sat Jun 6 23:25:41 2015 13 // Update Count : 19 14 14 // 15 15 … … 36 36 StatementNode::StatementNode() : ParseNode(), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {} 37 37 38 StatementNode::StatementNode( string name_) : ParseNode( name_), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}38 StatementNode::StatementNode( const string *name_ ) : ParseNode( name_ ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {} 39 39 40 40 StatementNode::StatementNode( DeclarationNode *decl ) : type( Decl ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), isCatchRest ( false ) { … … 49 49 next->set_next( new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) ) ); 50 50 decl->set_next( 0 ); 51 } 51 } // if 52 52 } else { 53 53 if ( decl->get_link() ) { 54 54 next = new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) ); 55 55 decl->set_next( 0 ); 56 } 56 } // if 57 57 this->decl = decl; 58 } 59 } 58 } // if 59 } // if 60 60 } 61 61 … … 67 67 68 68 StatementNode::StatementNode( Type t, string *_target ) : 69 type( t ), control( 0 ), block( 0 ), labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {}69 type( t ), control( 0 ), block( 0 ), labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {} 70 70 71 71 StatementNode::~StatementNode() { … … 98 98 } else { 99 99 newnode->target = 0; 100 } 100 } // if 101 101 newnode->decl = maybeClone( decl ); 102 102 return newnode; … … 125 125 } 126 126 127 StatementNode *StatementNode::add_label( std::string *l ) {127 StatementNode *StatementNode::add_label( const std::string *l ) { 128 128 if ( l != 0 ) { 129 129 if ( labels == 0 ) … … 132 132 labels->push_front(*l ); 133 133 delete l; 134 } 134 } // if 135 135 return this; 136 136 } … … 151 151 else 152 152 block->set_link( stmt ); 153 } 153 } // if 154 154 return this; 155 155 } … … 165 165 else 166 166 block->set_link( stmt ); 167 } 167 } // if 168 168 return this; 169 169 } 170 170 171 171 void StatementNode::print( std::ostream &os, int indent ) const { 172 if ( labels != 0 ) 172 if ( labels != 0 ) { 173 173 if ( ! labels->empty()) { 174 174 std::list<std::string>::const_iterator i; 175 175 176 os << '\r' << string( indent, ' ');176 os << string( indent, ' ' ); 177 177 for ( i = labels->begin(); i != labels->end(); i++ ) 178 178 os << *i << ":"; 179 179 os << endl; 180 } 180 } // if 181 } // if 181 182 182 183 switch ( type ) { … … 193 194 break; 194 195 default: 195 os << '\r' << string( indent, ' ') << StatementNode::StType[type] << endl;196 os << string( indent, ' ' ) << StatementNode::StType[type] << endl; 196 197 if ( type == Catch ) { 197 198 if ( decl ) { 198 os << '\r' <<string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;199 os << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl; 199 200 decl->print( os, indent + 2*ParseNode::indent_by ); 200 201 } else if ( isCatchRest ) { 201 os << '\r' <<string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;202 os << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl; 202 203 } else { 203 204 ; // should never reach here 204 } 205 } 205 } // if 206 } // if 206 207 if ( control ) { 207 os << '\r' <<string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;208 os << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl; 208 209 control->printList( os, indent + 2*ParseNode::indent_by ); 209 } 210 } // if 210 211 if ( block ) { 211 os << '\r' <<string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;212 os << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl; 212 213 block->printList( os, indent + 2*ParseNode::indent_by ); 213 } 214 } // if 214 215 if ( target ) { 215 os << '\r' <<string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;216 } 216 os << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl; 217 } // if 217 218 break; 218 } 219 } // switch 219 220 } 220 221 … … 227 228 std::back_insert_iterator< std::list<Label> > lab_it( labs ); 228 229 copy( labels->begin(), labels->end(), lab_it ); 229 } 230 } // if 230 231 231 232 // try { … … 254 255 elseb = branches.front(); 255 256 branches.pop_front(); 256 } 257 } // if 257 258 return new IfStmt( labs, notZeroExpr( get_control()->build() ), thenb, elseb ); 258 259 } … … 299 300 assert( get_control() != 0 ); 300 301 return new BranchStmt( labs, get_control()->build(), BranchStmt::Goto ); 301 } 302 } // if 302 303 303 304 return new BranchStmt( labs, get_target(), BranchStmt::Goto ); … … 322 323 if ( ( finallyBlock = dynamic_cast<FinallyStmt *>( branches.back())) ) { 323 324 branches.pop_back(); 324 } 325 } // if 325 326 return new TryStmt( labs, tryBlock, branches, finallyBlock ); 326 327 } … … 342 343 // shouldn't be here 343 344 return 0; 344 } 345 } 346 347 CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) { 348 } 349 350 CompoundStmtNode::CompoundStmtNode( string *name_) : StatementNode(*name_), first( 0 ), last( 0 ) { 351 } 352 353 CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ): first( stmt ) { 345 } // switch 346 } 347 348 CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {} 349 350 CompoundStmtNode::CompoundStmtNode( const string *name_ ) : StatementNode( name_ ), first( 0 ), last( 0 ) {} 351 352 CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ) : first( stmt ) { 354 353 if ( first ) { 355 354 last = ( StatementNode *)( stmt->get_last()); 356 355 } else { 357 356 last = 0; 358 } 357 } // if 359 358 } 360 359 … … 367 366 last->set_link( stmt ); 368 367 last = ( StatementNode *)( stmt->get_link()); 369 } 368 } // if 370 369 } 371 370 … … 373 372 if ( first ) { 374 373 first->printList( os, indent+2 ); 375 } 374 } // if 376 375 } 377 376 … … 383 382 std::back_insert_iterator< std::list<Label> > lab_it( labs ); 384 383 copy( labels->begin(), labels->end(), lab_it ); 385 } 384 } // if 386 385 387 386 CompoundStmt *cs = new CompoundStmt( labs ); … … 391 390 392 391 void NullStmtNode::print( ostream &os, int indent ) const { 393 os << "\r" << string( indent, ' ') << "Null Statement:" << endl;392 os << string( indent, ' ' ) << "Null Statement:" << endl; 394 393 } 395 394 -
src/Parser/TypeData.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 15:17:56201513 // Update Count : 412 // Last Modified On : Thu Jun 18 22:06:23 2015 13 // Update Count : 21 14 14 // 15 15 … … 89 89 attr->type = 0; 90 90 break; 91 } 91 } // switch 92 92 } 93 93 … … 155 155 delete attr; 156 156 break; 157 } 157 } // switch 158 158 } 159 159 … … 225 225 newtype->attr->type = maybeClone( attr->type ); 226 226 break; 227 } 227 } // switch 228 228 return newtype; 229 229 } … … 238 238 os << "forall " << endl; 239 239 forall->printList( os, indent+4 ); 240 } 240 } // if 241 241 242 242 switch ( kind ) { … … 249 249 os << "to "; 250 250 base->print( os, indent ); 251 } 251 } // if 252 252 break; 253 253 case EnumConstant: … … 261 261 if ( array->isStatic ) { 262 262 os << "static "; 263 } 263 } // if 264 264 if ( array->dimension ) { 265 265 os << "array of "; … … 269 269 } else { 270 270 os << "open array of "; 271 } 271 } // if 272 272 if ( base ) { 273 273 base->print( os, indent ); 274 } 274 } // if 275 275 break; 276 276 case Function: … … 281 281 } else { 282 282 os << string( indent+2, ' ' ) << "with no parameters " << endl; 283 } 283 } // if 284 284 if ( function->idList ) { 285 285 os << string( indent+2, ' ' ) << "with old-style identifier list " << endl; 286 286 function->idList->printList( os, indent+4 ); 287 } 287 } // if 288 288 if ( function->oldDeclList ) { 289 289 os << string( indent+2, ' ' ) << "with old-style declaration list " << endl; 290 290 function->oldDeclList->printList( os, indent+4 ); 291 } 291 } // if 292 292 os << string( indent+2, ' ' ) << "returning "; 293 293 if ( base ) { … … 295 295 } else { 296 296 os << "nothing "; 297 } 297 } // if 298 298 os << endl; 299 299 if ( function->hasBody ) { 300 300 os << string( indent+2, ' ' ) << "with body " << endl; 301 } 301 } // if 302 302 if ( function->body ) { 303 303 function->body->printList( os, indent+2 ); 304 } 304 } // if 305 305 break; 306 306 case Aggregate: 307 os << DeclarationNode:: tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl;307 os << DeclarationNode::aggregateName[ aggregate->kind ] << ' ' << aggregate->name << endl; 308 308 if ( aggregate->params ) { 309 309 os << string( indent+2, ' ' ) << "with type parameters " << endl; 310 310 aggregate->params->printList( os, indent+4 ); 311 } 311 } // if 312 312 if ( aggregate->actuals ) { 313 313 os << string( indent+2, ' ' ) << "instantiated with actual parameters " << endl; 314 314 aggregate->actuals->printList( os, indent+4 ); 315 } 315 } // if 316 316 if ( aggregate->members ) { 317 317 os << string( indent+2, ' ' ) << "with members " << endl; … … 319 319 /// } else { 320 320 /// os << string( indent+2, ' ' ) << "with no members " << endl; 321 } 321 } // if 322 322 break; 323 323 case AggregateInst: … … 327 327 } else { 328 328 os << "instance of an unspecified aggregate "; 329 } 329 } // if 330 330 if ( aggInst->params ) { 331 331 os << string( indent+2, ' ' ) << "with parameters " << endl; 332 332 aggInst->params->printList( os, indent+2 ); 333 } 333 } // if 334 334 break; 335 335 case Enum: … … 338 338 os << "with constants" << endl; 339 339 enumeration->constants->printList( os, indent+2 ); 340 } 340 } // if 341 341 break; 342 342 case SymbolicInst: … … 345 345 os << " with parameters" << endl; 346 346 symbolic->actuals->printList( os, indent + 2 ); 347 } 347 } // if 348 348 break; 349 349 case Symbolic: … … 352 352 } else { 353 353 os << "type definition "; 354 } 354 } // if 355 355 if ( symbolic->params ) { 356 356 os << endl << string( indent+2, ' ' ) << "with parameters" << endl; 357 357 symbolic->params->printList( os, indent + 2 ); 358 } 358 } // if 359 359 if ( symbolic->assertions ) { 360 360 os << endl << string( indent+2, ' ' ) << "with assertions" << endl; 361 361 symbolic->assertions->printList( os, indent + 4 ); 362 362 os << string( indent+2, ' ' ); 363 } 363 } // if 364 364 if ( base ) { 365 365 os << "for "; 366 366 base->print( os, indent + 2 ); 367 } 367 } // if 368 368 break; 369 369 case Variable: … … 373 373 variable->assertions->printList( os, indent + 4 ); 374 374 os << string( indent+2, ' ' ); 375 } 375 } // if 376 376 break; 377 377 case Tuple: … … 380 380 os << "with members " << endl; 381 381 tuple->members->printList( os, indent + 2 ); 382 } 382 } // if 383 383 break; 384 384 case Typeof: … … 386 386 if ( typeexpr->expr ) { 387 387 typeexpr->expr->print( os, indent + 2 ); 388 } 388 } // if 389 389 break; 390 390 case Attr: … … 392 392 if ( attr->expr ) { 393 393 attr->expr->print( os, indent + 2 ); 394 } 394 } // if 395 395 if ( attr->type ) { 396 396 attr->type->print( os, indent + 2 ); 397 } 398 break; 399 } 397 } // if 398 break; 399 } // switch 400 400 } 401 401 … … 408 408 ret = clone(); 409 409 ret->qualifiers.clear(); 410 } 410 } // if 411 411 break; 412 412 case Enum: … … 414 414 ret = clone(); 415 415 ret->qualifiers.clear(); 416 } 416 } // if 417 417 break; 418 418 case AggregateInst: 419 419 if ( aggInst->aggregate ) { 420 420 ret = aggInst->aggregate->extractAggregate( false ); 421 } 421 } // if 422 422 break; 423 423 default: 424 424 if ( base ) { 425 425 ret = base->extractAggregate( false ); 426 } 427 } 426 } // if 427 } // switch 428 428 return ret; 429 429 } … … 434 434 if ( (*i)->get_kind() == TypeDecl::Any ) { 435 435 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 436 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );437 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );438 assignType->get_returnVals().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );439 (*i)->get_assertions().push_front( new FunctionDecl( "?=?", Declaration ::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) );440 } 441 } 442 } 443 444 Declaration *TypeData::buildDecl( std::string name, Declaration ::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {436 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) ); 437 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 438 assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 439 (*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false, false ) ); 440 } // if 441 } // for 442 } 443 444 Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init ) const { 445 445 if ( kind == TypeData::Function ) { 446 446 FunctionDecl *decl; … … 450 450 CompoundStmt *body = dynamic_cast< CompoundStmt* >( stmt ); 451 451 assert( body ); 452 decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline );452 decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline, isNoreturn ); 453 453 } else { 454 454 // std::list<Label> ls; 455 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline );456 } 455 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline, isNoreturn ); 456 } // if 457 457 } else { 458 decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline );459 } 458 decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline, isNoreturn ); 459 } // if 460 460 for ( DeclarationNode *cur = function->idList; cur != 0; cur = dynamic_cast< DeclarationNode* >( cur->get_link() ) ) { 461 461 if ( cur->get_name() != "" ) { 462 462 decl->get_oldIdents().insert( decl->get_oldIdents().end(), cur->get_name() ); 463 } 464 } 463 } // if 464 } // for 465 465 buildList( function->oldDeclList, decl->get_oldDecls() ); 466 466 return decl; … … 474 474 return buildVariable(); 475 475 } else { 476 if ( isInline ) {477 throw SemanticError( "invalid inline specification in declaration of ", this );476 if ( isInline || isNoreturn ) { 477 throw SemanticError( "invalid inline or _Noreturn specification in declaration of ", this ); 478 478 } else { 479 479 return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init ); 480 } 481 } 480 } // if 481 } // if 482 482 return 0; 483 483 } … … 514 514 case Variable: 515 515 assert( false ); 516 } 516 } // switch 517 517 518 518 return 0; … … 541 541 q.isAttribute = true; 542 542 break; 543 } 544 } 543 } // switch 544 } // for 545 545 return q; 546 546 } … … 563 563 } else { 564 564 return new VoidType( buildQualifiers() ); 565 } 565 } // if 566 566 } else { 567 567 ret = kindMap[ *i ]; 568 } 568 } // if 569 569 } else { 570 570 switch ( *i ) { … … 582 582 default: 583 583 throw SemanticError( "invalid type specifier \"float\" in type: ", this ); 584 } 585 } 584 } // switch 585 } // if 586 586 break; 587 587 case DeclarationNode::Double: … … 595 595 default: 596 596 throw SemanticError( "invalid type specifier \"double\" in type: ", this ); 597 } 598 } 597 } // switch 598 } // if 599 599 break; 600 601 600 case DeclarationNode::Complex: 602 601 switch ( ret ) { … … 609 608 default: 610 609 throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this ); 611 } 610 } // switch 612 611 break; 613 612 case DeclarationNode::Imaginary: … … 621 620 default: 622 621 throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this ); 623 } 622 } // switch 624 623 break; 625 624 default: 626 625 throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this ); 627 } 628 } 626 } // switch 627 } // if 629 628 if ( *i == DeclarationNode::Double ) { 630 629 sawDouble = true; 631 } 632 } 630 } // if 631 } // for 633 632 634 633 for ( std::list< DeclarationNode::Modifier >::const_iterator i = basic->modifiers.begin(); i != basic->modifiers.end(); ++i ) { … … 663 662 default: 664 663 throw SemanticError( "invalid type modifier \"long\" in type: ", this ); 665 } 666 } 664 } // switch 665 } // if 667 666 break; 668 667 case DeclarationNode::Short: … … 680 679 default: 681 680 throw SemanticError( "invalid type modifier \"short\" in type: ", this ); 682 } 683 } 681 } // switch 682 } // if 684 683 break; 685 684 case DeclarationNode::Signed: … … 691 690 } else { 692 691 switch ( ret ) { 693 case BasicType::LongLongSignedInt: // PAB692 case BasicType::LongLongSignedInt: 694 693 ret = BasicType::LongLongUnsignedInt; 695 694 break; … … 705 704 default: 706 705 throw SemanticError( "invalid type modifer \"signed\" in type: ", this ); 707 } 708 } 706 } // switch 707 } // if 709 708 break; 710 709 case DeclarationNode::Unsigned: … … 716 715 } else { 717 716 switch ( ret ) { 718 case BasicType::LongLongSignedInt: // PAB717 case BasicType::LongLongSignedInt: 719 718 ret = BasicType::LongLongUnsignedInt; 720 719 break; … … 733 732 default: 734 733 throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this ); 735 } 736 } 737 break; 738 } 734 } // switch 735 } // if 736 break; 737 } // switch 739 738 740 739 if ( *i == DeclarationNode::Signed ) { 741 740 sawSigned = true; 742 } 743 } 741 } // if 742 } // for 744 743 745 744 BasicType *bt; … … 748 747 } else { 749 748 bt = new BasicType( buildQualifiers(), ret ); 750 } 749 } // if 751 750 buildForall( forall, bt->get_forall() ); 752 751 return bt; … … 760 759 } else { 761 760 pt = new PointerType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ); 762 } 761 } // if 763 762 buildForall( forall, pt->get_forall() ); 764 763 return pt; … … 773 772 at = new ArrayType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 774 773 maybeBuild< Expression >( array->dimension ), array->isVarLen, array->isStatic ); 775 } 774 } // if 776 775 buildForall( forall, at->get_forall() ); 777 776 return at; … … 791 790 break; 792 791 default: 793 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration ::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );794 } 792 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, false, LinkageSpec::Cforall ) ) ); 793 } // switch 795 794 } else { 796 ft->get_returnVals().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );797 } 795 ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) ); 796 } // if 798 797 return ft; 799 798 } … … 806 805 at = new StructDecl( aggregate->name ); 807 806 break; 808 809 807 case DeclarationNode::Union: 810 808 at = new UnionDecl( aggregate->name ); 811 809 break; 812 813 810 case DeclarationNode::Context: 814 811 at = new ContextDecl( aggregate->name ); 815 812 break; 816 817 813 default: 818 814 assert( false ); 819 } 815 } // switch 820 816 buildList( aggregate->params, at->get_parameters() ); 821 817 buildList( aggregate->members, at->get_members() ); … … 838 834 ReferenceToType *TypeData::buildAggInst() const { 839 835 assert( kind == AggregateInst ); 840 std::string name;841 836 842 837 ReferenceToType *ret; … … 857 852 default: 858 853 assert( false ); 859 } 860 } 854 } // switch 855 } // if 861 856 buildList( aggInst->params, ret->get_parameters() ); 862 857 buildForall( forall, ret->get_forall() ); … … 864 859 } 865 860 866 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration ::StorageClass sc ) const {861 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const { 867 862 assert( kind == Symbolic ); 868 863 NamedTypeDecl *ret; … … 871 866 } else { 872 867 ret = new TypeDecl( name, sc, maybeBuild< Type >( base ), TypeDecl::Any ); 873 } 868 } // if 874 869 buildList( symbolic->params, ret->get_parameters() ); 875 870 buildList( symbolic->assertions, ret->get_assertions() ); … … 881 876 static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype }; 882 877 883 TypeDecl *ret = new TypeDecl( variable->name, Declaration ::NoStorageClass, 0, kindMap[ variable->tyClass ] );878 TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::NoStorageClass, 0, kindMap[ variable->tyClass ] ); 884 879 buildList( variable->assertions, ret->get_assertions() ); 885 886 880 return ret; 887 881 } … … 891 885 EnumDecl *ret = new EnumDecl( enumeration->name ); 892 886 buildList( enumeration->constants, ret->get_members() ); 893 894 887 return ret; 895 888 } … … 900 893 buildList( symbolic->actuals, ret->get_parameters() ); 901 894 buildForall( forall, ret->get_forall() ); 902 903 895 return ret; 904 896 } … … 909 901 buildTypeList( tuple->members, ret->get_types() ); 910 902 buildForall( forall, ret->get_forall() ); 911 912 903 return ret; 913 904 } … … 918 909 assert( typeexpr->expr ); 919 910 TypeofType *ret = new TypeofType( buildQualifiers(), typeexpr->expr->build() ); 920 921 911 return ret; 922 912 } … … 931 921 assert( attr->type ); 932 922 ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() ); 933 } 934 923 } // if 935 924 return ret; 936 925 } -
src/Parser/TypeData.h
reb50842 r937e51d 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 15:20:00201513 // Update Count : 212 // Last Modified On : Thu Jun 18 21:03:18 2015 13 // Update Count : 7 14 14 // 15 15 … … 44 44 45 45 struct Aggregate_t { 46 DeclarationNode:: TyConkind;46 DeclarationNode::Aggregate kind; 47 47 std::string name; 48 48 DeclarationNode *params; … … 120 120 TypeData *extractAggregate( bool toplevel = true ) const; 121 121 // helper function for DeclNodeImpl::build 122 Declaration * buildDecl( std::string name, Declaration ::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;122 Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init = 0 ) const; 123 123 // helper functions for build() 124 124 Type::Qualifiers buildQualifiers() const; 125 Type * buildBasicType() const;125 Type * buildBasicType() const; 126 126 PointerType * buildPointer() const; 127 127 ArrayType * buildArray() const; 128 128 AggregateDecl * buildAggregate() const; 129 129 ReferenceToType * buildAggInst() const; 130 NamedTypeDecl * buildSymbolic( const std::string &name, Declaration ::StorageClass sc ) const;130 NamedTypeDecl * buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const; 131 131 TypeDecl* buildVariable() const; 132 132 EnumDecl* buildEnum() const; -
src/Parser/TypedefTable.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 15:20:13 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 15:24:03201513 // Update Count : 212 // Last Modified On : Sun Jun 21 11:46:15 2015 13 // Update Count : 7 14 14 // 15 15 … … 29 29 TypedefTable::TypedefTable() : currentScope( 0 ) {} 30 30 31 bool TypedefTable::isKind( stringidentifier, kind_t kind ) const {31 bool TypedefTable::isKind( const string &identifier, kind_t kind ) const { 32 32 tableType::const_iterator id_pos = table.find( identifier ); 33 if ( id_pos == table.end() ) {33 if ( id_pos == table.end() ) { 34 34 return true; 35 35 } else { 36 36 return (*((*id_pos ).second.begin())).kind == kind; 37 } 37 } // if 38 38 } 39 39 40 bool TypedefTable::isIdentifier( stringidentifier ) const {40 bool TypedefTable::isIdentifier( const string &identifier ) const { 41 41 return isKind( identifier, ID ); 42 42 } 43 43 44 bool TypedefTable::isTypedef( stringidentifier ) const {44 bool TypedefTable::isTypedef( const string &identifier ) const { 45 45 return isKind( identifier, TD ); 46 46 } 47 47 48 bool TypedefTable::isTypegen( stringidentifier ) const {48 bool TypedefTable::isTypegen( const string &identifier ) const { 49 49 return isKind( identifier, TG ); 50 50 } … … 66 66 while ( listPos != (*curPos ).second.end() && listPos->scope > scope ) { 67 67 listPos++; 68 } 68 } // while 69 69 (*curPos ).second.insert( listPos, newEntry ); 70 } 71 } 70 } // if 71 } // if 72 72 } 73 73 … … 102 102 } 103 103 104 void TypedefTable::openContext( std::stringcontextName ) {104 void TypedefTable::openContext( const std::string &contextName ) { 105 105 map< string, deferListType >::iterator i = contexts.find( contextName ); 106 106 if ( i != contexts.end() ) { … … 108 108 for ( deferListType::iterator i = entries.begin(); i != entries.end(); i++) { 109 109 addToEnclosingScope( i->identifier, i->kind ); 110 } 111 } 110 } // for 111 } // if 112 112 } 113 113 114 void TypedefTable::enterScope( void) {114 void TypedefTable::enterScope() { 115 115 currentScope += 1; 116 116 deferListStack.push( deferListType() ); … … 119 119 } 120 120 121 void TypedefTable::leaveScope( void) {121 void TypedefTable::leaveScope() { 122 122 debugPrint( "Leaving scope " << currentScope << endl ); 123 123 for ( tableType::iterator i = table.begin(); i != table.end(); ) { … … 129 129 table.erase( i++ ); 130 130 } else ++i; 131 } 131 } // for 132 132 currentScope -= 1; 133 133 for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++) { 134 134 addToCurrentScope( i->identifier, i->kind ); 135 } 135 } // for 136 136 deferListStack.pop(); 137 137 debugPrint( "nextIdentifiers size is " << nextIdentifiers.size() << " top is " << nextIdentifiers.top() << endl ); … … 139 139 } 140 140 141 void TypedefTable::enterContext( std::stringcontextName ) {141 void TypedefTable::enterContext( const std::string &contextName ) { 142 142 currentContext = contextName; 143 143 contextScope = currentScope; 144 144 } 145 145 146 void TypedefTable::leaveContext( void) {146 void TypedefTable::leaveContext() { 147 147 currentContext = ""; 148 148 } … … 156 156 } 157 157 debugPrint( endl ); 158 } 158 } // for 159 159 } 160 160 -
src/Parser/TypedefTable.h
reb50842 r937e51d 10 10 // Created On : Sat May 16 15:24:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 15:25:59201513 // Update Count : 312 // Last Modified On : Thu Jun 18 21:03:17 2015 13 // Update Count : 7 14 14 // 15 15 … … 49 49 std::stack< std::string > nextIdentifiers; 50 50 51 bool isKind( std::stringidentifier, kind_t kind ) const;51 bool isKind( const std::string &identifier, kind_t kind ) const; 52 52 void addToScope( const std::string &identifier, kind_t kind, int scope ); 53 53 public: 54 54 TypedefTable(); 55 55 56 bool isIdentifier( std::stringidentifier ) const;57 bool isTypedef( std::stringidentifier ) const;58 bool isTypegen( std::stringidentifier ) const;56 bool isIdentifier( const std::string &identifier ) const; 57 bool isTypedef( const std::string &identifier ) const; 58 bool isTypegen( const std::string &identifier ) const; 59 59 60 // "addToCurrentScope" adds the identifier/type pair to the current scope This does less than you think it does,60 // "addToCurrentScope" adds the identifier/type pair to the current scope. This does less than you think it does, 61 61 // since each declaration is within its own scope. Mostly useful for type parameters. 62 62 void addToCurrentScope( const std::string &identifier, kind_t kind ); … … 77 77 78 78 // dump the definitions from a pre-defined context into the current scope 79 void openContext( std::stringcontextName );79 void openContext( const std::string &contextName ); 80 80 81 81 void enterScope(); 82 82 void leaveScope(); 83 void enterContext( std::stringcontextName );83 void enterContext( const std::string &contextName ); 84 84 void leaveContext(); 85 85 -
src/Parser/lex.h
reb50842 r937e51d 10 10 // Created On : Sat Sep 22 08:58:10 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 12:18:48 201513 // Update Count : 3 3412 // Last Modified On : Mon Jun 8 20:28:48 2015 13 // Update Count : 341 14 14 // 15 15 … … 18 18 19 19 int yylex(); 20 void yyerror( char *);20 void yyerror( const char * ); 21 21 22 22 // External declarations for information sharing between lexer and scanner … … 35 35 class Token { 36 36 public: 37 std::string *str; 37 std::string *str; // must be pointer as used in union 38 38 Location loc; 39 39 … … 44 44 45 45 // Local Variables: // 46 // fill-column: 110 //47 46 // tab-width: 4 // 48 47 // mode: c++ // -
src/Parser/lex.ll
reb50842 r937e51d 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Tue May 19 15:41:54 201513 * Update Count : 3 3112 * Last Modified On : Fri Jun 19 11:10:14 2015 13 * Update Count : 392 14 14 */ 15 15 16 16 %option yylineno 17 %option nounput 17 18 18 19 %{ 19 // This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive 20 // have been performed and removed from the source. The only exceptions are preprocessor directives passed to21 // the compiler (e.g.,line-number directives) and C/C++ style comments, which are ignored.20 // This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive have been 21 // performed and removed from the source. The only exceptions are preprocessor directives passed to the compiler (e.g., 22 // line-number directives) and C/C++ style comments, which are ignored. 22 23 23 24 //**************************** Includes and Defines **************************** … … 27 28 #include "lex.h" 28 29 #include "ParseNode.h" 29 #include " cfa.tab.h"// YACC generated definitions based on C++ grammar30 #include "parser.h" // YACC generated definitions based on C++ grammar 30 31 31 32 char *yyfilename; 32 33 std::string *strtext; // accumulate parts of character and string constant value 33 34 35 #define RETURN_LOCN(x) yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return( x ) 36 #define RETURN_VAL(x) yylval.tok.str = new std::string( yytext ); RETURN_LOCN( x ) 37 #define RETURN_CHAR(x) yylval.tok.str = NULL; RETURN_LOCN( x ) 38 #define RETURN_STR(x) yylval.tok.str = strtext; RETURN_LOCN( x ) 39 34 40 #define WHITE_RETURN(x) // do nothing 35 #define NEWLINE_RETURN() WHITE_RETURN('\n') 36 #define RETURN_VAL(x) yylval.tok.str = new std::string(yytext); \ 37 yylval.tok.loc.file = yyfilename; \ 38 yylval.tok.loc.line = yylineno; \ 39 return(x) 40 #define RETURN_STR(x) yylval.tok.str = strtext; \ 41 yylval.tok.loc.file = yyfilename; \ 42 yylval.tok.loc.line = yylineno; \ 43 return(x) 44 45 #define KEYWORD_RETURN(x) RETURN_VAL(x) // keyword 46 #define IDENTIFIER_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname)) 47 //#define ATTRIBUTE_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? ATTR_IDENTIFIER : typedefTable.isTypedef(yytext) ? ATTR_TYPEDEFname : ATTR_TYPEGENname)) 48 #define ATTRIBUTE_RETURN() RETURN_VAL(ATTR_IDENTIFIER) 49 50 #define ASCIIOP_RETURN() RETURN_VAL((int)yytext[0]) // single character operator 51 #define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name 52 53 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant 41 #define NEWLINE_RETURN() WHITE_RETURN( '\n' ) 42 #define ASCIIOP_RETURN() RETURN_CHAR( (int)yytext[0] ) // single character operator 43 #define NAMEDOP_RETURN(x) RETURN_VAL( x ) // multichar operator, with a name 44 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL( x ) // numeric constant 45 #define KEYWORD_RETURN(x) RETURN_CHAR( x ) // keyword 46 #define IDENTIFIER_RETURN() RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) ) 47 #define ATTRIBUTE_RETURN() RETURN_VAL( ATTR_IDENTIFIER ) 54 48 55 49 void rm_underscore() { … … 114 108 hex_escape "\\""x""_"?{hex_digits} 115 109 escape_seq {simple_escape}|{octal_escape}|{hex_escape}|{universal_char} 110 cwide_prefix "L"|"U"|"u" 111 swide_prefix {cwide_prefix}|"u8" 116 112 117 113 // display/white-space characters … … 165 161 ^{h_white}*"#"[^\n]*"\n" ; 166 162 167 /* ignore C style comments */163 /* ignore C style comments (ALSO HANDLED BY CPP) */ 168 164 "/*" { BEGIN COMMENT; } 169 <COMMENT>.|\n ;170 <COMMENT>"*/" { BEGIN 0; }171 172 /* ignore C++ style comments */173 "//"[^\n]*"\n" ;165 <COMMENT>.|\n ; 166 <COMMENT>"*/" { BEGIN 0; } 167 168 /* ignore C++ style comments (ALSO HANDLED BY CPP) */ 169 "//"[^\n]*"\n" ; 174 170 175 171 /* ignore whitespace */ … … 275 271 "0" { NUMERIC_RETURN(ZERO); } // CFA 276 272 "1" { NUMERIC_RETURN(ONE); } // CFA 277 {decimal_constant} { NUMERIC_RETURN(INTEGERconstant); }278 {octal_constant} { NUMERIC_RETURN(INTEGERconstant); }279 {hex_constant} { NUMERIC_RETURN(INTEGERconstant); }273 {decimal_constant} { NUMERIC_RETURN(INTEGERconstant); } 274 {octal_constant} { NUMERIC_RETURN(INTEGERconstant); } 275 {hex_constant} { NUMERIC_RETURN(INTEGERconstant); } 280 276 {floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } 281 277 {hex_floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } 282 278 283 279 /* character constant, allows empty value */ 284 "L"?"_"?[']{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }280 ({cwide_prefix}[_]?)?['] { BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); } 285 281 <QUOTE>[^'\\\n]* { *strtext += std::string( yytext ); } 286 282 <QUOTE>['\n] { BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); } … … 288 284 289 285 /* string constant */ 290 "L"?"_"?["]{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }286 ({swide_prefix}[_]?)?["] { BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); } 291 287 <STRING>[^"\\\n]* { *strtext += std::string( yytext ); } 292 <STRING>["\n] { BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }288 <STRING>["\n] { BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); } 293 289 /* " stop highlighting */ 294 290 291 /* common character/string constant */ 295 292 <QUOTE,STRING>{escape_seq} { rm_underscore(); *strtext += std::string( yytext ); } 296 <QUOTE,STRING>[\\] { *strtext += std::string( yytext ); } // unknown escape character 293 <QUOTE,STRING>"\\"{h_white}*"\n" {} // continuation (ALSO HANDLED BY CPP) 294 <QUOTE,STRING>"\\" { *strtext += std::string( yytext ); } // unknown escape character 297 295 298 296 /* punctuation */ … … 355 353 /* CFA, operator identifier */ 356 354 {op_unary}"?" { IDENTIFIER_RETURN(); } // unary 357 "?"({op_unary_pre_post}|"()"|"[?]" ) { IDENTIFIER_RETURN(); }355 "?"({op_unary_pre_post}|"()"|"[?]"|"{}") { IDENTIFIER_RETURN(); } 358 356 "?"{op_binary_over}"?" { IDENTIFIER_RETURN(); } // binary 359 357 /* … … 400 398 401 399 // Local Variables: // 402 // fill-column: 110//400 // mode: c++ // 403 401 // tab-width: 4 // 404 // mode: c++ //405 402 // compile-command: "make install" // 406 403 // End: // -
src/Parser/module.mk
reb50842 r937e51d 8 8 ## module.mk -- 9 9 ## 10 ## Author : Richard C. Bilson10 ## Author : Peter A. Buhr 11 11 ## Created On : Sat May 16 15:29:09 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Thu May 21 21:17:07 201514 ## Update Count : 213 ## Last Modified On : Mon Jun 8 20:23:47 2015 14 ## Update Count : 87 15 15 ############################################################################### 16 16 17 YACC=bison 18 YFLAGS=-d --debug -v 19 LEX=flex 20 LFLAGS= 17 BUILT_SOURCES = Parser/parser.h 21 18 22 SRC += Parser/cfa.y \ 23 Parser/lex.l \ 19 AM_YFLAGS = -d -t -v 20 cfa_cpp_LDADD = ${LEXLIB} # yywrap 21 MAINTAINERCLEANFILES = Parser/parser.output 22 23 SRC += Parser/parser.yy \ 24 Parser/lex.ll \ 24 25 Parser/TypedefTable.cc \ 25 26 Parser/ParseNode.cc \ … … 32 33 Parser/parseutility.cc \ 33 34 Parser/Parser.cc 34 35 EXTRA_OUTPUT += Parser/cfa.tab.cc \36 Parser/cfa.tab.h \37 Parser/lex.yy.cc \38 Parser/cfa.output39 40 LIBS += -lfl41 42 Parser/Parser.cc: Parser/cfa.tab.h43 44 Parser/cfa.tab.cc: Parser/cfa.y45 $(YACC) $(YFLAGS) $< --file-prefix=Parser/cfa46 -mv Parser/cfa.tab.c Parser/cfa.tab.cc47 48 Parser/cfa.tab.h: Parser/cfa.tab.cc49 50 Parser/lex.yy.cc: Parser/lex.l Parser/cfa.tab.h Parser/TypedefTable.h51 $(LEX) $(LFLAGS) -o$@ $<52 53 Parser/lex.yy.o: Parser/lex.yy.cc Parser/ParseNode.h54 $(CXX) $(CXXFLAGS) -Wno-unused -c -o $@ $< -
src/ResolvExpr/AlternativeFinder.cc
reb50842 r937e51d 10 10 // Created On : Sat May 16 23:52:08 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 23:55:30201513 // Update Count : 312 // Last Modified On : Mon Jun 22 17:19:54 2015 13 // Update Count : 17 14 14 // 15 15 … … 108 108 PRINT( 109 109 std::cout << "cost " << candidate->cost << " beats " << mapPlace->second.candidate->cost << std::endl; 110 )110 ) 111 111 selected[ mangleName ] = current; 112 112 } else if ( candidate->cost == mapPlace->second.candidate->cost ) { 113 113 PRINT( 114 114 std::cout << "marking ambiguous" << std::endl; 115 )115 ) 116 116 mapPlace->second.isAmbiguous = true; 117 117 } … … 123 123 PRINT( 124 124 std::cout << "there are " << selected.size() << " alternatives before elimination" << std::endl; 125 )125 ) 126 126 127 127 // accept the alternatives that were unambiguous … … 184 184 std::cout << "findSubExprs" << std::endl; 185 185 printAlts( finder.alternatives, std::cout ); 186 )186 ) 187 187 *out++ = finder; 188 188 } … … 206 206 std::cout << "alternatives before prune:" << std::endl; 207 207 printAlts( alternatives, std::cout ); 208 )208 ) 209 209 AltList::iterator oldBegin = alternatives.begin(); 210 210 pruneAlternatives( alternatives.begin(), alternatives.end(), front_inserter( alternatives ), indexer ); 211 211 if ( alternatives.begin() == oldBegin ) { 212 std::ostr stream stream;212 std::ostringstream stream; 213 213 stream << "Can't choose between alternatives for expression "; 214 214 expr->print( stream ); … … 217 217 findMinCost( alternatives.begin(), alternatives.end(), back_inserter( winners ) ); 218 218 printAlts( winners, stream, 8 ); 219 throw SemanticError( st d::string( stream.str(), stream.pcount()) );219 throw SemanticError( stream.str() ); 220 220 } 221 221 alternatives.erase( oldBegin, alternatives.end() ); 222 222 PRINT( 223 223 std::cout << "there are " << alternatives.size() << " alternatives after elimination" << std::endl; 224 )224 ) 225 225 } 226 226 … … 265 265 std::cout << "--- results are" << std::endl; 266 266 printAll( (*actualExpr)->get_results(), std::cout, 8 ); 267 )268 std::list< DeclarationWithType* >::iterator startFormal = formal;267 ) 268 std::list< DeclarationWithType* >::iterator startFormal = formal; 269 269 Cost actualCost; 270 270 for ( std::list< Type* >::iterator actual = (*actualExpr)->get_results().begin(); actual != (*actualExpr)->get_results().end(); ++actual ) { … … 282 282 std::cout << std::endl << " to "; 283 283 (*formal)->get_type()->print( std::cout, 8 ); 284 )285 Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env );284 ) 285 Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env ); 286 286 PRINT( 287 287 std::cout << std::endl << "cost is" << newCost << std::endl; 288 )289 290 if ( newCost == Cost::infinity ) {291 return newCost;292 }288 ) 289 290 if ( newCost == Cost::infinity ) { 291 return newCost; 292 } 293 293 convCost += newCost; 294 294 actualCost += newCost; … … 381 381 (*actual)->print( std::cerr ); 382 382 std::cerr << std::endl; 383 )383 ) 384 384 if ( ! unify( (*formal)->get_type(), *actual, resultEnv, resultNeed, resultHave, openVars, indexer ) ) { 385 385 return false; … … 429 429 std::cerr << "recursing with new set:" << std::endl; 430 430 printAssertionSet( newNeed, std::cerr, 8 ); 431 )431 ) 432 432 inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out ); 433 433 return; … … 444 444 curDecl->print( std::cerr ); 445 445 std::cerr << std::endl; 446 )446 ) 447 447 std::list< DeclarationWithType* > candidates; 448 448 decls.lookupId( curDecl->get_name(), candidates ); … … 453 453 (*candidate)->print( std::cout ); 454 454 std::cout << std::endl; 455 )455 ) 456 456 AssertionSet newHave, newerNeed( newNeed ); 457 457 TypeEnvironment newEnv( newAlt.env ); … … 466 466 adjType->print( std::cerr ); 467 467 std::cerr << std::endl; 468 )468 ) 469 469 if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) { 470 470 PRINT( 471 471 std::cerr << "success!" << std::endl; 472 )472 ) 473 473 SymTab::Indexer newDecls( decls ); 474 474 addToIndexer( newHave, newDecls ); … … 486 486 (*candidate)->print( std::cout ); 487 487 std::cout << std::endl; 488 )488 ) 489 489 ApplicationExpr *appExpr = static_cast< ApplicationExpr* >( newerAlt.expr ); 490 490 // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions … … 509 509 std::cout << "============= new indexer" << std::endl; 510 510 decls.print( std::cout ); 511 )511 ) 512 512 addToIndexer( have, decls ); 513 513 AssertionSet newNeed; … … 533 533 std::cout << "need assertions:" << std::endl; 534 534 printAssertionSet( resultNeed, std::cout, 8 ); 535 )535 ) 536 536 inferParameters( resultNeed, resultHave, newAlt, openVars, out ); 537 537 } … … 542 542 AlternativeFinder funcOpFinder( indexer, env ); 543 543 544 AlternativeFinder funcFinder( indexer, env ); 545 546 { 544 AlternativeFinder funcFinder( indexer, env ); { 547 545 NameExpr *fname; 548 546 if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function())) 549 && ( fname->get_name() == std::string(" LabAddress")) ) {550 alternatives.push_back( Alternative( untypedExpr , env, Cost()) );547 && ( fname->get_name() == std::string("&&")) ) { 548 alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) ); 551 549 return; 552 550 } … … 562 560 Tuples::TupleAssignSpotter tassign( this ); 563 561 if ( tassign.isTupleAssignment( untypedExpr, possibilities ) ) { 564 // TODOtake care of possible tuple assignments, or discard expression562 // take care of possible tuple assignments, or discard expression 565 563 return; 566 564 } // else ... … … 572 570 std::cout << "working on alternative: " << std::endl; 573 571 func->print( std::cout, 8 ); 574 )572 ) 575 573 // check if the type is pointer to function 576 574 PointerType *pointer; … … 605 603 std::cout << "known function ops:" << std::endl; 606 604 printAlts( funcOpFinder.alternatives, std::cout, 8 ); 607 )605 ) 608 606 } 609 607 … … 644 642 withFunc->env.print( std::cout, 8 ); 645 643 std::cout << "cost of conversion is:" << cvtCost << std::endl; 646 )647 if ( cvtCost != Cost::infinity ) {648 withFunc->cvtCost = cvtCost;649 alternatives.push_back( *withFunc );650 } // if644 ) 645 if ( cvtCost != Cost::infinity ) { 646 withFunc->cvtCost = cvtCost; 647 alternatives.push_back( *withFunc ); 648 } // if 651 649 } // for 652 650 candidates.clear(); … … 749 747 newExpr.print( std::cerr ); 750 748 std::cerr << std::endl; 751 )749 ) 752 750 renameTypes( alternatives.back().expr ); 753 751 if ( StructInstType *structInst = dynamic_cast< StructInstType* >( (*i)->get_type() ) ) { … … 796 794 argType->print( std::cout ); 797 795 std::cout << std::endl; 798 )799 if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) {800 alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) );801 for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) {802 alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() );803 } // for804 } // if796 ) 797 if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) { 798 alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) ); 799 for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) { 800 alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() ); 801 } // for 802 } // if 805 803 } 806 804 -
src/ResolvExpr/RenameVars.cc
reb50842 r937e51d 10 10 // Created On : Sun May 17 12:05:18 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 17 12:07:59201513 // Update Count : 212 // Last Modified On : Mon Jun 8 14:51:35 2015 13 // Update Count : 4 14 14 // 15 15 16 #include <s trstream>16 #include <sstream> 17 17 18 18 #include "RenameVars.h" … … 122 122 // renames all "forall" type names to `_${level}_${name}' 123 123 for ( std::list< TypeDecl* >::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) { 124 std::ostr stream output;124 std::ostringstream output; 125 125 output << "_" << level << "_" << (*i)->get_name(); 126 std::string newname( output.str() , output.pcount());126 std::string newname( output.str() ); 127 127 mapStack.front()[ (*i)->get_name() ] = newname; 128 128 (*i)->set_name( newname ); -
src/ResolvExpr/Resolver.cc
reb50842 r937e51d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sun May 17 12:18:17201513 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:20:35 2015 13 // Update Count : 156 14 14 // 15 15 … … 38 38 virtual void visit( TypeDecl *typeDecl ); 39 39 40 virtual void visit( ArrayType * at ); 41 40 42 virtual void visit( ExprStmt *exprStmt ); 41 43 virtual void visit( IfStmt *ifStmt ); … … 45 47 virtual void visit( ChooseStmt *switchStmt ); 46 48 virtual void visit( CaseStmt *caseStmt ); 49 virtual void visit( BranchStmt *branchStmt ); 47 50 virtual void visit( ReturnStmt *returnStmt ); 48 51 … … 50 53 virtual void visit( ListInit *listInit ); 51 54 private: 55 typedef std::list< Initializer * >::iterator InitIterator; 56 57 void resolveAggrInit( AggregateDecl *, InitIterator &, InitIterator & ); 58 void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & ); 59 52 60 std::list< Type * > functionReturn; 53 61 Type *initContext; … … 158 166 SymTab::Indexer::visit( objectDecl ); 159 167 } 160 168 169 void Resolver::visit( ArrayType * at ) { 170 if ( at->get_dimension() ) { 171 BasicType arrayLenType = BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ); 172 CastExpr *castExpr = new CastExpr( at->get_dimension(), arrayLenType.clone() ); 173 Expression *newExpr = findSingleExpression( castExpr, *this ); 174 delete at->get_dimension(); 175 at->set_dimension( newExpr ); 176 } 177 Visitor::visit( at ); 178 } 179 161 180 void Resolver::visit( TypeDecl *typeDecl ) { 162 181 if ( typeDecl->get_base() ) { … … 166 185 SymTab::Indexer::visit( typeDecl ); 167 186 } 168 187 169 188 void Resolver::visit( FunctionDecl *functionDecl ) { 170 189 #if 0 … … 252 271 } 253 272 273 void Resolver::visit( BranchStmt *branchStmt ) { 274 // must resolve the argument for a computed goto 275 if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement 276 if ( NameExpr * arg = dynamic_cast< NameExpr * >( branchStmt->get_computedTarget() ) ) { 277 VoidType v = Type::Qualifiers(); // cast to void * for the alternative finder 278 PointerType pt( Type::Qualifiers(), v.clone() ); 279 CastExpr * castExpr = new CastExpr( arg, pt.clone() ); 280 Expression * newExpr = findSingleExpression( castExpr, *this ); // find best expression 281 branchStmt->set_target( newExpr ); 282 } // if 283 } // if 284 } 285 254 286 void Resolver::visit( ReturnStmt *returnStmt ) { 255 287 if ( returnStmt->get_expr() ) { … … 260 292 returnStmt->set_expr( newExpr ); 261 293 } // if 294 } 295 296 template< typename T > 297 bool isCharType( T t ) { 298 if ( BasicType * bt = dynamic_cast< BasicType * >( t ) ) { 299 return bt->get_kind() == BasicType::Char || bt->get_kind() == BasicType::SignedChar || 300 bt->get_kind() == BasicType::UnsignedChar; 301 } 302 return false; 262 303 } 263 304 … … 286 327 delete castExpr; 287 328 singleInit->set_value( newExpr ); 329 330 // check if initializing type is char[] 331 if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) { 332 if ( isCharType( at->get_base() ) ) { 333 // check if the resolved type is char * 334 if ( PointerType * pt = dynamic_cast< PointerType *>( newExpr->get_results().front() ) ) { 335 if ( isCharType( pt->get_base() ) ) { 336 // strip cast if we're initializing a char[] with a char *, e.g. 337 // char x[] = "hello"; 338 CastExpr *ce = dynamic_cast< CastExpr * >( newExpr ); 339 singleInit->set_value( ce->get_arg() ); 340 ce->set_arg( NULL ); 341 delete ce; 342 } 343 } 344 } 345 } 288 346 } // if 289 347 // singleInit->get_value()->accept( *this ); 290 348 } 291 349 292 void Resolver::visit( ListInit *listInit ) { 293 Visitor::visit(listInit); 350 void Resolver::resolveSingleAggrInit( Declaration * dcl, InitIterator & init, InitIterator & initEnd ) { 351 DeclarationWithType * dt = dynamic_cast< DeclarationWithType * >( dcl ); 352 assert( dt ); 353 initContext = dt->get_type(); 354 try { 355 if ( init == initEnd ) return; // stop when there are no more initializers 356 (*init)->accept( *this ); 357 ++init; // made it past an initializer 358 } catch( SemanticError & ) { 359 // need to delve deeper, if you can 360 if ( StructInstType * sit = dynamic_cast< StructInstType * >( dt->get_type() ) ) { 361 resolveAggrInit( sit->get_baseStruct(), init, initEnd ); 362 } else if ( UnionInstType * uit = dynamic_cast< UnionInstType * >( dt->get_type() ) ) { 363 resolveAggrInit( uit->get_baseUnion(), init, initEnd ); 364 } else { 365 // member is not an aggregate type, so can't go any deeper 366 367 // might need to rethink what is being thrown 368 throw; 369 } // if 370 } 371 } 372 373 void Resolver::resolveAggrInit( AggregateDecl * aggr, InitIterator & init, InitIterator & initEnd ) { 374 if ( StructDecl * st = dynamic_cast< StructDecl * >( aggr ) ) { 375 // want to resolve each initializer to the members of the struct, 376 // but if there are more initializers than members we should stop 377 list< Declaration * >::iterator it = st->get_members().begin(); 378 for ( ; it != st->get_members().end(); ++it) { 379 resolveSingleAggrInit( *it, init, initEnd ); 380 } 381 } else if ( UnionDecl * un = dynamic_cast< UnionDecl * >( aggr ) ) { 382 // only resolve to the first member of a union 383 resolveSingleAggrInit( *un->get_members().begin(), init, initEnd ); 384 } // if 385 } 386 387 void Resolver::visit( ListInit * listInit ) { 388 InitIterator iter = listInit->begin_initializers(); 389 InitIterator end = listInit->end_initializers(); 390 391 if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) { 392 // resolve each member to the base type of the array 393 for ( ; iter != end; ++iter ) { 394 initContext = at->get_base(); 395 (*iter)->accept( *this ); 396 } // for 397 } else if ( StructInstType * st = dynamic_cast< StructInstType * >( initContext ) ) { 398 resolveAggrInit( st->get_baseStruct(), iter, end ); 399 } else if ( UnionInstType *st = dynamic_cast< UnionInstType * >( initContext ) ) { 400 resolveAggrInit( st->get_baseUnion(), iter, end ); 401 } else { 402 // basic types are handled here 403 Visitor::visit( listInit ); 404 } 405 294 406 #if 0 295 407 if ( ArrayType *at = dynamic_cast<ArrayType*>(initContext) ) { -
src/ResolvExpr/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:53:28 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += ResolvExpr/AlternativeFinder.cc \ 2 ResolvExpr/Alternative.cc \18 ResolvExpr/Alternative.cc \ 3 19 ResolvExpr/Unify.cc \ 4 20 ResolvExpr/PtrsAssignable.cc \ … … 16 32 ResolvExpr/Occurs.cc \ 17 33 ResolvExpr/TypeEnvironment.cc 18 -
src/SymTab/Indexer.cc
reb50842 r937e51d 10 10 // Created On : Sun May 17 21:37:33 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:49:55201513 // Update Count : 312 // Last Modified On : Fri Jun 5 08:05:17 2015 13 // Update Count : 5 14 14 // 15 15 … … 51 51 } 52 52 53 /******** 54 * A NOTE ON THE ORDER OF TRAVERSAL 55 * 56 * Types and typedefs have their base types visited before they are added to the type table. 57 * This is ok, since there is no such thing as a recursive type or typedef. 58 * typedef struct { T *x; } T; // never allowed 59 * 60 * for structs/unions, it is possible to have recursion, so the decl should be added as if it's 61 * incomplete to begin, the members are traversed, and then the complete type should be added 62 * (assuming the type is completed by this particular declaration). 63 * struct T { struct T *x; }; // allowed 64 * 65 * It's important to add the complete type to the symbol table *after* the members/base has been 66 * traversed, since that traversal may modify the definition of the type and these modifications 67 * should be visible when the symbol table is queried later in this pass. 68 * 69 * TODO: figure out whether recursive contexts are sensible/possible/reasonable. 70 */ 53 54 // A NOTE ON THE ORDER OF TRAVERSAL 55 // 56 // Types and typedefs have their base types visited before they are added to the type table. This is ok, since there is 57 // no such thing as a recursive type or typedef. 58 // 59 // typedef struct { T *x; } T; // never allowed 60 // 61 // for structs/unions, it is possible to have recursion, so the decl should be added as if it's incomplete to begin, the 62 // members are traversed, and then the complete type should be added (assuming the type is completed by this particular 63 // declaration). 64 // 65 // struct T { struct T *x; }; // allowed 66 // 67 // It is important to add the complete type to the symbol table *after* the members/base has been traversed, since that 68 // traversal may modify the definition of the type and these modifications should be visible when the symbol table is 69 // queried later in this pass. 70 // 71 // TODO: figure out whether recursive contexts are sensible/possible/reasonable. 72 71 73 72 74 void Indexer::visit( TypeDecl *typeDecl ) { 73 75 // see A NOTE ON THE ORDER OF TRAVERSAL, above 74 // note that assertions come after the type is added to the symtab, since they are n't part75 // of the type properand may depend on the type itself76 // note that assertions come after the type is added to the symtab, since they are not part of the type proper 77 // and may depend on the type itself 76 78 enterScope(); 77 79 acceptAll( typeDecl->get_parameters(), *this ); -
src/SymTab/Mangler.cc
reb50842 r937e51d 10 10 // Created On : Sun May 17 21:40:29 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:50:47201513 // Update Count : 312 // Last Modified On : Mon Jun 8 15:12:12 2015 13 // Update Count : 8 14 14 // 15 15 … … 160 160 } else { 161 161 printQualifiers( typeInst ); 162 std::ostr stream numStream;162 std::ostringstream numStream; 163 163 numStream << varNum->second.first; 164 mangleName << (numStream.pcount() + 1);165 164 switch ( (TypeDecl::Kind )varNum->second.second ) { 166 165 case TypeDecl::Any: … … 174 173 break; 175 174 } // switch 176 mangleName << std::string( numStream.str(), numStream.pcount());175 mangleName << numStream.str(); 177 176 } // if 178 177 } … … 220 219 sub_mangler.varNums = varNums; 221 220 (*assert)->accept( sub_mangler ); 222 assertionNames.push_back( s td::string( sub_mangler.mangleName.str(), sub_mangler.mangleName.pcount()) );221 assertionNames.push_back( sub_mangler.mangleName.str() ); 223 222 } // for 224 223 } // for -
src/SymTab/Mangler.h
reb50842 r937e51d 10 10 // Created On : Sun May 17 21:44:03 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:49:21201513 // Update Count : 312 // Last Modified On : Mon Jun 8 14:47:14 2015 13 // Update Count : 5 14 14 // 15 15 … … 17 17 #define MANGLER_H 18 18 19 #include <s trstream>19 #include <sstream> 20 20 #include "SynTree/SynTree.h" 21 21 #include "SynTree/Visitor.h" … … 43 43 virtual void visit( TupleType *tupleType ); 44 44 45 std::string get_mangleName() { return std::string( mangleName.str(), mangleName.pcount()); }45 std::string get_mangleName() { return mangleName.str(); } 46 46 private: 47 std::ostr stream mangleName;47 std::ostringstream mangleName; 48 48 typedef std::map< std::string, std::pair< int, int > > VarMapType; 49 49 VarMapType varNums; -
src/SymTab/Validate.cc
reb50842 r937e51d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:50:04 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 19 16:50:09201513 // Update Count : 3 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:20:50 2015 13 // Update Count : 30 14 14 // 15 15 … … 45 45 #include "SynTree/Type.h" 46 46 #include "SynTree/Statement.h" 47 #include "SynTree/TypeSubstitution.h" 47 48 #include "Indexer.h" 48 #include "SynTree/TypeSubstitution.h"49 49 #include "FixFunction.h" 50 50 #include "ImplementationType.h" … … 176 176 acceptAll( translationUnit, pass1 ); 177 177 acceptAll( translationUnit, pass2 ); 178 // need to collect all of the assignment operators prior to 179 // this point and only generate assignment operators if one doesn't exist 178 180 AddStructAssignment::addStructAssignment( translationUnit ); 179 181 acceptAll( translationUnit, pass3 ); … … 506 508 if ( ! array->get_dimension() ) return; 507 509 508 ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration ::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );510 ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ); 509 511 *out++ = new DeclStmt( noLabels, index ); 510 512 … … 544 546 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 545 547 546 ObjectDecl *returnVal = new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );548 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 547 549 assignType->get_returnVals().push_back( returnVal ); 548 550 549 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );551 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 ); 550 552 assignType->get_parameters().push_back( dstParam ); 551 553 552 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );554 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 ); 553 555 assignType->get_parameters().push_back( srcParam ); 554 556 555 557 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 556 558 // because each unit generates copies of the default routines for each aggregate. 557 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration ::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );559 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false ); 558 560 assignDecl->fixUniqueId(); 559 561 560 562 for ( std::list< Declaration * >::const_iterator member = aggregateDecl->get_members().begin(); member != aggregateDecl->get_members().end(); ++member ) { 561 563 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType * >( *member ) ) { 564 // query the type qualifiers of this field and skip assigning it if it is marked const. 565 // If it is an array type, we need to strip off the array layers to find its qualifiers. 566 Type * type = dwt->get_type(); 567 while ( ArrayType * at = dynamic_cast< ArrayType * >( type ) ) { 568 type = at->get_base(); 569 } 570 571 if ( type->get_qualifiers().isConst ) { 572 // don't assign const members 573 continue; 574 } 575 562 576 if ( ArrayType *array = dynamic_cast< ArrayType * >( dwt->get_type() ) ) { 563 577 makeArrayAssignment( srcParam, dstParam, dwt, array, back_inserter( assignDecl->get_statements()->get_kids() ) ); … … 575 589 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 576 590 577 ObjectDecl *returnVal = new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );591 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 578 592 assignType->get_returnVals().push_back( returnVal ); 579 593 580 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );594 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 ); 581 595 assignType->get_parameters().push_back( dstParam ); 582 596 583 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );597 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 ); 584 598 assignType->get_parameters().push_back( srcParam ); 585 599 586 600 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 587 601 // because each unit generates copies of the default routines for each aggregate. 588 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration ::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );602 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false ); 589 603 assignDecl->fixUniqueId(); 590 604 … … 621 635 TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false ); 622 636 typeInst->set_baseType( typeDecl ); 623 ObjectDecl *src = new ObjectDecl( "_src", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );624 ObjectDecl *dst = new ObjectDecl( "_dst", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );637 ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 ); 638 ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 ); 625 639 if ( typeDecl->get_base() ) { 626 640 stmts = new CompoundStmt( std::list< Label >() ); … … 631 645 } // if 632 646 FunctionType *type = new FunctionType( Type::Qualifiers(), false ); 633 type->get_returnVals().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );647 type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) ); 634 648 type->get_parameters().push_back( dst ); 635 649 type->get_parameters().push_back( src ); 636 FunctionDecl *func = new FunctionDecl( "?=?", Declaration ::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );650 FunctionDecl *func = new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false, false ); 637 651 declsToAdd.push_back( func ); 638 652 } 639 653 640 654 void addDecls( std::list< Declaration * > &declsToAdd, std::list< Statement * > &statements, std::list< Statement * >::iterator i ) { 641 if ( ! declsToAdd.empty() ) { 642 for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) { 643 statements.insert( i, new DeclStmt( noLabels, *decl ) ); 644 } // for 645 declsToAdd.clear(); 646 } // if 655 for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) { 656 statements.insert( i, new DeclStmt( noLabels, *decl ) ); 657 } // for 658 declsToAdd.clear(); 647 659 } 648 660 -
src/SymTab/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:53:50 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += SymTab/IdTable.cc \ 2 18 SymTab/Indexer.cc \ -
src/SynTree/AggregateDecl.cc
reb50842 r937e51d 10 10 // Created On : Sun May 17 23:56:39 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:52:08201513 // Update Count : 512 // Last Modified On : Sat Jun 13 08:12:49 2015 13 // Update Count : 6 14 14 // 15 15 … … 19 19 20 20 21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration ::NoStorageClass, LinkageSpec::Cforall ) {21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, DeclarationNode::NoStorageClass, LinkageSpec::Cforall ) { 22 22 } 23 23 -
src/SynTree/ArrayType.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 07:52:08 201513 // Update Count : 212 // Last Modified On : Sat Jun 6 14:11:48 2015 13 // Update Count : 9 14 14 // 15 15 … … 25 25 26 26 ArrayType::ArrayType( const ArrayType &other ) 27 : Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),28 isVarLen( other.isVarLen ), isStatic( other.isStatic ) {27 : Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ), 28 isVarLen( other.isVarLen ), isStatic( other.isStatic ) { 29 29 } 30 30 … … 43 43 } else if ( dimension ) { 44 44 os << "array of "; 45 dimension->print( os, indent );46 45 } else { 47 46 os << "open array of "; … … 49 48 if ( base ) { 50 49 base->print( os, indent ); 50 } // if 51 if ( dimension ) { 52 os << "with dimension of "; 53 dimension->print( os, indent ); 51 54 } // if 52 55 } -
src/SynTree/BasicType.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 07:55:16 201513 // Update Count : 112 // Last Modified On : Sun Jun 7 08:44:36 2015 13 // Update Count : 5 14 14 // 15 15 -
src/SynTree/CompoundStmt.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:11:02201513 // Update Count : 112 // Last Modified On : Tue Jun 23 11:37:49 2015 13 // Update Count : 3 14 14 // 15 15 … … 33 33 } 34 34 35 void CompoundStmt::print( std::ostream &os, int indent ) {36 os << "\r" << string(indent, ' ') << "CompoundStmt" << endl ;37 printAll( kids, os, indent +2 );35 void CompoundStmt::print( std::ostream &os, int indent ) const { 36 os << string( indent, ' ' ) << "CompoundStmt" << endl ; 37 printAll( kids, os, indent + 2 ); 38 38 } 39 39 -
src/SynTree/Constant.cc
reb50842 r937e51d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon May 18 08:13:25201513 // Update Count : 111 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 10 14:41:03 2015 13 // Update Count : 8 14 14 // 15 15 … … 20 20 #include "Type.h" 21 21 22 Constant::Constant( Type * _type, std::string _value ) : type(_type), value(_value) {}22 Constant::Constant( Type *type_, std::string value_ ) : type( type_ ), value( value_ ) {} 23 23 24 24 Constant::~Constant() {} … … 27 27 28 28 void Constant::print( std::ostream &os ) const { 29 os << value;29 os << "(" << value; 30 30 if ( type ) { 31 os << " (type: ";31 os << ": "; 32 32 type->print( os ); 33 os << ")";34 33 } // if 34 os << ")"; 35 35 } 36 36 -
src/SynTree/DeclStmt.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:16:03201513 // Update Count : 212 // Last Modified On : Tue Jun 23 11:38:15 2015 13 // Update Count : 4 14 14 // 15 15 … … 28 28 } 29 29 30 void DeclStmt::print( std::ostream &os, int indent ) { 30 void DeclStmt::print( std::ostream &os, int indent ) const { 31 assert( decl != 0 ); 31 32 os << "Declaration of "; 32 if ( decl ) { 33 decl->print( os, indent ); 34 } // if 33 decl->print( os, indent ); 35 34 } 36 35 -
src/SynTree/Declaration.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:18:35201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:07:20 2015 13 // Update Count : 9 14 14 // 15 15 … … 22 22 #include "utility.h" 23 23 24 const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" };25 26 24 static UniqueId lastUniqueId = 0; 27 25 typedef std::map< UniqueId, Declaration* > IdMapType; 28 26 static IdMapType idMap; 29 27 30 Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )31 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {28 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ) 29 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) { 32 30 } 33 31 34 32 Declaration::Declaration( const Declaration &other ) 35 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {33 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) { 36 34 } 37 35 … … 44 42 } 45 43 46 /* static class method */47 44 Declaration *Declaration::declFromId( UniqueId id ) { 48 45 IdMapType::const_iterator i = idMap.find( id ); 49 if ( i != idMap.end() ) { 50 return i->second; 51 } else { 52 return 0; 53 } // if 46 return i != idMap.end() ? i->second : 0; 54 47 } 55 48 56 /* static class method */57 49 void Declaration::dumpIds( std::ostream &os ) { 58 50 for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) { -
src/SynTree/Declaration.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:46:25201513 // Update Count : 2 12 // Last Modified On : Sat Jun 13 09:10:31 2015 13 // Update Count : 25 14 14 // 15 15 … … 21 21 #include "Mutator.h" 22 22 #include "Parser/LinkageSpec.h" 23 #include "Parser/ParseNode.h" 23 24 24 25 class Declaration { 25 26 public: 26 enum StorageClass { 27 NoStorageClass, 28 Extern, 29 Static, 30 Auto, 31 Register, 32 Inline, 33 Fortran, 34 }; 35 36 Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage ); 27 Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ); 37 28 Declaration( const Declaration &other ); 38 29 virtual ~Declaration(); 39 30 40 std::stringget_name() const { return name; }31 const std::string &get_name() const { return name; } 41 32 void set_name( std::string newValue ) { name = newValue; } 42 StorageClass get_storageClass() const { return storageClass; }43 void set_storageClass( StorageClass newValue ) { storageClass = newValue; }33 DeclarationNode::StorageClass get_storageClass() const { return storageClass; } 34 void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; } 44 35 LinkageSpec::Type get_linkage() const { return linkage; } 45 36 void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; } … … 53 44 virtual void printShort( std::ostream &os, int indent = 0 ) const = 0; 54 45 55 static const char* storageClassName[];56 57 46 static void dumpIds( std::ostream &os ); 58 47 static Declaration *declFromId( UniqueId id ); 59 48 private: 60 49 std::string name; 61 StorageClass storageClass;50 DeclarationNode::StorageClass storageClass; 62 51 LinkageSpec::Type linkage; 63 52 UniqueId uniqueId; … … 66 55 class DeclarationWithType : public Declaration { 67 56 public: 68 DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );57 DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ); 69 58 DeclarationWithType( const DeclarationWithType &other ); 70 59 virtual ~DeclarationWithType(); … … 86 75 typedef DeclarationWithType Parent; 87 76 public: 88 ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );77 ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init ); 89 78 ObjectDecl( const ObjectDecl &other ); 90 79 virtual ~ObjectDecl(); … … 112 101 typedef DeclarationWithType Parent; 113 102 public: 114 FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline);103 FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn ); 115 104 FunctionDecl( const FunctionDecl &other ); 116 105 virtual ~FunctionDecl(); … … 123 112 CompoundStmt *get_statements() const { return statements; } 124 113 void set_statements( CompoundStmt *newValue ) { statements = newValue; } 125 //bool get_isInline() const { return isInline; }126 // void set_isInline( bool newValue ) { isInline = newValue; }114 bool get_isInline() const { return isInline; } 115 bool get_isNoreturn() const { return isNoreturn; } 127 116 std::list< std::string >& get_oldIdents() { return oldIdents; } 128 117 std::list< Declaration* >& get_oldDecls() { return oldDecls; } … … 136 125 FunctionType *type; 137 126 CompoundStmt *statements; 138 bool isInline ;127 bool isInline, isNoreturn; 139 128 std::list< std::string > oldIdents; 140 129 std::list< Declaration* > oldDecls; … … 144 133 typedef Declaration Parent; 145 134 public: 146 NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );135 NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ); 147 136 NamedTypeDecl( const TypeDecl &other ); 148 137 virtual ~NamedTypeDecl(); … … 169 158 enum Kind { Any, Dtype, Ftype }; 170 159 171 TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );160 TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ); 172 161 TypeDecl( const TypeDecl &other ); 173 162 … … 185 174 typedef NamedTypeDecl Parent; 186 175 public: 187 TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}176 TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {} 188 177 TypedefDecl( const TypedefDecl &other ) : Parent( other ) {} 189 178 -
src/SynTree/DeclarationWithType.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:20:23201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:08:07 2015 13 // Update Count : 3 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )20 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ) 21 21 : Declaration( name, sc, linkage ) { 22 22 } -
src/SynTree/Expression.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:27:07201513 // Update Count : 212 // Last Modified On : Sun Jun 7 08:40:46 2015 13 // Update Count : 16 14 14 // 15 15 … … 50 50 } 51 51 52 void Expression::print( std::ostream &os, int indent) const {52 void Expression::print( std::ostream &os, int indent ) const { 53 53 if ( env ) { 54 os << std::string( indent, ' ') << "with environment:" << std::endl;54 os << std::string( indent, ' ' ) << "with environment:" << std::endl; 55 55 env->print( os, indent+2 ); 56 56 } // if 57 57 58 58 if ( argName ) { 59 os << std::string( indent, ' ') << "with designator:";59 os << std::string( indent, ' ' ) << "with designator:"; 60 60 argName->print( os, indent+2 ); 61 61 } // if … … 72 72 73 73 void ConstantExpr::print( std::ostream &os, int indent ) const { 74 os << std::string(indent, ' ') << "Constant Expression: " ; 75 constant.print(os); 76 os << std::endl; 74 os << "constant expression " ; 75 constant.print( os ); 77 76 Expression::print( os, indent ); 78 77 } … … 93 92 94 93 void VariableExpr::print( std::ostream &os, int indent ) const { 95 os << std::string( indent, ' ') << "Variable Expression: ";94 os << std::string( indent, ' ' ) << "Variable Expression: "; 96 95 97 96 Declaration *decl = get_var(); … … 122 121 123 122 void SizeofExpr::print( std::ostream &os, int indent) const { 124 os << std::string( indent, ' ') << "Sizeof Expression on: ";123 os << std::string( indent, ' ' ) << "Sizeof Expression on: "; 125 124 126 125 if (isType) … … 152 151 153 152 void AttrExpr::print( std::ostream &os, int indent) const { 154 os << std::string( indent, ' ') << "Attr ";153 os << std::string( indent, ' ' ) << "Attr "; 155 154 attr->print( os, indent + 2 ); 156 155 if ( isType || expr ) { … … 184 183 185 184 void CastExpr::print( std::ostream &os, int indent ) const { 186 os << std::string( indent, ' ') << "Cast of:" << std::endl;185 os << std::string( indent, ' ' ) << "Cast of:" << std::endl; 187 186 arg->print(os, indent+2); 188 os << std::endl << std::string( indent, ' ') << "to:" << std::endl;187 os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl; 189 188 if ( results.empty() ) { 190 os << std::string( indent+2, ' ') << "nothing" << std::endl;189 os << std::string( indent+2, ' ' ) << "nothing" << std::endl; 191 190 } else { 192 191 printAll(results, os, indent+2); … … 207 206 208 207 void UntypedMemberExpr::print( std::ostream &os, int indent ) const { 209 os << std::string( indent, ' ') << "Member Expression, with field: " << get_member();208 os << std::string( indent, ' ' ) << "Member Expression, with field: " << get_member(); 210 209 211 210 Expression *agg = get_aggregate(); 212 os << std::string( indent, ' ') << "from aggregate: ";211 os << std::string( indent, ' ' ) << "from aggregate: "; 213 212 if (agg != 0) agg->print(os, indent + 2); 214 213 Expression::print( os, indent ); … … 234 233 235 234 void MemberExpr::print( std::ostream &os, int indent ) const { 236 os << std::string( indent, ' ') << "Member Expression, with field: " << std::endl;235 os << std::string( indent, ' ' ) << "Member Expression, with field: " << std::endl; 237 236 238 237 assert( member ); 239 os << std::string( indent + 2, ' ');238 os << std::string( indent + 2, ' ' ); 240 239 member->print( os, indent + 2 ); 241 240 os << std::endl; 242 241 243 242 Expression *agg = get_aggregate(); 244 os << std::string( indent, ' ') << "from aggregate: " << std::endl;243 os << std::string( indent, ' ' ) << "from aggregate: " << std::endl; 245 244 if (agg != 0) agg->print(os, indent + 2); 246 245 Expression::print( os, indent ); … … 261 260 262 261 void UntypedExpr::print( std::ostream &os, int indent ) const { 263 os << std::string( indent, ' ') << "Applying untyped: " << std::endl;262 os << std::string( indent, ' ' ) << "Applying untyped: " << std::endl; 264 263 function->print(os, indent + 4); 265 os << "\r" << std::string(indent, ' ') << "...to: " << std::endl;264 os << std::string( indent, ' ' ) << "...to: " << std::endl; 266 265 printArgs(os, indent + 4); 267 266 Expression::print( os, indent ); … … 282 281 283 282 void NameExpr::print( std::ostream &os, int indent ) const { 284 os << std::string( indent, ' ') << "Name: " << get_name() << std::endl;283 os << std::string( indent, ' ' ) << "Name: " << get_name() << std::endl; 285 284 Expression::print( os, indent ); 286 285 } … … 301 300 302 301 void LogicalExpr::print( std::ostream &os, int indent )const { 303 os << std::string( indent, ' ') << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";302 os << std::string( indent, ' ' ) << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: "; 304 303 arg1->print(os); 305 304 os << " and "; … … 323 322 324 323 void ConditionalExpr::print( std::ostream &os, int indent ) const { 325 os << std::string( indent, ' ') << "Conditional expression on: " << std::endl;324 os << std::string( indent, ' ' ) << "Conditional expression on: " << std::endl; 326 325 arg1->print( os, indent+2 ); 327 os << std::string( indent, ' ') << "First alternative:" << std::endl;326 os << std::string( indent, ' ' ) << "First alternative:" << std::endl; 328 327 arg2->print( os, indent+2 ); 329 os << std::string( indent, ' ') << "Second alternative:" << std::endl;328 os << std::string( indent, ' ' ) << "Second alternative:" << std::endl; 330 329 arg3->print( os, indent+2 ); 331 330 os << std::endl; … … 334 333 335 334 void UntypedValofExpr::print( std::ostream &os, int indent ) const { 336 os << std::string( indent, ' ') << "Valof Expression: " << std::endl;335 os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl; 337 336 if ( get_body() != 0 ) 338 337 get_body()->print( os, indent + 2 ); -
src/SynTree/Expression.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:46:15201513 // Update Count : 312 // Last Modified On : Sun Jun 7 22:03:44 2015 13 // Update Count : 4 14 14 // 15 15 … … 125 125 virtual ~NameExpr(); 126 126 127 std::stringget_name() const { return name; }127 const std::string &get_name() const { return name; } 128 128 void set_name( std::string newValue ) { name = newValue; } 129 129 -
src/SynTree/FunctionDecl.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 21 21:31:16201513 // Update Count : 1 112 // Last Modified On : Sat Jun 13 09:10:32 2015 13 // Update Count : 16 14 14 // 15 15 … … 21 21 #include "utility.h" 22 22 23 FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline)24 : Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ) {23 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn ) 24 : Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ), isNoreturn( isNoreturn ) { 25 25 // this is a brazen hack to force the function "main" to have C linkage 26 26 if ( name == "main" ) { … … 30 30 31 31 FunctionDecl::FunctionDecl( const FunctionDecl &other ) 32 : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline) {32 : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ), isNoreturn( other.isNoreturn ) { 33 33 } 34 34 … … 52 52 53 53 if ( get_name() != "" ) { 54 os << get_name() << ": a";54 os << get_name() << ": "; 55 55 } // if 56 56 if ( get_linkage() != LinkageSpec::Cforall ) { … … 60 60 os << "inline "; 61 61 } // if 62 if ( get_storageClass() != NoStorageClass ) { 63 os << storageClassName[ get_storageClass() ] << ' '; 62 if ( isNoreturn ) { 63 os << "_Noreturn "; 64 } // if 65 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 66 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 64 67 } // if 65 68 if ( get_type() ) { … … 70 73 71 74 if ( ! oldIdents.empty() ) { 72 os << string( indent +2, ' ' ) << "with parameter names" << endl;75 os << string( indent + 2, ' ' ) << "with parameter names" << endl; 73 76 for ( std::list< std::string >::const_iterator i = oldIdents.begin(); i != oldIdents.end(); ++i ) { 74 os << string( indent +4, ' ' ) << *i << endl;77 os << string( indent + 4, ' ' ) << *i << endl; 75 78 } // for 76 79 } // if 77 80 78 81 if ( ! oldDecls.empty() ) { 79 os << string( indent +2, ' ' ) << "with parameter declarations" << endl;80 printAll( oldDecls, os, indent +4 );82 os << string( indent + 2, ' ' ) << "with parameter declarations" << endl; 83 printAll( oldDecls, os, indent + 4 ); 81 84 } // if 82 85 if ( statements ) { 83 os << string( indent +2, ' ' ) << "with body " << endl;84 statements->print( os, indent +4 );86 os << string( indent + 2, ' ' ) << "with body " << endl; 87 statements->print( os, indent + 4 ); 85 88 } // if 86 89 } … … 91 94 92 95 if ( get_name() != "" ) { 93 os << get_name() << ": a";96 os << get_name() << ": "; 94 97 } // if 95 98 if ( isInline ) { 96 99 os << "inline "; 97 100 } // if 98 if ( get_storageClass() != NoStorageClass ) { 99 os << storageClassName[ get_storageClass() ] << ' '; 101 if ( isNoreturn ) { 102 os << "_Noreturn "; 103 } // if 104 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 105 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 100 106 } // if 101 107 if ( get_type() ) { -
src/SynTree/Mutator.h
reb50842 r937e51d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon May 18 10:12:28 201513 // Update Count : 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Fri May 29 16:34:08 2015 13 // Update Count : 4 14 14 // 15 15 #include <cassert> … … 104 104 assert( newnode ); 105 105 return newnode; 106 /// return tree->acceptMutator( mutator );107 106 } else { 108 107 return 0; -
src/SynTree/NamedTypeDecl.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 10:13:19201513 // Update Count : 112 // Last Modified On : Sat Jun 13 08:13:55 2015 13 // Update Count : 3 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base )20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base ) 21 21 : Parent( name, sc, LinkageSpec::Cforall ), base( base ) {} 22 22 … … 37 37 38 38 if ( get_name() != "" ) { 39 os << get_name() << ": a";39 os << get_name() << ": "; 40 40 } // if 41 if ( get_storageClass() != NoStorageClass ) {42 os << storageClassName[ get_storageClass() ] << ' ';41 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 42 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 43 43 } // if 44 44 os << typeString(); … … 61 61 62 62 if ( get_name() != "" ) { 63 os << get_name() << ": a";63 os << get_name() << ": "; 64 64 } // if 65 if ( get_storageClass() != NoStorageClass ) {66 os << storageClassName[ get_storageClass() ] << ' ';65 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 66 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 67 67 } // if 68 68 os << typeString(); -
src/SynTree/ObjectDecl.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 10:14:18201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:10:16 2015 13 // Update Count : 15 14 14 // 15 15 … … 20 20 #include "utility.h" 21 21 22 ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )22 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init ) 23 23 : Parent( name, sc, linkage ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) { 24 24 } … … 36 36 void ObjectDecl::print( std::ostream &os, int indent ) const { 37 37 if ( get_name() != "" ) { 38 os << get_name() << ": a";38 os << get_name() << ": "; 39 39 } // if 40 40 … … 43 43 } // if 44 44 45 if ( get_storageClass() != NoStorageClass ) {46 os << storageClassName[ get_storageClass() ] << ' ';45 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 46 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 47 47 } // if 48 48 … … 65 65 66 66 void ObjectDecl::printShort( std::ostream &os, int indent ) const { 67 #if 0 68 if ( get_mangleName() != "") { 69 os << get_mangleName() << ": "; 70 } else 71 #endif 67 72 if ( get_name() != "" ) { 68 os << get_name() << ": a";73 os << get_name() << ": "; 69 74 } // if 70 75 71 if ( get_storageClass() != NoStorageClass ) {72 os << storageClassName[ get_storageClass() ] << ' ';76 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 77 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 73 78 } // if 74 79 -
src/SynTree/ReferenceToType.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:52:40201513 // Update Count : 312 // Last Modified On : Sun Jun 7 08:31:48 2015 13 // Update Count : 4 14 14 // 15 15 … … 101 101 102 102 Type::print( os, indent ); 103 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " afunction type) ";103 os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) "; 104 104 if ( ! parameters.empty() ) { 105 105 os << endl << std::string( indent, ' ' ) << "with parameters" << endl; -
src/SynTree/Statement.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 10:55:19 201513 // Update Count : 2 12 // Last Modified On : Tue Jun 23 11:42:09 2015 13 // Update Count : 21 14 14 // 15 15 … … 30 30 Statement::Statement( std::list<Label> _labels ) : labels(_labels ) {} 31 31 32 void Statement::print( std::ostream &, int indent ) {}32 void Statement::print( std::ostream &, int indent ) const {} 33 33 34 34 Statement::~Statement() {} … … 38 38 ExprStmt::~ExprStmt() {} 39 39 40 void ExprStmt::print( std::ostream &os, int indent ) {41 os << "\r" << string(indent, ' ') << "Expression Statement:" << endl;40 void ExprStmt::print( std::ostream &os, int indent ) const { 41 os << string( indent, ' ' ) << "Expression Statement:" << endl; 42 42 expr->print( os, indent + 2 ); 43 43 } … … 46 46 47 47 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) : 48 Statement( labels ), target(_target ), type(_type ) {48 Statement( labels ), originalTarget(_target ), target(_target ), type(_type ) { 49 49 //actually this is a syntactic error signaled by the parser 50 50 if ( type == BranchStmt::Goto && target.size() == 0 ) … … 58 58 } 59 59 60 void BranchStmt::print( std::ostream &os, int indent ) {61 os << "\r" << string( indent, ' ') << "Branch (" << brType[type] << ")" << endl ;60 void BranchStmt::print( std::ostream &os, int indent ) const { 61 os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ; 62 62 } 63 63 … … 68 68 } 69 69 70 void ReturnStmt::print( std::ostream &os, int indent ) {71 os << "\r" << std::string( indent, ' ') << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";70 void ReturnStmt::print( std::ostream &os, int indent ) const { 71 os << std::string( indent, ' ' ) << string ( isThrow? "Throw":"Return" ) << " Statement, returning: "; 72 72 if ( expr != 0 ) expr->print( os ); 73 73 os << endl; … … 79 79 IfStmt::~IfStmt() {} 80 80 81 void IfStmt::print( std::ostream &os, int indent ) {82 os << "\r" << string( indent, ' ') << "If on condition: " << endl ;81 void IfStmt::print( std::ostream &os, int indent ) const { 82 os << string( indent, ' ' ) << "If on condition: " << endl ; 83 83 condition->print( os, indent + 4 ); 84 84 85 os << string( indent, ' ' ) << ".... and branches: " << endl;85 os << string( indent, ' ' ) << ".... and branches: " << endl; 86 86 87 87 thenPart->print( os, indent + 4 ); … … 103 103 void SwitchStmt::add_case( CaseStmt *c ) {} 104 104 105 void SwitchStmt::print( std::ostream &os, int indent ) {106 os << "\r" << string( indent, ' ') << "Switch on condition: ";105 void SwitchStmt::print( std::ostream &os, int indent ) const { 106 os << string( indent, ' ' ) << "Switch on condition: "; 107 107 condition->print( os ); 108 108 os << endl; 109 109 110 110 // branches 111 std::list<Statement *>:: iterator i;111 std::list<Statement *>::const_iterator i; 112 112 for ( i = branches.begin(); i != branches.end(); i++) 113 (*i )->print( os, indent + 4 );113 (*i)->print( os, indent + 4 ); 114 114 115 115 //for_each( branches.begin(), branches.end(), mem_fun( bind1st(&Statement::print ), os )); … … 126 126 } 127 127 128 void CaseStmt::print( std::ostream &os, int indent ) { 129 os << "\r" << string( indent, ' '); 130 131 if ( isDefault()) 128 CaseStmt * CaseStmt::makeDefault( std::list<Label> labels, std::list<Statement *> branches ) { 129 return new CaseStmt( labels, 0, branches, true ); 130 } 131 132 void CaseStmt::print( std::ostream &os, int indent ) const { 133 os << string( indent, ' ' ); 134 135 if ( isDefault() ) 132 136 os << "Default "; 133 137 else { … … 138 142 os << endl; 139 143 140 std::list<Statement *>:: iterator i;144 std::list<Statement *>::const_iterator i; 141 145 for ( i = stmts.begin(); i != stmts.end(); i++) 142 146 (*i )->print( os, indent + 4 ); … … 154 158 void ChooseStmt::add_case( CaseStmt *c ) {} 155 159 156 void ChooseStmt::print( std::ostream &os, int indent ) {157 os << "\r" << string( indent, ' ') << "Choose on condition: ";160 void ChooseStmt::print( std::ostream &os, int indent ) const { 161 os << string( indent, ' ' ) << "Choose on condition: "; 158 162 condition->print( os ); 159 163 os << endl; 160 164 161 165 // branches 162 std::list<Statement *>:: iterator i;166 std::list<Statement *>::const_iterator i; 163 167 for ( i = branches.begin(); i != branches.end(); i++) 164 168 (*i )->print( os, indent + 4 ); … … 167 171 } 168 172 169 void FallthruStmt::print( std::ostream &os, int indent ) {170 os << "\r" << string( indent, ' ') << "Fall-through statement" << endl;173 void FallthruStmt::print( std::ostream &os, int indent ) const { 174 os << string( indent, ' ' ) << "Fall-through statement" << endl; 171 175 } 172 176 … … 179 183 } 180 184 181 void WhileStmt::print( std::ostream &os, int indent ) {182 os << "\r" << string( indent, ' ') << "While on condition: " << endl ;185 void WhileStmt::print( std::ostream &os, int indent ) const { 186 os << string( indent, ' ' ) << "While on condition: " << endl ; 183 187 condition->print( os, indent + 4 ); 184 188 185 os << string( indent, ' ' ) << ".... with body: " << endl;189 os << string( indent, ' ' ) << ".... with body: " << endl; 186 190 187 191 if ( body != 0 ) body->print( os, indent + 4 ); … … 199 203 } 200 204 201 void ForStmt::print( std::ostream &os, int indent ) { 202 os << "\r" << string( indent, ' ') << "For Statement" << endl ; 203 204 os << "\r" << string( indent + 2, ' ') << "initialization: \n"; 205 void ForStmt::print( std::ostream &os, int indent ) const { 206 os << string( indent, ' ' ) << "Labels: {"; 207 for ( std::list<Label>::const_iterator it = get_labels().begin(); it != get_labels().end(); ++it) { 208 os << *it << ","; 209 } 210 os << "}" << endl; 211 212 os << string( indent, ' ' ) << "For Statement" << endl ; 213 214 os << string( indent + 2, ' ' ) << "initialization: \n"; 205 215 if ( initialization != 0 ) 206 216 initialization->print( os, indent + 4 ); 207 217 208 os << "\n \r" << string( indent + 2, ' ') << "condition: \n";218 os << "\n" << string( indent + 2, ' ' ) << "condition: \n"; 209 219 if ( condition != 0 ) 210 220 condition->print( os, indent + 4 ); 211 221 212 os << "\n \r" << string( indent + 2, ' ') << "increment: \n";222 os << "\n" << string( indent + 2, ' ' ) << "increment: \n"; 213 223 if ( increment != 0 ) 214 224 increment->print( os, indent + 4 ); 215 225 216 os << "\n \r" << string( indent + 2, ' ') << "statement block: \n";226 os << "\n" << string( indent + 2, ' ' ) << "statement block: \n"; 217 227 if ( body != 0 ) 218 228 body->print( os, indent + 4 ); … … 235 245 } 236 246 237 void TryStmt::print( std::ostream &os, int indent ) {238 os << "\r" << string( indent, ' ') << "Try Statement" << endl;239 os << string( indent + 2, ' ' ) << "with block: " << endl;247 void TryStmt::print( std::ostream &os, int indent ) const { 248 os << string( indent, ' ' ) << "Try Statement" << endl; 249 os << string( indent + 2, ' ' ) << "with block: " << endl; 240 250 block->print( os, indent + 4 ); 241 251 242 252 // handlers 243 os << string( indent + 2, ' ') << "and handlers: " << endl; 244 std::list<Statement *>::iterator i; 245 for ( i = handlers.begin(); i != handlers.end(); i++) 253 os << string( indent + 2, ' ' ) << "and handlers: " << endl; 254 for ( std::list<Statement *>::const_iterator i = handlers.begin(); i != handlers.end(); i++) 246 255 (*i )->print( os, indent + 4 ); 247 256 248 257 // finally block 249 258 if ( finallyBlock != 0 ) { 250 os << string( indent + 2, ' ' ) << "Finally block: " << endl;259 os << string( indent + 2, ' ' ) << "Finally block: " << endl; 251 260 finallyBlock->print( os, indent + 4 ); 252 261 } // if … … 262 271 } 263 272 264 void CatchStmt::print( std::ostream &os, int indent ) {265 os << "\r" << string( indent, ' ') << "Catch Statement" << endl;266 267 os << "\r" << string( indent, ' ') << "... catching" << endl;273 void CatchStmt::print( std::ostream &os, int indent ) const { 274 os << string( indent, ' ' ) << "Catch Statement" << endl; 275 276 os << string( indent, ' ' ) << "... catching" << endl; 268 277 if ( decl ) { 269 278 decl->printShort( os, indent + 4 ); 270 279 os << endl; 271 280 } else if ( catchRest ) 272 os << "\r" << string( indent + 4 , ' ') << "the rest" << endl;281 os << string( indent + 4 , ' ' ) << "the rest" << endl; 273 282 else 274 os << "\r" << string( indent + 4 , ' ') << ">>> Error: this catch clause must have a declaration <<<" << endl;283 os << string( indent + 4 , ' ' ) << ">>> Error: this catch clause must have a declaration <<<" << endl; 275 284 } 276 285 … … 284 293 } 285 294 286 void FinallyStmt::print( std::ostream &os, int indent ) {287 os << "\r" << string( indent, ' ') << "Finally Statement" << endl;288 os << string( indent + 2, ' ' ) << "with block: " << endl;295 void FinallyStmt::print( std::ostream &os, int indent ) const { 296 os << string( indent, ' ' ) << "Finally Statement" << endl; 297 os << string( indent + 2, ' ' ) << "with block: " << endl; 289 298 block->print( os, indent + 4 ); 290 299 } … … 294 303 NullStmt::~NullStmt() {} 295 304 296 void NullStmt::print( std::ostream &os, int indent ) {297 os << "\r" << string( indent, ' ') << "Null Statement" << endl ;305 void NullStmt::print( std::ostream &os, int indent ) const { 306 os << string( indent, ' ' ) << "Null Statement" << endl ; 298 307 } 299 308 -
src/SynTree/Statement.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 10:57:40201513 // Update Count : 2 12 // Last Modified On : Tue Jun 23 11:44:27 2015 13 // Update Count : 20 14 14 // 15 15 … … 28 28 29 29 std::list<Label> & get_labels() { return labels; } 30 const std::list<Label> & get_labels() const { return labels; } 30 31 31 32 virtual Statement *clone() const = 0; 32 33 virtual void accept( Visitor &v ) = 0; 33 34 virtual Statement *acceptMutator( Mutator &m ) = 0; 34 virtual void print( std::ostream &os, int indent = 0 ) ;35 virtual void print( std::ostream &os, int indent = 0 ) const; 35 36 protected: 36 37 std::list<Label> labels; … … 48 49 virtual void accept( Visitor &v ) { v.visit( this ); } 49 50 virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); } 50 virtual void print( std::ostream &os, int indent = 0 ) ;51 virtual void print( std::ostream &os, int indent = 0 ) const; 51 52 private: 52 53 std::list<Statement*> kids; … … 64 65 virtual void accept( Visitor &v ) { v.visit( this ); } 65 66 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 66 virtual void print( std::ostream &os, int indent = 0 ) ;67 virtual void print( std::ostream &os, int indent = 0 ) const; 67 68 private: 68 69 Expression *expr; … … 84 85 virtual void accept( Visitor &v ) { v.visit( this ); } 85 86 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 86 virtual void print( std::ostream &os, int indent = 0 ) ;87 virtual void print( std::ostream &os, int indent = 0 ) const; 87 88 private: 88 89 Expression *condition; … … 106 107 107 108 virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); } 108 virtual void print( std::ostream &os, int indent = 0 ) ;109 virtual void print( std::ostream &os, int indent = 0 ) const; 109 110 private: 110 111 Expression * condition; … … 127 128 128 129 virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); } 129 virtual void print( std::ostream &os, int indent = 0 ) ;130 virtual void print( std::ostream &os, int indent = 0 ) const; 130 131 private: 131 132 Expression *condition; … … 141 142 142 143 virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); } 143 virtual void print( std::ostream &os, int indent = 0 ) ;144 virtual void print( std::ostream &os, int indent = 0 ) const; 144 145 }; 145 146 … … 150 151 virtual ~CaseStmt(); 151 152 152 bool isDefault() { return _isDefault; } 153 static CaseStmt * makeDefault( std::list<Label> labels = std::list<Label>(), 154 std::list<Statement *> stmts = std::list<Statement *>() ); 155 156 bool isDefault() const { return _isDefault; } 153 157 void set_default(bool b) { _isDefault = b; } 154 158 … … 163 167 164 168 virtual CaseStmt *clone() const { return new CaseStmt( *this ); } 165 virtual void print( std::ostream &os, int indent = 0 ) ;169 virtual void print( std::ostream &os, int indent = 0 ) const; 166 170 private: 167 171 Expression * condition; … … 186 190 virtual void accept( Visitor &v ) { v.visit( this ); } 187 191 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 188 virtual void print( std::ostream &os, int indent = 0 ) ;192 virtual void print( std::ostream &os, int indent = 0 ) const; 189 193 private: 190 194 Expression *condition; … … 211 215 virtual void accept( Visitor &v ) { v.visit( this ); } 212 216 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 213 virtual void print( std::ostream &os, int indent = 0 ) ;217 virtual void print( std::ostream &os, int indent = 0 ) const; 214 218 private: 215 219 Statement *initialization; … … 221 225 class BranchStmt : public Statement { 222 226 public: 223 enum Type { Goto = 0 , Break, Continue };227 enum Type { Goto = 0, Break, Continue }; 224 228 225 229 BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError); … … 227 231 virtual ~BranchStmt() {} 228 232 233 Label get_originalTarget() { return originalTarget; } 229 234 Label get_target() { return target; } 230 235 void set_target( Label newValue ) { target = newValue; } … … 239 244 virtual void accept( Visitor &v ) { v.visit( this ); } 240 245 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 241 virtual void print( std::ostream &os, int indent = 0 ) ;246 virtual void print( std::ostream &os, int indent = 0 ) const; 242 247 private: 243 248 static const char *brType[]; 249 Label originalTarget; // can give better error messages if we remember the label name that the user entered 244 250 Label target; 245 251 Expression *computedTarget; … … 258 264 virtual void accept( Visitor &v ) { v.visit( this ); } 259 265 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 260 virtual void print( std::ostream &os, int indent = 0 ) ;266 virtual void print( std::ostream &os, int indent = 0 ) const; 261 267 private: 262 268 Expression *expr; … … 274 280 virtual void accept( Visitor &v ) { v.visit( this ); } 275 281 virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); } 276 virtual void print( std::ostream &os, int indent = 0 ) ;282 virtual void print( std::ostream &os, int indent = 0 ) const; 277 283 278 284 private: … … 295 301 virtual void accept( Visitor &v ) { v.visit( this ); } 296 302 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 297 virtual void print( std::ostream &os, int indent = 0 ) ;303 virtual void print( std::ostream &os, int indent = 0 ) const; 298 304 299 305 private: … … 317 323 virtual void accept( Visitor &v ) { v.visit( this ); } 318 324 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 319 virtual void print( std::ostream &os, int indent = 0 ) ;325 virtual void print( std::ostream &os, int indent = 0 ) const; 320 326 321 327 private: … … 336 342 virtual void accept( Visitor &v ) { v.visit( this ); } 337 343 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 338 virtual void print( std::ostream &os, int indent = 0 ) ;344 virtual void print( std::ostream &os, int indent = 0 ) const; 339 345 private: 340 346 CompoundStmt *block; … … 355 361 virtual void accept( Visitor &v ) { v.visit( this ); } 356 362 virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); } 357 virtual void print( std::ostream &os, int indent = 0 ) ;363 virtual void print( std::ostream &os, int indent = 0 ) const; 358 364 private: 359 365 Declaration *decl; -
src/SynTree/Type.h
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:01:40201513 // Update Count : 1 12 // Last Modified On : Sun Jun 7 21:50:38 2015 13 // Update Count : 12 14 14 // 15 15 … … 110 110 }; 111 111 112 static const char *typeNames[]; // string names for basic types, MUST MATCH with Kind112 static const char *typeNames[]; // string names for basic types, MUST MATCH with Kind 113 113 114 114 BasicType( const Type::Qualifiers &tq, Kind bt ); … … 214 214 virtual ~ReferenceToType(); 215 215 216 std::stringget_name() const { return name; }216 const std::string &get_name() const { return name; } 217 217 void set_name( std::string newValue ) { name = newValue; } 218 218 std::list< Expression* >& get_parameters() { return parameters; } … … 372 372 virtual ~AttrType(); 373 373 374 std::stringget_name() const { return name; }374 const std::string &get_name() const { return name; } 375 375 void set_name( const std::string &newValue ) { name = newValue; } 376 376 Expression *get_expr() const { return expr; } -
src/SynTree/TypeDecl.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:02:11201513 // Update Count : 112 // Last Modified On : Sat Jun 13 08:14:35 2015 13 // Update Count : 2 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) { 21 21 } 22 22 -
src/SynTree/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:54:09 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += SynTree/Type.cc \ 2 18 SynTree/VoidType.cc \ … … 30 46 SynTree/Mutator.cc \ 31 47 SynTree/CodeGenVisitor.cc \ 32 SynTree/TypeSubstitution.cc \ 33 $(NULL) 48 SynTree/TypeSubstitution.cc 34 49 -
src/Tests/Constant0-1.c
reb50842 r937e51d 11 11 int 0, 1; 12 12 const int 0, 1; 13 int (0), (1); 14 int ((0)), ((1)); 13 15 static const int 0, 1; 14 16 struct { int i; } 0; … … 18 20 // pointer 19 21 20 int 1, * 0; 21 int (1), ((1)), * (0), (* 0), ((* 0)); 22 int * const (0), (* const 0), ((* const 0)); 23 struct { int i; } * 0; 22 int *0, *1; 23 int *(0), *(1); 24 int (*0), (*1); 25 int ((*0)), ((*1)); 26 int * const (0), * const 1; 27 int (* const 0), (* const 1); 28 int ((* const 0)), ((* const 1)); 29 struct { int i; } *0; 24 30 25 31 // Cforall style … … 34 40 static const * int x, 0; 35 41 const * * int x, 0; 42 43 int main() { 44 int 1, * 0; 45 * int x, 0; 46 } -
src/Tests/DeclarationErrors.c
reb50842 r937e51d 4 4 typedef int Int; 5 5 static Int volatile static const x28; // duplicate static 6 7 // Local Variables: // 8 // tab-width: 4 // 9 // End: // -
src/Tests/DeclarationSpecifier.c
reb50842 r937e51d 89 89 static const Int inline volatile f48(); 90 90 91 // Local Variables: // 92 // tab-width: 4 // 93 // End: // -
src/Tests/Expect-a/Functions.txt
reb50842 r937e51d 1 h: afunction1 h: function 2 2 with parameters 3 3 void … … 5 5 void 6 6 with body 7 8 f: a function 7 CompoundStmt 8 9 f: function 9 10 with parameters 10 11 function … … 32 33 signed int 33 34 34 g: afunction35 g: function 35 36 with parameters 36 37 void … … 41 42 signed int 42 43 with body 43 44 f1: a function 45 returning 46 signed int 47 with body 48 49 f2: a function 50 returning 51 signed int 52 with body 53 54 f3: a function 44 CompoundStmt 45 Expression Statement: 46 Applying untyped: 47 Applying untyped: 48 Name: *? 49 ...to: 50 Name: g 51 ...to: 52 53 Expression Statement: 54 Applying untyped: 55 Name: g 56 ...to: 57 58 Expression Statement: 59 Applying untyped: 60 Name: ?=? 61 ...to: 62 Address of: 63 Name: g 64 Name: h 65 66 67 f1: function 68 accepting unspecified arguments 69 returning 70 signed int 71 with body 72 CompoundStmt 73 74 f2: function 75 accepting unspecified arguments 76 returning 77 signed int 78 with body 79 CompoundStmt 80 81 f3: function 82 accepting unspecified arguments 55 83 returning 56 84 pointer to function 57 returning 58 signed int 59 60 with body 61 62 f4: a function 85 accepting unspecified arguments 86 returning 87 signed int 88 89 with body 90 CompoundStmt 91 92 f4: function 93 accepting unspecified arguments 63 94 returning 64 95 pointer to signed int 65 96 with body 66 67 f5: a function 97 CompoundStmt 98 99 f5: function 100 accepting unspecified arguments 68 101 returning 69 102 pointer to function 70 returning 71 signed int 72 73 with body 74 75 f6: a function 103 accepting unspecified arguments 104 returning 105 signed int 106 107 with body 108 CompoundStmt 109 110 f6: function 111 accepting unspecified arguments 76 112 returning 77 113 pointer to signed int 78 114 with body 79 80 f7: a function 115 CompoundStmt 116 117 f7: function 118 accepting unspecified arguments 81 119 returning 82 120 pointer to signed int 83 121 with body 84 85 f8: a function 122 CompoundStmt 123 124 f8: function 125 accepting unspecified arguments 86 126 returning 87 127 pointer to pointer to signed int 88 128 with body 89 90 f9: a function 129 CompoundStmt 130 131 f9: function 132 accepting unspecified arguments 91 133 returning 92 134 pointer to const pointer to signed int 93 135 with body 94 95 f10: a function 136 CompoundStmt 137 138 f10: function 139 accepting unspecified arguments 96 140 returning 97 141 pointer to open array of signed int 98 142 with body 99 100 f11: a function 101 returning 102 pointer to open array of open array of signed int 103 with body 104 105 f12: a function 106 returning 107 pointer to open array of open array of signed int 108 with body 109 110 fII1: a function 111 with parameters 112 i: a signed int 113 returning 114 signed int 115 with body 116 117 fII2: a function 118 with parameters 119 i: a signed int 143 CompoundStmt 144 145 f11: function 146 accepting unspecified arguments 147 returning 148 pointer to open array of array of signed int with dimension of constant expression 3 signed int 149 with body 150 CompoundStmt 151 152 f12: function 153 accepting unspecified arguments 154 returning 155 pointer to open array of array of signed int with dimension of constant expression 3 signed int 156 with body 157 CompoundStmt 158 159 fII1: function 160 with parameters 161 i: signed int 162 returning 163 signed int 164 with body 165 CompoundStmt 166 167 fII2: function 168 with parameters 169 i: signed int 120 170 returning 121 171 const signed int 122 172 with body 123 124 fII3: a extern function 125 with parameters 126 i: a signed int 127 returning 128 signed int 129 with body 130 131 fII4: a extern function 132 with parameters 133 i: a signed int 173 CompoundStmt 174 175 fII3: extern function 176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: extern function 184 with parameters 185 i: signed int 134 186 returning 135 187 const signed int 136 188 with body 137 138 fII5: a function 189 CompoundStmt 190 191 fII5: function 192 accepting unspecified arguments 139 193 returning 140 194 pointer to signed int 141 195 with body 142 143 fII6: a function 196 CompoundStmt 197 198 fII6: function 199 accepting unspecified arguments 144 200 returning 145 201 const pointer to signed int 146 202 with body 147 148 fII7: a function 203 CompoundStmt 204 205 fII7: function 206 accepting unspecified arguments 149 207 returning 150 208 pointer to const long signed int 151 209 with body 152 153 fII8: a static function 210 CompoundStmt 211 212 fII8: static function 213 accepting unspecified arguments 154 214 returning 155 215 pointer to const long signed int 156 216 with body 157 158 fII9: a static function 217 CompoundStmt 218 219 fII9: static function 220 accepting unspecified arguments 159 221 returning 160 222 pointer to const long signed int 161 223 with body 162 163 fO1: a function 224 CompoundStmt 225 226 fO1: function 227 accepting unspecified arguments 164 228 returning 165 229 signed int … … 167 231 i 168 232 with parameter declarations 169 i: a signed int 170 with body 171 172 fO2: a function 233 i: signed int 234 with body 235 CompoundStmt 236 237 fO2: function 238 accepting unspecified arguments 173 239 returning 174 240 signed int … … 176 242 i 177 243 with parameter declarations 178 i: a signed int 179 with body 180 181 fO3: a function 244 i: signed int 245 with body 246 CompoundStmt 247 248 fO3: function 249 accepting unspecified arguments 182 250 returning 183 251 const signed int … … 185 253 i 186 254 with parameter declarations 187 i: a signed int 188 with body 189 190 fO4: a extern function 255 i: signed int 256 with body 257 CompoundStmt 258 259 fO4: extern function 260 accepting unspecified arguments 191 261 returning 192 262 signed int … … 194 264 i 195 265 with parameter declarations 196 i: a signed int 197 with body 198 199 fO5: a extern function 266 i: signed int 267 with body 268 CompoundStmt 269 270 fO5: extern function 271 accepting unspecified arguments 200 272 returning 201 273 const signed int … … 203 275 i 204 276 with parameter declarations 205 i: a signed int 206 with body 207 208 f: a function 209 returning 210 nothing 211 212 f: a function 213 returning 214 signed int 215 216 f: a function 217 with parameters 218 signed int 219 returning 220 nothing 221 222 f: a function 223 with parameters 224 signed int 225 returning 226 signed int 227 228 f: a function 229 returning 230 nothing 231 with body 232 233 f: a function 234 returning 235 signed int 236 with body 237 238 f: a function 239 with parameters 240 signed int 241 returning 242 nothing 243 with body 244 245 f: a function 246 with parameters 247 signed int 248 returning 249 signed int 250 with body 251 252 f: a function 253 returning 254 x: a signed int 255 256 f: a function 257 with parameters 258 x: a signed int 259 returning 260 nothing 261 262 f: a function 263 with parameters 264 x: a signed int 265 returning 266 x: a signed int 267 268 f: a function 269 returning 270 x: a signed int 271 with body 272 273 f: a function 274 with parameters 275 x: a signed int 276 returning 277 nothing 278 with body 279 280 f: a function 281 with parameters 282 x: a signed int 283 returning 284 x: a signed int 285 with body 286 287 f: a function 288 returning 289 signed int 290 x: a signed int 291 292 f: a function 293 with parameters 294 signed int 295 x: a signed int 296 returning 297 nothing 298 299 f: a function 300 with parameters 301 signed int 302 x: a signed int 303 returning 304 signed int 305 x: a signed int 306 307 f: a function 308 returning 309 signed int 310 x: a signed int 311 with body 312 313 f: a function 314 with parameters 315 signed int 316 x: a signed int 317 returning 318 nothing 319 with body 320 321 f: a function 322 with parameters 323 signed int 324 x: a signed int 325 returning 326 signed int 327 x: a signed int 328 with body 329 330 f: a function 331 returning 332 signed int 333 x: a signed int 334 signed int 335 336 f: a function 337 with parameters 338 signed int 339 x: a signed int 340 signed int 341 returning 342 nothing 343 344 f: a function 345 with parameters 346 signed int 347 x: a signed int 348 signed int 349 returning 350 signed int 351 x: a signed int 352 signed int 353 354 f: a function 355 returning 356 signed int 357 x: a signed int 358 signed int 359 with body 360 361 f: a function 362 with parameters 363 signed int 364 x: a signed int 365 signed int 366 returning 367 nothing 368 with body 369 370 f: a function 371 with parameters 372 signed int 373 x: a signed int 374 signed int 375 returning 376 signed int 377 x: a signed int 378 signed int 379 with body 380 381 f: a function 382 returning 383 signed int 384 x: a signed int 385 y: a pointer to signed int 386 387 f: a function 388 with parameters 389 signed int 390 x: a signed int 391 y: a pointer to signed int 392 returning 393 nothing 394 395 f: a function 396 with parameters 397 signed int 398 x: a signed int 399 y: a pointer to signed int 400 returning 401 signed int 402 x: a signed int 403 y: a pointer to signed int 404 405 f: a function 406 returning 407 signed int 408 x: a signed int 409 y: a pointer to signed int 410 with body 411 412 f: a function 413 with parameters 414 signed int 415 x: a signed int 416 y: a pointer to signed int 417 returning 418 nothing 419 with body 420 421 f: a function 422 with parameters 423 signed int 424 x: a signed int 425 y: a pointer to signed int 426 returning 427 signed int 428 x: a signed int 429 y: a pointer to signed int 430 with body 431 432 f11: a function 433 with parameters 434 signed int 435 returning 436 signed int 437 438 f12: a function 439 with parameters 440 signed int 441 returning 442 signed int 443 444 f: a function 277 i: signed int 278 with body 279 CompoundStmt 280 281 f: function 282 returning 283 nothing 284 285 f: function 286 returning 287 signed int 288 289 f: function 290 with parameters 291 signed int 292 returning 293 nothing 294 295 f: function 296 with parameters 297 signed int 298 returning 299 signed int 300 301 f: function 302 returning 303 nothing 304 with body 305 CompoundStmt 306 307 f: function 308 returning 309 signed int 310 with body 311 CompoundStmt 312 313 f: function 314 with parameters 315 signed int 316 returning 317 nothing 318 with body 319 CompoundStmt 320 321 f: function 322 with parameters 323 signed int 324 returning 325 signed int 326 with body 327 CompoundStmt 328 329 f: function 330 returning 331 x: signed int 332 333 f: function 334 with parameters 335 x: signed int 336 returning 337 nothing 338 339 f: function 340 with parameters 341 x: signed int 342 returning 343 x: signed int 344 345 f: function 346 returning 347 x: signed int 348 with body 349 CompoundStmt 350 351 f: function 352 with parameters 353 x: signed int 354 returning 355 nothing 356 with body 357 CompoundStmt 358 359 f: function 360 with parameters 361 x: signed int 362 returning 363 x: signed int 364 with body 365 CompoundStmt 366 367 f: function 368 returning 369 signed int 370 x: signed int 371 372 f: function 373 with parameters 374 signed int 375 x: signed int 376 returning 377 nothing 378 379 f: function 380 with parameters 381 signed int 382 x: signed int 383 returning 384 signed int 385 x: signed int 386 387 f: function 388 returning 389 signed int 390 x: signed int 391 with body 392 CompoundStmt 393 394 f: function 395 with parameters 396 signed int 397 x: signed int 398 returning 399 nothing 400 with body 401 CompoundStmt 402 403 f: function 404 with parameters 405 signed int 406 x: signed int 407 returning 408 signed int 409 x: signed int 410 with body 411 CompoundStmt 412 413 f: function 414 returning 415 signed int 416 x: signed int 417 signed int 418 419 f: function 420 with parameters 421 signed int 422 x: signed int 423 signed int 424 returning 425 nothing 426 427 f: function 428 with parameters 429 signed int 430 x: signed int 431 signed int 432 returning 433 signed int 434 x: signed int 435 signed int 436 437 f: function 438 returning 439 signed int 440 x: signed int 441 signed int 442 with body 443 CompoundStmt 444 445 f: function 446 with parameters 447 signed int 448 x: signed int 449 signed int 450 returning 451 nothing 452 with body 453 CompoundStmt 454 455 f: function 456 with parameters 457 signed int 458 x: signed int 459 signed int 460 returning 461 signed int 462 x: signed int 463 signed int 464 with body 465 CompoundStmt 466 467 f: function 468 returning 469 signed int 470 x: signed int 471 y: pointer to signed int 472 473 f: function 474 with parameters 475 signed int 476 x: signed int 477 y: pointer to signed int 478 returning 479 nothing 480 481 f: function 482 with parameters 483 signed int 484 x: signed int 485 y: pointer to signed int 486 returning 487 signed int 488 x: signed int 489 y: pointer to signed int 490 491 f: function 492 returning 493 signed int 494 x: signed int 495 y: pointer to signed int 496 with body 497 CompoundStmt 498 499 f: function 500 with parameters 501 signed int 502 x: signed int 503 y: pointer to signed int 504 returning 505 nothing 506 with body 507 CompoundStmt 508 509 f: function 510 with parameters 511 signed int 512 x: signed int 513 y: pointer to signed int 514 returning 515 signed int 516 x: signed int 517 y: pointer to signed int 518 with body 519 CompoundStmt 520 521 f11: function 522 with parameters 523 signed int 524 returning 525 signed int 526 527 f12: function 528 with parameters 529 signed int 530 returning 531 signed int 532 533 f: function 445 534 with parameters 446 535 function 447 536 with parameters 448 537 signed int 449 p: asigned int538 p: signed int 450 539 returning 451 540 signed int … … 460 549 signed int 461 550 with body 462 Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 463 Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 464 Declaration of p: a pointer to open array of pointer to function 465 with parameters 466 signed int 467 returning 468 signed int 469 470 471 f1: a static function 551 CompoundStmt 552 Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 553 Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 554 Declaration of p: pointer to open array of pointer to function 555 with parameters 556 signed int 557 returning 558 signed int 559 560 561 f1: static function 562 accepting unspecified arguments 472 563 returning 473 564 pointer to const signed int 474 565 with body 475 476 f2: a static function 566 CompoundStmt 567 568 f2: static function 477 569 returning 478 570 const signed int 479 571 with body 480 481 f3: a inline static function 572 CompoundStmt 573 574 f3: inline static function 482 575 returning 483 576 const pointer to signed int 484 577 with body 485 486 f4: a inline static function 578 CompoundStmt 579 580 f4: inline static function 487 581 returning 488 582 const tuple of types … … 491 585 492 586 with body 493 494 f5: a static function 587 CompoundStmt 588 589 f5: static function 495 590 returning 496 591 const tuple of types … … 499 594 500 595 with body 501 502 f: a function 503 with parameters 504 function 505 returning 506 signed int 507 508 function 596 CompoundStmt 597 598 f: function 599 with parameters 600 function 601 accepting unspecified arguments 602 returning 603 signed int 604 605 function 606 accepting unspecified arguments 509 607 returning 510 608 pointer to signed int 511 609 512 610 function 611 accepting unspecified arguments 513 612 returning 514 613 pointer to pointer to signed int 515 614 516 615 function 616 accepting unspecified arguments 517 617 returning 518 618 pointer to const pointer to signed int 519 619 520 620 function 621 accepting unspecified arguments 521 622 returning 522 623 const pointer to const pointer to signed int 523 624 524 625 open array of signed int 626 array of signed int with dimension of constant expression 10 signed int 627 open array of pointer to signed int 628 array of pointer to signed int with dimension of constant expression 10 signed int 629 open array of pointer to pointer to signed int 630 array of pointer to pointer to signed int with dimension of constant expression 10 signed int 631 open array of pointer to const pointer to signed int 632 array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 633 open array of const pointer to const pointer to signed int 634 array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 635 returning 636 signed int 637 638 f: function 639 with parameters 640 function 641 accepting unspecified arguments 642 returning 643 signed int 644 645 function 646 accepting unspecified arguments 647 returning 648 pointer to signed int 649 650 function 651 accepting unspecified arguments 652 returning 653 pointer to pointer to signed int 654 655 function 656 accepting unspecified arguments 657 returning 658 pointer to const pointer to signed int 659 660 function 661 accepting unspecified arguments 662 returning 663 const pointer to const pointer to signed int 664 525 665 open array of signed int 666 array of signed int with dimension of constant expression 10 signed int 526 667 open array of pointer to signed int 527 open array of pointer tosigned int668 array of pointer to signed int with dimension of constant expression 10 signed int 528 669 open array of pointer to pointer to signed int 529 open array of pointer to pointer tosigned int670 array of pointer to pointer to signed int with dimension of constant expression 10 signed int 530 671 open array of pointer to const pointer to signed int 531 open array of pointer to const pointer tosigned int672 array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 532 673 open array of const pointer to const pointer to signed int 533 open array of const pointer to const pointer to signed int 534 returning 535 signed int 536 537 f: a function 538 with parameters 539 function 540 returning 541 signed int 542 543 function 544 returning 545 pointer to signed int 546 547 function 548 returning 549 pointer to pointer to signed int 550 551 function 552 returning 553 pointer to const pointer to signed int 554 555 function 556 returning 557 const pointer to const pointer to signed int 558 559 open array of signed int 560 open array of signed int 561 open array of pointer to signed int 562 open array of pointer to signed int 563 open array of pointer to pointer to signed int 564 open array of pointer to pointer to signed int 565 open array of pointer to const pointer to signed int 566 open array of pointer to const pointer to signed int 567 open array of const pointer to const pointer to signed int 568 open array of const pointer to const pointer to signed int 569 returning 570 signed int 571 with body 572 573 T: a typedef for signed int 574 f: a function 575 with parameters 576 function 577 with parameters 578 instance of type T 579 returning 580 instance of type T 581 582 T: a instance of type T 583 returning 584 signed int 585 with body 586 674 array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 675 returning 676 signed int 677 with body 678 CompoundStmt 679 680 T: typedef for signed int 681 f: function 682 with parameters 683 f: pointer to instance of type T (not function type) 684 t: instance of type T (not function type) 685 returning 686 signed int 687 with body 688 CompoundStmt 689 Declaration of T: instance of type T (not function type) 690 -
src/Tests/Expect-e/MiscError.txt
reb50842 r937e51d 5 5 nothing 6 6 Alternatives are: Cost ( 0, 0, 1 ): Cast of: 7 Variable Expression: b: asigned int7 Variable Expression: b: signed int 8 8 9 9 to: … … 14 14 15 15 Cost ( 0, 0, 1 ): Cast of: 16 Variable Expression: b: afloat16 Variable Expression: b: float 17 17 18 18 to: … … 29 29 nothing 30 30 Alternatives are: Cost ( 0, 0, 1 ): Cast of: 31 Variable Expression: b: asigned int31 Variable Expression: b: signed int 32 32 33 33 to: … … 38 38 39 39 Cost ( 0, 0, 1 ): Cast of: 40 Variable Expression: b: afloat40 Variable Expression: b: float 41 41 42 42 to: … … 57 57 Alternatives are: Cost ( 0, 0, 1 ): Cast of: 58 58 Comma Expression: 59 Variable Expression: a: asigned int59 Variable Expression: a: signed int 60 60 61 Variable Expression: b: asigned int61 Variable Expression: b: signed int 62 62 63 63 to: … … 69 69 Cost ( 0, 0, 1 ): Cast of: 70 70 Comma Expression: 71 Variable Expression: a: asigned int71 Variable Expression: a: signed int 72 72 73 Variable Expression: b: afloat73 Variable Expression: b: float 74 74 75 75 to: -
src/Tests/Expect-e/OccursError.txt
reb50842 r937e51d 1 1 Error: No reasonable alternatives for expression Applying untyped: 2 2 Name: f 3 4 3 ...to: 5 4 Name: g -
src/Tests/Expect-s/Array.txt
reb50842 r937e51d 5 5 Adding object m2 6 6 Adding object m4 7 Adding typedef T8 --- Entering scope9 --- Leaving scope containing10 7 Adding function fred 11 8 --- Entering scope … … 16 13 Adding object T 17 14 --- Leaving scope containing 18 T (__T__A0i) (2)19 a1 (__a1__A0i) (2)20 a2 (__a2__A0i) (2)21 a4 (__a4__A0i) (2)22 15 --- Leaving scope containing 23 16 Adding function mary … … 30 23 --- Leaving scope containing 31 24 --- Leaving scope containing 32 T (__T__Pi) (1)33 p1 (__p1__CPi) (1)34 p2 (__p2__Pi) (1)35 p3 (__p3__CPi) (1)36 25 Adding function tom 37 26 --- Entering scope … … 48 37 --- Leaving scope containing 49 38 --- Leaving scope containing 50 T (__T__Pi) (1)51 p1 (__p1__CPi) (1)52 p2 (__p2__Pi) (1)53 p3 (__p3__CPi) (1) -
src/Tests/Expect-s/Context.txt
reb50842 r937e51d 1 Adding context has_q2 1 --- Entering scope 3 Adding type T4 2 --- Entering scope 5 3 --- Leaving scope containing 4 Adding type T 6 5 Adding function q 7 6 --- Entering scope 8 7 --- Leaving scope containing 9 8 --- Leaving scope containing 10 q (__q__F_2tT_2tT_) (1)11 9 T 10 Adding context has_q 12 11 Adding function f 13 12 --- Entering scope 14 Adding type z15 13 --- Entering scope 16 14 --- Leaving scope containing 17 Adding function q 15 Adding type z 16 Adding function ?=? 18 17 --- Entering scope 19 18 --- Leaving scope containing 20 19 --- Entering scope 21 Adding context has_r22 20 --- Entering scope 21 --- Entering scope 22 --- Leaving scope containing 23 23 Adding type T 24 24 --- Entering scope 25 25 --- Leaving scope containing 26 26 Adding type U 27 --- Entering scope28 --- Leaving scope containing29 27 Adding function r 30 28 --- Entering scope 31 29 --- Leaving scope containing 32 30 --- Leaving scope containing 33 r (__r__F_2tT_2tTPF_2tT_2tT2tU__) (3)34 31 T 35 32 U 33 Adding context has_r 34 --- Entering scope 35 --- Leaving scope containing 36 36 Adding type x 37 37 --- Entering scope 38 38 --- Leaving scope containing 39 39 Adding type y 40 --- Entering scope41 40 --- Leaving scope containing 42 Adding function r43 --- Entering scope44 --- Leaving scope containing45 --- Leaving scope containing46 r (__r__F_2tx_2txPF_2tx_2tx2ty__) (2)47 41 x 48 42 y 49 43 has_r 50 44 --- Leaving scope containing 51 q (__q__F_2tz_2tz_) (1)52 45 z -
src/Tests/Expect-s/Enum.txt
reb50842 r937e51d 17 17 Adding object fruit 18 18 --- Leaving scope containing 19 Apple (__Apple__C7eFruits) (2)20 Banana (__Banana__C7eFruits) (2)21 Mango (__Mango__C7eFruits) (2)22 Pear (__Pear__C7eFruits) (2)23 fruit (__fruit__7eFruits) (2)24 19 Fruits 25 20 --- Leaving scope containing -
src/Tests/Expect-s/Forall.txt
reb50842 r937e51d 1 in default case, (shouldn't be here) 2 in default case, (shouldn't be here) 3 Adding typedef f 4 --- Entering scope 5 Adding type T 6 --- Entering scope 7 --- Leaving scope containing 8 --- Leaving scope containing 9 T 1 Adding function ?=? 2 --- Entering scope 3 --- Leaving scope containing 4 Adding function ?=? 5 --- Entering scope 6 --- Leaving scope containing 7 Adding function ?=? 8 --- Entering scope 9 --- Leaving scope containing 10 Adding function ?=? 11 --- Entering scope 12 --- Leaving scope containing 13 Adding function ?=? 14 --- Entering scope 15 --- Leaving scope containing 16 Adding function ?=? 17 --- Entering scope 18 --- Leaving scope containing 19 Adding function g1 20 --- Entering scope 21 --- Entering scope 22 Adding function f 23 --- Entering scope 24 --- Entering scope 25 --- Leaving scope containing 26 Adding type T 27 Adding function ?=? 28 --- Entering scope 29 --- Leaving scope containing 30 --- Leaving scope containing 31 T 32 Adding function f 33 --- Entering scope 34 --- Leaving scope containing 35 Adding function h 36 --- Entering scope 37 Adding object p 38 --- Leaving scope containing 39 Adding object x 40 Adding object y 41 Adding object z 42 Adding object w 43 --- Leaving scope containing 44 --- Leaving scope containing 45 Adding function g2 46 --- Entering scope 47 --- Entering scope 48 Adding function f 49 --- Entering scope 50 --- Entering scope 51 --- Leaving scope containing 52 Adding type T 53 Adding function ?=? 54 --- Entering scope 55 --- Leaving scope containing 56 --- Leaving scope containing 57 T 58 Adding function f 59 --- Entering scope 60 --- Entering scope 61 --- Leaving scope containing 62 Adding type T 63 Adding function ?=? 64 --- Entering scope 65 --- Leaving scope containing 66 --- Entering scope 67 --- Leaving scope containing 68 Adding type U 69 Adding function ?=? 70 --- Entering scope 71 --- Leaving scope containing 72 --- Leaving scope containing 73 T 74 U 75 Adding object x 76 Adding object y 77 Adding object z 78 Adding object w 79 --- Leaving scope containing 80 --- Leaving scope containing 10 81 Adding function swap 11 82 --- Entering scope 12 Adding type T 83 --- Entering scope 84 --- Leaving scope containing 85 Adding type T 86 Adding function ?=? 13 87 --- Entering scope 14 88 --- Leaving scope containing … … 18 92 Adding object temp 19 93 --- Leaving scope containing 20 temp (__temp__2tT) (2) 21 --- Leaving scope containing 22 left (__left__2tT) (1) 23 right (__right__2tT) (1) 94 --- Leaving scope containing 95 T 96 --- Entering scope 97 --- Entering scope 98 --- Leaving scope containing 99 Adding type T 100 Adding object 0 101 Adding function ?+? 102 --- Entering scope 103 --- Leaving scope containing 104 Adding function ?++ 105 --- Entering scope 106 --- Leaving scope containing 107 Adding function ?+=? 108 --- Entering scope 109 --- Leaving scope containing 110 --- Leaving scope containing 24 111 T 25 112 Adding context sumable 26 113 --- Entering scope 27 Adding type T 28 --- Entering scope 29 --- Leaving scope containing 114 --- Leaving scope containing 115 Adding type T1 30 116 Adding object 0 31 117 Adding function ?+? … … 38 124 --- Entering scope 39 125 --- Leaving scope containing 40 --- Leaving scope containing 41 0 (__0__C2tT) (1) 42 ?++ (__?++__F_2tT_2tT_) (1) 43 ?+=? (__?+=?__F_2tT_2tT2tT_) (1) 44 ?+? (__?+?__F_2tT_2tT2tT_) (1) 45 T 46 Adding type T1 47 --- Entering scope 48 --- Leaving scope containing 49 Adding object 0 50 Adding function ?+? 51 --- Entering scope 52 --- Leaving scope containing 53 Adding function ?++ 54 --- Entering scope 55 --- Leaving scope containing 56 Adding function ?+=? 57 --- Entering scope 58 --- Leaving scope containing 59 Adding type T2 60 --- Entering scope 126 --- Entering scope 127 --- Entering scope 128 --- Leaving scope containing 61 129 Adding type P1 62 130 --- Entering scope 63 131 --- Leaving scope containing 64 132 Adding type P2 65 --- Entering scope66 --- Leaving scope containing67 133 --- Leaving scope containing 68 134 P1 69 135 P2 136 Adding type T2 137 --- Entering scope 138 --- Leaving scope containing 70 139 Adding type T3 71 --- Entering scope 72 --- Leaving scope containing 73 Adding object 0 74 Adding function ?+? 75 --- Entering scope 76 --- Leaving scope containing 77 Adding function ?++ 78 --- Entering scope 79 --- Leaving scope containing 80 Adding function ?+=? 81 --- Entering scope 82 --- Leaving scope containing 83 Adding struct __anonymous0 140 Adding fwd decl for struct __anonymous0 84 141 --- Entering scope 85 142 Adding object i 86 143 Adding object j 87 144 --- Leaving scope containing 88 i (__i__3tP1) (1) 89 j (__j__3tP2) (1) 90 Adding type T2 91 --- Entering scope145 Adding struct __anonymous0 146 --- Entering scope 147 --- Entering scope 148 --- Leaving scope containing 92 149 Adding type P1 93 150 --- Entering scope … … 99 156 P1 100 157 P2 101 Adding object 0 102 Adding function ?+? 103 --- Entering scope 104 --- Leaving scope containing 105 Adding function ?++ 106 --- Entering scope 107 --- Leaving scope containing 108 Adding function ?+=? 109 --- Entering scope 110 --- Leaving scope containing 158 Adding type T2 111 159 Adding object w1 112 Adding typedef w2113 --- Entering scope114 --- Leaving scope containing115 160 Adding object g2 161 --- Entering scope 162 --- Leaving scope containing 116 163 Adding type w3 117 --- Entering scope118 --- Leaving scope containing119 164 Adding object g3 120 165 Adding function sum 121 166 --- Entering scope 122 Adding type T 123 --- Entering scope 124 --- Leaving scope containing 125 Adding object 0 126 Adding function ?+? 127 --- Entering scope 128 --- Leaving scope containing 129 Adding function ?++ 130 --- Entering scope 131 --- Leaving scope containing 132 Adding function ?+=? 167 --- Entering scope 168 --- Leaving scope containing 169 Adding type T 170 Adding function ?=? 133 171 --- Entering scope 134 172 --- Leaving scope containing … … 138 176 Adding object total 139 177 Adding object i 140 --- Leaving scope containing 141 i (__i__i) (2) 142 total (__total__2tT) (2) 143 --- Leaving scope containing 144 0 (__0__2tT) (1) 145 ?++ (__?++__F_2tT_2tT_) (1) 146 ?+=? (__?+=?__F_2tT_2tT2tT_) (1) 147 ?+? (__?+?__F_2tT_2tT2tT_) (1) 148 a (__a__P2tT) (1) 149 n (__n__i) (1) 178 --- Entering scope 179 --- Leaving scope containing 180 --- Leaving scope containing 181 --- Leaving scope containing 150 182 T 151 183 Adding function twice 152 184 --- Entering scope 153 Adding type T 185 --- Entering scope 186 --- Leaving scope containing 187 Adding type T 188 Adding function ?=? 154 189 --- Entering scope 155 190 --- Leaving scope containing … … 168 203 --- Leaving scope containing 169 204 --- Leaving scope containing 170 0 (__0__C2tT) (1) 171 ?++ (__?++__F_2tT_2tT_) (1) 172 ?+=? (__?+=?__F_2tT_2tT2tT_) (1) 173 ?+? (__?+?__F_2tT_2tT2tT_) (1) 174 t (__t__2tT) (1) 205 T 206 Adding function min 207 --- Entering scope 208 --- Entering scope 209 --- Leaving scope containing 210 Adding type T 211 Adding function ?=? 212 --- Entering scope 213 --- Leaving scope containing 214 Adding object 0 215 Adding function ?!=? 216 --- Entering scope 217 --- Leaving scope containing 218 Adding function ?<? 219 --- Entering scope 220 --- Leaving scope containing 221 Adding object t1 222 Adding object t2 223 --- Entering scope 224 --- Leaving scope containing 225 --- Leaving scope containing 175 226 T 176 227 Adding function main … … 182 233 Adding object f 183 234 --- Leaving scope containing 184 a (__a__A0i) (2) 185 f (__f__f) (2) 186 x (__x__i) (2) 187 y (__y__i) (2) 188 --- Leaving scope containing 235 --- Leaving scope containing -
src/Tests/Expect-s/Scope.txt
reb50842 r937e51d 1 in default case, (shouldn't be here)2 in default case, (shouldn't be here)3 in default case, (shouldn't be here)4 1 Adding object x 5 Adding typedef y6 --- Entering scope7 --- Leaving scope containing8 Adding typedef t9 --- Entering scope10 --- Leaving scope containing11 2 Adding object z 12 Adding struct __anonymous03 Adding fwd decl for struct __anonymous0 13 4 --- Entering scope 14 5 Adding object a 15 6 Adding object b 16 7 --- Leaving scope containing 17 a (__a__i) (1) 18 b (__b__d) (1) 19 Adding type u 8 Adding struct __anonymous0 9 --- Entering scope 20 10 --- Entering scope 21 11 --- Leaving scope containing 12 --- Leaving scope containing 13 Adding type u 22 14 Adding function f 23 15 --- Entering scope 24 16 Adding object y 25 17 --- Leaving scope containing 26 y (__y__i) (1)27 18 Adding object q 28 19 Adding function w … … 31 22 Adding object v 32 23 --- Entering scope 33 Adding type x34 24 --- Entering scope 35 25 --- Leaving scope containing 26 Adding type x 36 27 Adding function t 37 28 --- Entering scope … … 40 31 Adding object z 41 32 --- Leaving scope containing 42 t (__t__F_2tx_2tu_) (2)43 u (__u__2tu) (2)44 z (__z__2tx) (2)45 33 x 46 34 --- Leaving scope containing 47 v (__v__2tu) (1)48 y (__y__2ty) (1)49 35 Adding object p 50 Adding context has_u51 36 --- Entering scope 52 Adding type z53 37 --- Entering scope 54 38 --- Leaving scope containing 39 Adding type z 55 40 Adding function u 56 41 --- Entering scope 57 42 --- Leaving scope containing 58 43 --- Leaving scope containing 59 u (__u__F_2tz_2tz_) (1)60 44 z 45 Adding context has_u 61 46 Adding function q 62 47 --- Entering scope 63 Adding type t64 48 --- Entering scope 65 49 --- Leaving scope containing 66 Adding function u 50 Adding type t 51 Adding function ?=? 67 52 --- Entering scope 68 53 --- Leaving scope containing … … 71 56 Adding object y 72 57 --- Leaving scope containing 73 y (__y__2tt) (2)74 58 --- Leaving scope containing 75 the_t (__the_t__2tt) (1)76 u (__u__F_2tt_2tt_) (1)77 59 t 78 60 Adding function f … … 81 63 --- Entering scope 82 64 Adding object y 83 Adding typedef x 65 --- Entering scope 66 Adding object y 67 --- Entering scope 68 Adding object x 69 Adding object z 70 --- Leaving scope containing 71 Adding object x 72 --- Leaving scope containing 73 Adding object q 74 --- Leaving scope containing 75 --- Leaving scope containing 76 Adding function g 77 --- Entering scope 78 --- Entering scope 84 79 --- Entering scope 85 80 --- Leaving scope containing 81 Adding object x 86 82 --- Entering scope 87 83 Adding object y 88 Adding typedef z89 --- Entering scope90 --- Leaving scope containing91 --- Entering scope92 Adding object x93 Adding typedef y94 --- Entering scope95 84 --- Leaving scope containing 96 85 Adding object z 97 86 --- Leaving scope containing 98 x (__x__2tz) (4)99 z (__z__2ty) (4)100 y101 Adding object x102 --- Leaving scope containing103 x (__x__2tz) (3)104 y (__y__2tx) (3)105 z106 Adding object q107 --- Leaving scope containing108 q (__q__2tx) (2)109 y (__y__i) (2)110 x111 --- Leaving scope containing112 p (__p__2ty) (1)113 Adding function g114 --- Entering scope115 --- Entering scope116 Adding typedef x117 --- Entering scope118 --- Leaving scope containing119 Adding object z120 --- Leaving scope containing121 z (__z__2tx) (2)122 x123 87 --- Leaving scope containing 124 88 Adding function q … … 128 92 --- Leaving scope containing 129 93 --- Leaving scope containing 130 i (__i__i) (1) -
src/Tests/Expect-s/ScopeErrors.txt
reb50842 r937e51d 8 8 Adding object thisIsNotAnError 9 9 --- Leaving scope containing 10 thisIsNotAnError (__thisIsNotAnError__i) (2)11 10 --- Leaving scope containing 12 11 Adding function thisIsAlsoNotAnError … … 16 15 --- Leaving scope containing 17 16 --- Leaving scope containing 18 x (__x__d) (1)19 17 Adding function thisIsStillNotAnError 20 18 --- Entering scope … … 29 27 --- Leaving scope containing 30 28 Adding function butThisIsAnError 31 Error: duplicate definition for thisIsAnError: a signed int 32 Error: duplicate function definition for butThisIsAnError: a function 29 Error: duplicate function definition for butThisIsAnError: function 33 30 with parameters 34 31 double … … 36 33 double 37 34 with body 35 CompoundStmt 38 36 -
src/Tests/Expect-s/Tuple.txt
reb50842 r937e51d 12 12 Adding object d 13 13 --- Leaving scope containing 14 a (__a__i) (1) 15 b (__b__i) (1) 16 c (__c__Pi) (1) 17 d (__d__Pc) (1) 18 Adding struct inner 14 Adding fwd decl for struct inner 19 15 --- Entering scope 20 16 Adding object f2 21 17 Adding object f3 22 18 --- Leaving scope containing 23 f2 (__f2__i) (1) 24 f3 (__f3__i) (1) 25 Adding struct outer 19 Adding struct inner 20 Adding fwd decl for struct outer 26 21 --- Entering scope 27 22 Adding object f1 23 --- Entering scope 24 --- Leaving scope containing 28 25 Adding object i 29 26 Adding object f4 30 27 --- Leaving scope containing 31 f1 (__f1__i) (1) 32 f4 (__f4__d) (1) 33 i (__i__6sinner) (1) 28 Adding struct outer 29 --- Entering scope 30 --- Leaving scope containing 34 31 Adding object s 32 --- Entering scope 33 --- Leaving scope containing 35 34 Adding object sp 36 35 Adding object t1 … … 42 41 Adding object fmt 43 42 --- Leaving scope containing 44 fmt (__fmt__Pc) (1)45 rc (__rc__i) (1)46 43 Adding function printf 47 44 --- Entering scope 48 45 Adding object fmt 49 46 --- Leaving scope containing 50 fmt (__fmt__Pc) (1)51 47 Adding function f1 52 48 --- Entering scope … … 57 53 --- Leaving scope containing 58 54 --- Leaving scope containing 59 w (__w__i) (1)60 x (__x__s) (1)61 y (__y__Ui) (1)62 55 Adding function g1 63 56 --- Entering scope … … 69 62 Adding object z 70 63 --- Leaving scope containing 71 p (__p__s) (2)72 x (__x__s) (2)73 y (__y__Ui) (2)74 z (__z__Tii_) (2)75 64 --- Leaving scope containing 76 r (__r__Ticli_) (1)77 65 Adding function main 78 66 --- Entering scope … … 85 73 Adding object c 86 74 Adding object d 75 --- Entering scope 76 --- Leaving scope containing 87 77 Adding object t 88 78 --- Leaving scope containing 89 a (__a__i) (2)90 b (__b__i) (2)91 c (__c__i) (2)92 d (__d__i) (2)93 t (__t__6souter) (2)94 79 --- Leaving scope containing 95 argc (__argc__i) (1)96 argv (__argv__PPc) (1)97 rc (__rc__i) (1) -
src/Tests/Function.c
reb50842 r937e51d 4 4 float f( float ); 5 5 6 void g() 7 { 8 // selects the same f and a each time 9 // but without a cast would be ambiguous 10 f( (int)a ); 11 (int)f( a ); 6 void g() { 7 // selects the same f each time but without a cast would be ambiguous 8 f( (int)a ); 9 (int)f( a ); 12 10 } 13 11 … … 24 22 [ int, int ] r( int, int, int, int ); 25 23 26 void s() 27 { 28 r( p, q ); 29 r( [ q, p ] ); 30 r( r( p, q ), r( q, q ) ); 24 void s() { 25 r( p, q ); 26 r( [ q, p ] ); 27 r( r( p, q ), r( q, q ) ); 31 28 } 29 30 // Local Variables: // 31 // tab-width: 4 // 32 // End: // -
src/Tests/Functions.c
reb50842 r937e51d 4 4 5 5 int f ( 6 int (void),7 int (int),8 int ((void)),9 int ((int)),10 void g(void)11 ) {12 (*g)();13 g();14 g = h;6 int (void), 7 int (int), 8 int ((void)), 9 int ((int)), 10 void g(void) 11 ) { 12 (*g)(); 13 g(); 14 g = h; 15 15 } 16 16 … … 93 93 int ( int, int p ), 94 94 [int](int) 95 ) {96 int (*(*p)[][10])[][3];97 * [][10] * [][3] int p;98 * [] * [int](int) p;95 ) { 96 int (*(*p)[][10])[][3]; 97 * [][10] * [][3] int p; 98 * [] * [int](int) p; 99 99 } 100 100 … … 108 108 109 109 int f( 110 int (),110 int (), 111 111 112 int *(),113 int **(),114 int * const *(),115 int * const * const (),112 int *(), 113 int **(), 114 int * const *(), 115 int * const * const (), 116 116 117 int ([]),118 int ([10]),117 int ([]), 118 int ([10]), 119 119 120 int *([]),121 int *([10]),122 int **([]),123 int **([10]),124 int * const *([]),125 int * const *([10]),126 int * const * const ([]),127 int * const * const ([10])128 );120 int *([]), 121 int *([10]), 122 int **([]), 123 int **([10]), 124 int * const *([]), 125 int * const *([10]), 126 int * const * const ([]), 127 int * const * const ([10]) 128 ); 129 129 130 130 int f( 131 int (),131 int (), 132 132 133 int *(),134 int **(),135 int * const *(),136 int * const * const (),133 int *(), 134 int **(), 135 int * const *(), 136 int * const * const (), 137 137 138 int ([]),139 int ([10]),138 int ([]), 139 int ([10]), 140 140 141 int *([]),142 int *([10]),143 int **([]),144 int **([10]),145 int * const *([]),146 int * const *([10]),147 int * const * const ([]),148 int * const * const ([10])149 ) {141 int *([]), 142 int *([10]), 143 int **([]), 144 int **([10]), 145 int * const *([]), 146 int * const *([10]), 147 int * const * const ([]), 148 int * const * const ([10]) 149 ) { 150 150 } 151 151 152 152 typedef int T; 153 153 154 int f( T ( T), T T) {155 T (T);154 int f( T (*f), T t ) { 155 T (T); 156 156 } 157 157 … … 162 162 //int f[]() {} 163 163 //int ((*f15())())[] {} 164 165 // Local Variables: // 166 // tab-width: 4 // 167 // End: // -
src/Tests/InferParam.c
reb50842 r937e51d 8 8 void i( float ); 9 9 10 void h() 11 { 12 int a; 13 i( g( a ) ); 10 void h() { 11 int a; 12 i( g( a ) ); 14 13 } 15 14 16 context has_f_and_j( type T, type U ) 17 { 18 U f( T ); 19 U j( T, U ); 15 context has_f_and_j( type T, type U ) { 16 U f( T ); 17 U j( T, U ); 20 18 }; 21 19 … … 23 21 forall( type T, type U | has_f_and_j( T, U ) ) U k( T ); 24 22 25 void l() 26 { 27 int b; 28 i( k( b ) ); 23 void l() { 24 int b; 25 i( k( b ) ); 29 26 } 27 28 // Local Variables: // 29 // tab-width: 4 // 30 // End: // -
src/Tests/ScopeErrors.c
reb50842 r937e51d 5 5 float thisIsNotAnError; 6 6 7 int thisIsAlsoNotAnError() 8 { 7 int thisIsAlsoNotAnError() { 9 8 int thisIsNotAnError; 10 9 } 11 10 12 int thisIsAlsoNotAnError( double x ) 13 { 11 int thisIsAlsoNotAnError( double x ) { 14 12 } 15 13 … … 17 15 double thisIsStillNotAnError( double ); 18 16 19 double butThisIsAnError( double ) 20 { 17 double butThisIsAnError( double ) { 21 18 } 22 19 23 double butThisIsAnError( double ) 24 { 20 double butThisIsAnError( double ) { 25 21 } 26 22 23 // Local Variables: // 24 // tab-width: 4 // 25 // End: // -
src/Tests/Typedef.c
reb50842 r937e51d 18 18 a c; 19 19 20 typedef typeof(3) x, y; / * GCC */20 typedef typeof(3) x, y; // GCC 21 21 22 22 x p; … … 29 29 } 30 30 31 / * new-style function definitions */31 // new-style function definitions 32 32 33 33 typedef [10] * int arrayOf10Pointers; … … 42 42 typedef [ * [static 10] int ] t; 43 43 typedef [ * [static 10] int x ] f(); 44 45 // Local Variables: // 46 // tab-width: 4 // 47 // End: // -
src/Tests/VariableDeclarator.c
reb50842 r937e51d 154 154 [const * const * int] cf70(int); 155 155 156 157 * [20] double z;158 [20] * char w;159 160 156 // function pointer 161 157 162 158 *[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3; 159 160 // Local Variables: // 161 // tab-width: 4 // 162 // End: // -
src/Tuples/AssignExpand.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:24:47201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:16:39 2015 13 // Update Count : 4 14 14 // 15 15 … … 23 23 #include "AssignExpand.h" 24 24 25 #include "Parser/ParseNode.h" 26 25 27 #include "SynTree/Type.h" 28 #include "SynTree/Declaration.h" 29 #include "SynTree/Expression.h" 26 30 #include "SynTree/Statement.h" 27 #include "SynTree/Expression.h"28 #include "SynTree/Declaration.h"29 31 30 32 namespace Tuples { … … 100 102 assert( rhsT->get_results().size() == 1 ); 101 103 // declare temporaries 102 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration ::NoStorageClass, LinkageSpec::Intrinsic, 0,104 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0, 103 105 lhsT->get_results().front(), 0 ); 104 106 decls.push_back( new DeclStmt( std::list< Label >(), lhs ) ); 105 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration ::NoStorageClass, LinkageSpec::Intrinsic, 0,107 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0, 106 108 rhsT->get_results().front(), 0); 107 109 decls.push_back( new DeclStmt( std::list< Label >(), rhs )); -
src/Tuples/FunctionChecker.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:59:55201513 // Update Count : 312 // Last Modified On : Sat Jun 13 08:17:19 2015 13 // Update Count : 4 14 14 // 15 15 … … 75 75 if ( applicationExpr->get_results().size() > 1 ) { 76 76 for ( std::list< Type *>::iterator res = applicationExpr->get_results().begin(); res != applicationExpr->get_results().end(); res++ ) 77 temporaries.push_back( new ObjectDecl( nameGen->newName(), Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );77 temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto, LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) ); 78 78 79 79 assert( ! temporaries.empty() ); -
src/Tuples/MultRet.cc
reb50842 r937e51d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 12:37:57201513 // Update Count : 112 // Last Modified On : Mon Jun 8 14:54:44 2015 13 // Update Count : 2 14 14 // 15 15 … … 141 141 // Auxiliary function to generate new names for the `output' parameters 142 142 DeclStmt *MVRMutator::newVar( DeclarationWithType *reqDecl ) { 143 // std::ostr stream os;143 // std::ostringstream os; 144 144 // os << "__" << curVal++ << "__";// << std::ends; 145 // os.freeze( false );146 145 147 146 ObjectDecl *decl; -
src/Tuples/module.mk
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## module.mk -- 9 ## 10 ## Author : Richard C. Bilson 11 ## Created On : Mon Jun 1 17:49:17 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:54:33 2015 14 ## Update Count : 1 15 ############################################################################### 16 1 17 SRC += Tuples/Mutate.cc \ 2 18 Tuples/AssignExpand.cc \ … … 4 20 Tuples/TupleAssignment.cc \ 5 21 Tuples/FunctionChecker.cc \ 6 Tuples/NameMatcher.cc \ 22 Tuples/NameMatcher.cc 23 7 24 # Tuples/MultipleAssign.cc \ 8 25 # Tuples/FlattenTuple.cc \ … … 10 27 # Tuples/FixReturn.cc \ 11 28 # Tuples/MassAssignment.cc \ 12 # Tuples/TupleFixer.cc \ 13 $(NULL) 14 29 # Tuples/TupleFixer.cc -
src/driver/cc1.cc
reb50842 r937e51d 10 10 // Created On : Fri Aug 26 14:23:51 2005 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 07:42:14201513 // Update Count : 4912 // Last Modified On : Sat May 30 08:58:29 2015 13 // Update Count : 51 14 14 // 15 15 -
src/driver/cfa.cc
reb50842 r937e51d 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 07:47:05201513 // Update Count : 11 112 // Last Modified On : Tue Jun 23 17:47:03 2015 13 // Update Count : 119 14 14 // 15 15 … … 66 66 } // if 67 67 68 string installincdir( CFA_INCDIR ); // fixed location of cc1 and cfa-cpp commands69 string installlibdir( CFA_LIBDIR ); // fixed location of include files68 string installincdir( CFA_INCDIR ); // fixed location of include files 69 string installlibdir( CFA_LIBDIR ); // fixed location of cc1 and cfa-cpp commands 70 70 71 71 string heading; // banner printed at start of cfa compilation … … 85 85 bool CFA_flag = false; // -CFA flag 86 86 bool cpp_flag = false; // -E or -M flag, preprocessor only 87 bool std_flag = false; // -std= flag 87 88 bool debugging = false; // -g flag 88 89 … … 152 153 } // if 153 154 154 // C ++specific arguments155 // C specific arguments 155 156 156 157 } else if ( arg == "-v" ) { … … 160 161 } else if ( arg == "-g" ) { 161 162 debugging = true; // symbolic debugging required 163 args[nargs] = argv[i]; // pass the argument along 164 nargs += 1; 165 } else if ( prefix( arg, "-std=" ) ) { 166 std_flag = true; // std=XX provided 162 167 args[nargs] = argv[i]; // pass the argument along 163 168 nargs += 1; … … 296 301 args[nargs] = "-Wno-deprecated"; 297 302 nargs += 1; 298 args[nargs] = "-std=c99"; 299 nargs += 1; 303 if ( ! std_flag ) { // default c99, if none specified 304 args[nargs] = "-std=c99"; 305 nargs += 1; 306 } // if 300 307 args[nargs] = ( *new string( string("-B") + Bprefix + "/" ) ).c_str(); 301 308 nargs += 1; -
src/examples/Makefile.in
reb50842 r937e51d 1 ######################### -*- Mode: Makefile-Gmake -*- ######################## 2 ## 3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 4 ## 5 ## The contents of this file are covered under the licence agreement in the 6 ## file "LICENCE" distributed with Cforall. 7 ## 8 ## Makefile.in -- 9 ## 10 ## Author : Peter A. Buhr 11 ## Created On : Sat May 16 11:34:24 2015 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Sat May 16 11:35:25 2015 14 ## Update Count : 2 1 # Makefile.in generated by automake 1.11.3 from Makefile.am. 2 # @configure_input@ 3 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software 6 # Foundation, Inc. 7 # This Makefile.in is free software; the Free Software Foundation 8 # gives unlimited permission to copy and/or distribute it, 9 # with or without modifications, as long as this notice is preserved. 10 11 # This program is distributed in the hope that it will be useful, 12 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 13 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 14 # PARTICULAR PURPOSE. 15 16 @SET_MAKE@ 17 18 ######################## -*- Mode: Makefile-Automake -*- ###################### 15 19 ############################################################################### 16 20 17 CC := @CFA_BINDIR@/cfa 18 CFLAGS = -g -Wall -Wno-unused-function -MMD 19 MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}} # makefile name 20 21 OBJECTS1 = iostream.o fstream.o fstream_test.o 22 EXEC1 = fstream_test 23 24 OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o 25 EXEC2 = vector_test 26 27 OBJECTS = ${OBJECTS1} ${OBJECTS2} # all object files 28 DEPENDS = ${OBJECTS:.o=.d} # substitute ".o" with ".d" 29 EXECS = ${EXEC1} ${EXEC2} # all executables 30 31 ########## Targets ########## 32 33 .PHONY : all clean # not file names 34 35 all : ${EXECS} # build all executables 36 37 ${EXEC1} : ${OBJECTS1} # link step 1st executable 38 ${CC} ${CFLAGS} $^ -o $@ # additional object files before $^ 39 40 ${EXEC2} : ${OBJECTS2} # link step 2nd executable 41 ${CC} ${CFLAGS} $^ -o $@ # additional object files before $^ 42 43 ${OBJECTS} : ${MAKEFILE_NAME} # OPTIONAL : changes to this file => recompile 44 45 -include ${DEPENDS} # include *.d files containing program dependences 46 47 clean : # remove files that can be regenerated 48 rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class 49 50 distclean : clean 21 VPATH = @srcdir@ 22 pkgdatadir = $(datadir)/@PACKAGE@ 23 pkgincludedir = $(includedir)/@PACKAGE@ 24 pkglibdir = $(libdir)/@PACKAGE@ 25 pkglibexecdir = $(libexecdir)/@PACKAGE@ 26 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 27 install_sh_DATA = $(install_sh) -c -m 644 28 install_sh_PROGRAM = $(install_sh) -c 29 install_sh_SCRIPT = $(install_sh) -c 30 INSTALL_HEADER = $(INSTALL_DATA) 31 transform = $(program_transform_name) 32 NORMAL_INSTALL = : 33 PRE_INSTALL = : 34 POST_INSTALL = : 35 NORMAL_UNINSTALL = : 36 PRE_UNINSTALL = : 37 POST_UNINSTALL = : 38 noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT) 39 subdir = src/examples 40 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in 41 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 42 am__aclocal_m4_deps = $(top_srcdir)/configure.ac 43 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 44 $(ACLOCAL_M4) 45 mkinstalldirs = $(install_sh) -d 46 CONFIG_HEADER = $(top_builddir)/config.h 47 CONFIG_CLEAN_FILES = 48 CONFIG_CLEAN_VPATH_FILES = 49 PROGRAMS = $(noinst_PROGRAMS) 50 am_fstream_test_OBJECTS = iostream.$(OBJEXT) fstream.$(OBJEXT) \ 51 fstream_test.$(OBJEXT) 52 fstream_test_OBJECTS = $(am_fstream_test_OBJECTS) 53 fstream_test_LDADD = $(LDADD) 54 am_vector_test_OBJECTS = vector_int.$(OBJEXT) fstream.$(OBJEXT) \ 55 iostream.$(OBJEXT) array.$(OBJEXT) iterator.$(OBJEXT) \ 56 vector_test.$(OBJEXT) 57 vector_test_OBJECTS = $(am_vector_test_OBJECTS) 58 vector_test_LDADD = $(LDADD) 59 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 60 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 61 am__depfiles_maybe = depfiles 62 am__mv = mv -f 63 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 64 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 65 CCLD = $(CC) 66 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 67 SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES) 68 DIST_SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES) 69 ETAGS = etags 70 CTAGS = ctags 71 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 72 ACLOCAL = @ACLOCAL@ 73 ALLOCA = @ALLOCA@ 74 AMTAR = @AMTAR@ 75 AUTOCONF = @AUTOCONF@ 76 AUTOHEADER = @AUTOHEADER@ 77 AUTOMAKE = @AUTOMAKE@ 78 AWK = @AWK@ 79 BACKEND_CC = @BACKEND_CC@ 80 CC = @CFA_BINDIR@/cfa 81 CCDEPMODE = @CCDEPMODE@ 82 CFA_BINDIR = @CFA_BINDIR@ 83 CFA_INCDIR = @CFA_INCDIR@ 84 CFA_LIBDIR = @CFA_LIBDIR@ 85 CFA_PREFIX = @CFA_PREFIX@ 86 87 # applies to both programs 88 CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2 89 CPP = @CPP@ 90 CPPFLAGS = @CPPFLAGS@ 91 CXX = @CXX@ 92 CXXDEPMODE = @CXXDEPMODE@ 93 CXXFLAGS = @CXXFLAGS@ 94 CYGPATH_W = @CYGPATH_W@ 95 DEFS = @DEFS@ 96 DEPDIR = @DEPDIR@ 97 ECHO_C = @ECHO_C@ 98 ECHO_N = @ECHO_N@ 99 ECHO_T = @ECHO_T@ 100 EGREP = @EGREP@ 101 EXEEXT = @EXEEXT@ 102 GCC_PATH = @GCC_PATH@ 103 GREP = @GREP@ 104 INSTALL = @INSTALL@ 105 INSTALL_DATA = @INSTALL_DATA@ 106 INSTALL_PROGRAM = @INSTALL_PROGRAM@ 107 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 108 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 109 LDFLAGS = @LDFLAGS@ 110 LEX = @LEX@ 111 LEXLIB = @LEXLIB@ 112 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ 113 LIBOBJS = @LIBOBJS@ 114 LIBS = @LIBS@ 115 LTLIBOBJS = @LTLIBOBJS@ 116 MAINT = @MAINT@ 117 MAKEINFO = @MAKEINFO@ 118 MKDIR_P = @MKDIR_P@ 119 OBJEXT = @OBJEXT@ 120 PACKAGE = @PACKAGE@ 121 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 122 PACKAGE_NAME = @PACKAGE_NAME@ 123 PACKAGE_STRING = @PACKAGE_STRING@ 124 PACKAGE_TARNAME = @PACKAGE_TARNAME@ 125 PACKAGE_URL = @PACKAGE_URL@ 126 PACKAGE_VERSION = @PACKAGE_VERSION@ 127 PATH_SEPARATOR = @PATH_SEPARATOR@ 128 RANLIB = @RANLIB@ 129 SET_MAKE = @SET_MAKE@ 130 SHELL = @SHELL@ 131 STRIP = @STRIP@ 132 VERSION = @VERSION@ 133 YACC = @YACC@ 134 YFLAGS = @YFLAGS@ 135 abs_builddir = @abs_builddir@ 136 abs_srcdir = @abs_srcdir@ 137 abs_top_builddir = @abs_top_builddir@ 138 abs_top_srcdir = @abs_top_srcdir@ 139 ac_ct_CC = @ac_ct_CC@ 140 ac_ct_CXX = @ac_ct_CXX@ 141 am__include = @am__include@ 142 am__leading_dot = @am__leading_dot@ 143 am__quote = @am__quote@ 144 am__tar = @am__tar@ 145 am__untar = @am__untar@ 146 bindir = @bindir@ 147 build_alias = @build_alias@ 148 builddir = @builddir@ 149 datadir = @datadir@ 150 datarootdir = @datarootdir@ 151 docdir = @docdir@ 152 dvidir = @dvidir@ 153 exec_prefix = @exec_prefix@ 154 host_alias = @host_alias@ 155 htmldir = @htmldir@ 156 includedir = @includedir@ 157 infodir = @infodir@ 158 install_sh = @install_sh@ 159 libdir = @libdir@ 160 libexecdir = @libexecdir@ 161 localedir = @localedir@ 162 localstatedir = @localstatedir@ 163 mandir = @mandir@ 164 mkdir_p = @mkdir_p@ 165 oldincludedir = @oldincludedir@ 166 pdfdir = @pdfdir@ 167 prefix = @prefix@ 168 program_transform_name = @program_transform_name@ 169 psdir = @psdir@ 170 sbindir = @sbindir@ 171 sharedstatedir = @sharedstatedir@ 172 srcdir = @srcdir@ 173 sysconfdir = @sysconfdir@ 174 target_alias = @target_alias@ 175 top_build_prefix = @top_build_prefix@ 176 top_builddir = @top_builddir@ 177 top_srcdir = @top_srcdir@ 178 fstream_test_SOURCES = iostream.c fstream.c fstream_test.c 179 vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c 180 all: all-am 181 182 .SUFFIXES: 183 .SUFFIXES: .c .o .obj 184 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 185 @for dep in $?; do \ 186 case '$(am__configure_deps)' in \ 187 *$$dep*) \ 188 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 189 && { if test -f $@; then exit 0; else break; fi; }; \ 190 exit 1;; \ 191 esac; \ 192 done; \ 193 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \ 194 $(am__cd) $(top_srcdir) && \ 195 $(AUTOMAKE) --gnu src/examples/Makefile 196 .PRECIOUS: Makefile 197 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 198 @case '$?' in \ 199 *config.status*) \ 200 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 201 *) \ 202 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 203 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 204 esac; 205 206 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 207 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 208 209 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 210 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 211 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 212 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 213 $(am__aclocal_m4_deps): 214 215 clean-noinstPROGRAMS: 216 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 217 fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES) 218 @rm -f fstream_test$(EXEEXT) 219 $(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS) 220 vector_test$(EXEEXT): $(vector_test_OBJECTS) $(vector_test_DEPENDENCIES) $(EXTRA_vector_test_DEPENDENCIES) 221 @rm -f vector_test$(EXEEXT) 222 $(LINK) $(vector_test_OBJECTS) $(vector_test_LDADD) $(LIBS) 223 224 mostlyclean-compile: 225 -rm -f *.$(OBJEXT) 226 227 distclean-compile: 228 -rm -f *.tab.c 229 230 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@ 231 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream.Po@am__quote@ 232 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@ 233 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iostream.Po@am__quote@ 234 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Po@am__quote@ 235 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_int.Po@am__quote@ 236 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_test.Po@am__quote@ 237 238 .c.o: 239 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< 240 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 241 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 242 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 243 @am__fastdepCC_FALSE@ $(COMPILE) -c $< 244 245 .c.obj: 246 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` 247 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 248 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 249 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 250 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` 251 252 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) 253 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 254 unique=`for i in $$list; do \ 255 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 256 done | \ 257 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 258 END { if (nonempty) { for (i in files) print i; }; }'`; \ 259 mkid -fID $$unique 260 tags: TAGS 261 262 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 263 $(TAGS_FILES) $(LISP) 264 set x; \ 265 here=`pwd`; \ 266 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 267 unique=`for i in $$list; do \ 268 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 269 done | \ 270 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 271 END { if (nonempty) { for (i in files) print i; }; }'`; \ 272 shift; \ 273 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 274 test -n "$$unique" || unique=$$empty_fix; \ 275 if test $$# -gt 0; then \ 276 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 277 "$$@" $$unique; \ 278 else \ 279 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 280 $$unique; \ 281 fi; \ 282 fi 283 ctags: CTAGS 284 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 285 $(TAGS_FILES) $(LISP) 286 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 287 unique=`for i in $$list; do \ 288 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 289 done | \ 290 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ 291 END { if (nonempty) { for (i in files) print i; }; }'`; \ 292 test -z "$(CTAGS_ARGS)$$unique" \ 293 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 294 $$unique 295 296 GTAGS: 297 here=`$(am__cd) $(top_builddir) && pwd` \ 298 && $(am__cd) $(top_srcdir) \ 299 && gtags -i $(GTAGS_ARGS) "$$here" 300 301 distclean-tags: 302 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 303 304 distdir: $(DISTFILES) 305 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 306 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 307 list='$(DISTFILES)'; \ 308 dist_files=`for file in $$list; do echo $$file; done | \ 309 sed -e "s|^$$srcdirstrip/||;t" \ 310 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 311 case $$dist_files in \ 312 */*) $(MKDIR_P) `echo "$$dist_files" | \ 313 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 314 sort -u` ;; \ 315 esac; \ 316 for file in $$dist_files; do \ 317 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 318 if test -d $$d/$$file; then \ 319 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 320 if test -d "$(distdir)/$$file"; then \ 321 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 322 fi; \ 323 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 324 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 325 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 326 fi; \ 327 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 328 else \ 329 test -f "$(distdir)/$$file" \ 330 || cp -p $$d/$$file "$(distdir)/$$file" \ 331 || exit 1; \ 332 fi; \ 333 done 334 check-am: all-am 335 check: check-am 336 all-am: Makefile $(PROGRAMS) 337 installdirs: 338 install: install-am 339 install-exec: install-exec-am 340 install-data: install-data-am 341 uninstall: uninstall-am 342 343 install-am: all-am 344 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 345 346 installcheck: installcheck-am 347 install-strip: 348 if test -z '$(STRIP)'; then \ 349 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 350 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 351 install; \ 352 else \ 353 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 354 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 355 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 356 fi 357 mostlyclean-generic: 358 359 clean-generic: 360 361 distclean-generic: 362 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 363 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 364 365 maintainer-clean-generic: 366 @echo "This command is intended for maintainers to use" 367 @echo "it deletes files that may require special tools to rebuild." 368 clean: clean-am 369 370 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am 371 372 distclean: distclean-am 373 -rm -rf ./$(DEPDIR) 374 -rm -f Makefile 375 distclean-am: clean-am distclean-compile distclean-generic \ 376 distclean-tags 377 378 dvi: dvi-am 379 380 dvi-am: 381 382 html: html-am 383 384 html-am: 385 386 info: info-am 387 388 info-am: 389 390 install-data-am: 391 392 install-dvi: install-dvi-am 393 394 install-dvi-am: 395 396 install-exec-am: 397 398 install-html: install-html-am 399 400 install-html-am: 401 402 install-info: install-info-am 403 404 install-info-am: 405 406 install-man: 407 408 install-pdf: install-pdf-am 409 410 install-pdf-am: 411 412 install-ps: install-ps-am 413 414 install-ps-am: 415 416 installcheck-am: 417 418 maintainer-clean: maintainer-clean-am 419 -rm -rf ./$(DEPDIR) 420 -rm -f Makefile 421 maintainer-clean-am: distclean-am maintainer-clean-generic 422 423 mostlyclean: mostlyclean-am 424 425 mostlyclean-am: mostlyclean-compile mostlyclean-generic 426 427 pdf: pdf-am 428 429 pdf-am: 430 431 ps: ps-am 432 433 ps-am: 434 435 uninstall-am: 436 437 .MAKE: install-am install-strip 438 439 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ 440 clean-noinstPROGRAMS ctags distclean distclean-compile \ 441 distclean-generic distclean-tags distdir dvi dvi-am html \ 442 html-am info info-am install install-am install-data \ 443 install-data-am install-dvi install-dvi-am install-exec \ 444 install-exec-am install-html install-html-am install-info \ 445 install-info-am install-man install-pdf install-pdf-am \ 446 install-ps install-ps-am install-strip installcheck \ 447 installcheck-am installdirs maintainer-clean \ 448 maintainer-clean-generic mostlyclean mostlyclean-compile \ 449 mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ 450 uninstall-am 451 452 453 # Tell versions [3.59,3.63) of GNU make to not export all variables. 454 # Otherwise a system limit (for SysV at least) may be exceeded. 455 .NOEXPORT: -
src/examples/abstype.c
reb50842 r937e51d 1 // "cfa-cpp -nx Abstype.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // abstype.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:10:01 2015 13 // Update Count : 4 14 // 2 15 3 16 type T | { T x( T ); }; 4 17 5 18 T y( T t ) { 6 T t_instance;7 return x( t );19 T t_instance; 20 return x( t ); 8 21 } 9 22 … … 16 29 17 30 U x( U u ) { 18 U u_instance = u;19 (*u)++;20 return u;31 U u_instance = u; 32 (*u)++; 33 return u; 21 34 } 22 35 23 36 int *break_abstraction( U u ) { 24 return u;37 return u; 25 38 } 39 40 // Local Variables: // 41 // tab-width: 4 // 42 // compile-command: "cfa abstype.c" // 43 // End: // -
src/examples/array.c
reb50842 r937e51d 1 // "cfa -c -o array.o array.c" 2 // "cfa -CFA array.c > array_out.c" 3 // "gcc32 array_out.c ../LibCfa/libcfa.a" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // array.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:10:13 2015 13 // Update Count : 2 14 // 4 15 5 16 #include "array.h" … … 16 27 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) ) 17 28 elt_type * begin( array_type array ) { 18 return &array[ 0 ];29 return &array[ 0 ]; 19 30 } 20 31 … … 22 33 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) ) 23 34 elt_type * end( array_type array ) { 24 return &array[ last( array ) ] + 1;35 return &array[ last( array ) ] + 1; 25 36 } 37 38 // Local Variables: // 39 // tab-width: 4 // 40 // compile-command: "cfa array.c" // 41 // End: // -
src/examples/array.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // array.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:10:32 2015 13 // Update Count : 2 14 // 15 1 16 #ifndef ARRAY_H 2 17 #define ARRAY_H … … 7 22 // element has index 0. 8 23 context array( type array_type, type elt_type ) { 9 lvalue elt_type ?[?]( array_type, int );24 lvalue elt_type ?[?]( array_type, int ); 10 25 }; 11 26 12 27 // A bounded array is an array that carries its maximum index with it. 13 28 context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) { 14 int last( array_type );29 int last( array_type ); 15 30 }; 16 31 … … 32 47 33 48 #endif // ARRAY_H 49 50 // Local Variables: // 51 // tab-width: 4 // 52 // compile-command: "cfa array.c" // 53 // End: // -
src/examples/constants.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // constants.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 20:44:48 2015 13 // Update Count : 75 14 // 15 1 16 int foo() { 2 1_234_Ul; 3 -0_177; 4 0x_ff_FF_ff_FF; 5 +9_223_372_036_854_775_807; 6 12.123_333_E_27; 7 0X_1.ff_ff_ff_ff_ff_fff_P_1023; 8 '\0'; 9 '\1_2_3'; 10 L_'\x_ff_ee'; 11 L"a_bc\u_00_40xyz\xff_AA"; 12 "a_bc\\ 13 u_00_40xyz"; 17 1_234_Ul; 18 -0_177; 19 017_777_777_777; 20 037_777_777_777; 21 0x_7f_FF_ff_FF; 22 0x_ff_FF_ff_FF; 23 2_147_483_647; 24 4_294_967_295; 25 4_294_967_296; 26 4_294_967_296U; 27 0_777_777_777_777_777_777_777; 28 01_777_777_777_777_777_777_777; 29 0; 30 0L; 31 0LL; 32 1; 33 1L; 34 1LL; 35 10; 36 10L; 37 10LL; 38 2U; 39 2UL; 40 2ULL; 41 2LU; 42 2LLU; 43 0x_7f_FF_ff_FF_ff_FF_ff_FF; 44 0x_ff_FF_ff_FF_ff_FF_ff_FF; 45 9_223_372_036_854_775_807; 46 18_446_744_073_709_551_615; 47 3.141_59f; 48 3.14159; 49 12.123_333_E_27L; 50 0X_1.ff_ff_ff_ff_ff_fff_P_1023; 51 '\0'; 52 '\1_2_3'; 53 L'\x_ff_ee'; 54 L_"\x_ff_ee"; 55 L"a_b\r\Qyc\u_00_40 x_y_z\xff_AA"; 56 L_"a_b\r\Qyc\u_00_40\ 57 x_y_z\xff_AA"; 58 "abc" "def" "ghi"; 14 59 } 15 60 16 61 // Local Variables: // 17 // compile-command: "../../bin/cfa -std=c99 constants.c" // 62 // tab-width: 4 // 63 // compile-command: "cfa constants.c" // 18 64 // End: // -
src/examples/control_structures.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // control_structures.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 4 14:02:50 2015 13 // Update Count : 24 14 // 15 1 16 int main() { 2 L1: { 3 L2: switch ( 3_333_333 ) { // underscores in constant 4 case 1,2,3: // 4~8, 4...8 not working 5 L3: for ( ;; ) { 6 L4: for ( ;; ) { 7 break L1; // labelled break 8 break L2; 9 break L3; 10 break L4; 11 #if 0 12 continue L1; // labelled continue 13 continue L2; 14 continue L3; 15 continue L4; 16 #endif 17 } // for 18 } // for 19 break; 20 default: 21 break L1; 22 } // switch 23 3; 24 int i, j; 25 choose ( 7 ) { 26 case 1,2,3: 27 i = 3; 28 fallthru; 29 case 4,5,6: 30 j = 3; 31 default: ; 32 } // choose 33 } // block 17 L1: { 18 L2: switch ( 3_333_333 ) { // underscores in constant 19 case 1,2,3: // CFA 20 case 4~8: // CFA 21 case 9 ... 10: // gcc, must have spaces 22 L3: for ( ;; ) { 23 L4: for ( ;; ) { 24 break L1; // labelled break 25 break L2; 26 break L3; 27 break L4; 28 //continue L1; // labelled continue - should be an error 29 //continue L2; // should be an error 30 continue L3; 31 continue L4; 32 } // for 33 } // for 34 break; 35 default: 36 break L1; 37 } // switch 38 3; 39 int i, j; 40 choose ( 7 ) { 41 case 1,2,3: 42 i = 3; 43 4; 44 fallthru; 45 case 4,5,6: 46 j = 3; 47 default: ; 48 } // choose 49 } // block 34 50 35 51 #if 0 36 try {37 int i = 3;38 } catch( int ) {39 } catch( double ) {40 } catch( ... ) {41 } finally {42 } // try52 try { 53 int i = 3; 54 } catch( int ) { 55 } catch( double ) { 56 } catch( ... ) { 57 } finally { 58 } // try 43 59 #endif 44 60 … … 46 62 47 63 // Local Variables: // 48 // compile-command: "../../bin/cfa control_structures.c" // 64 // tab-width: 4 // 65 // compile-command: "cfa control_structures.c" // 49 66 // End: // -
src/examples/ctxts.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // ctxts.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:11:19 2015 13 // Update Count : 2 14 // 15 1 16 context has_f( type T ) { 2 T f( T );17 T f( T ); 3 18 }; 4 19 5 20 context has_g( type U | has_f( U ) ) { 6 U g( U );21 U g( U ); 7 22 }; 8 23 9 24 forall( type V | has_g( V ) ) void h( V ); 25 26 // Local Variables: // 27 // tab-width: 4 // 28 // compile-command: "cfa ctxts.c" // 29 // End: // -
src/examples/esskaykay.c
reb50842 r937e51d 1 // "./cfa-cpp -cn esskaykay.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // esskaykay.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:11:45 2015 13 // Update Count : 2 14 // 2 15 3 16 // forall (type A, type B, type C) C ess (C (*f) (A,B), B (*g) (A), A x) { return f(x,g(x)); } … … 10 23 11 24 forall (type A) A esskaykay (A x) { ess (kay, kay, x); } 25 26 // Local Variables: // 27 // tab-width: 4 // 28 // compile-command: "cfa esskaykay.c" // 29 // End: // -
src/examples/forward.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // forward.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:11:57 2015 13 // Update Count : 2 14 // 15 1 16 forall(type T) lvalue T *?( T* ); 2 17 int ?=?( int*, int ); … … 6 21 7 22 void f() { 8 *x;23 *x; 9 24 } 10 25 11 26 // Local Variables: // 12 // compile-command: "../../bin/cfa forward.c" // 27 // tab-width: 4 // 28 // compile-command: "cfa forward.c" // 13 29 // End: // -
src/examples/fstream.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // fstream.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:12:33 2015 13 // Update Count : 2 14 // 15 1 16 #include "fstream.h" 2 17 … … 7 22 8 23 struct ofstream { 9 FILE *file;10 int fail;24 FILE *file; 25 int fail; 11 26 }; 12 27 13 28 ofstream *write( ofstream *os, const char *data, streamsize_type size ) { 14 if ( ! os->fail ) {15 fwrite( data, size, 1, os->file );16 os->fail = ferror( os->file );17 }18 return os;29 if ( ! os->fail ) { 30 fwrite( data, size, 1, os->file ); 31 os->fail = ferror( os->file ); 32 } 33 return os; 19 34 } 20 35 21 36 int fail( ofstream *os ) { 22 return os->fail;37 return os->fail; 23 38 } 24 39 25 40 static ofstream *make_ofstream() { 26 ofstream *new_stream = malloc( sizeof( ofstream ) );27 new_stream->fail = 0;28 return new_stream;41 ofstream *new_stream = malloc( sizeof( ofstream ) ); 42 new_stream->fail = 0; 43 return new_stream; 29 44 } 30 45 31 46 ofstream *ofstream_stdout() { 32 ofstream *stdout_stream = make_ofstream();33 stdout_stream->file = stdout;34 return stdout_stream;47 ofstream *stdout_stream = make_ofstream(); 48 stdout_stream->file = stdout; 49 return stdout_stream; 35 50 } 36 51 37 52 ofstream *ofstream_stderr() { 38 ofstream *stderr_stream = make_ofstream();39 stderr_stream->file = stderr;40 return stderr_stream;53 ofstream *stderr_stream = make_ofstream(); 54 stderr_stream->file = stderr; 55 return stderr_stream; 41 56 } 42 57 43 58 ofstream *ofstream_fromfile( const char *name ) { 44 ofstream *file_stream = make_ofstream();45 file_stream->file = fopen( name, "w" );46 file_stream->fail = file_stream->file == 0;47 return file_stream;59 ofstream *file_stream = make_ofstream(); 60 file_stream->file = fopen( name, "w" ); 61 file_stream->fail = file_stream->file == 0; 62 return file_stream; 48 63 } 49 64 50 65 void ofstream_close( ofstream *os ) { 51 if ( os->file != stdout && os->file != stderr ) {52 os->fail = fclose( os->file );53 }54 free( os );66 if ( os->file != stdout && os->file != stderr ) { 67 os->fail = fclose( os->file ); 68 } 69 free( os ); 55 70 } 56 71 57 72 struct ifstream { 58 FILE *file;59 int fail;60 int eof;73 FILE *file; 74 int fail; 75 int eof; 61 76 }; 62 77 63 78 ifstream *read( ifstream *is, char *data, streamsize_type size ) { 64 if ( ! is->fail && ! is->eof ) {65 fread( data, size, 1, is->file );66 is->fail = ferror( is->file );67 is->eof = feof( is->file );68 }69 return is;79 if ( ! is->fail && ! is->eof ) { 80 fread( data, size, 1, is->file ); 81 is->fail = ferror( is->file ); 82 is->eof = feof( is->file ); 83 } 84 return is; 70 85 } 71 86 72 87 ifstream *unread( ifstream *is, char c ) { 73 if ( ! is->fail ) { 74 if ( ! EOF == ungetc( c, is->file ) ) { 75 is->fail = 1; 88 if ( ! is->fail ) { 89 if ( ! EOF == ungetc( c, is->file ) ) { 90 is->fail = 1; 91 } 76 92 } 77 } 78 return is; 93 return is; 79 94 } 80 95 81 96 int fail( ifstream *is ) { 82 return is->fail;97 return is->fail; 83 98 } 84 99 85 100 int eof( ifstream *is ) { 86 return is->eof;101 return is->eof; 87 102 } 88 103 89 104 static ifstream *make_ifstream() { 90 ifstream *new_stream = malloc( sizeof( ifstream ) );91 new_stream->fail = 0;92 new_stream->eof = 0;93 return new_stream;105 ifstream *new_stream = malloc( sizeof( ifstream ) ); 106 new_stream->fail = 0; 107 new_stream->eof = 0; 108 return new_stream; 94 109 } 95 110 96 111 ifstream *ifstream_stdin() { 97 ifstream *stdin_stream = make_ifstream();98 stdin_stream->file = stdin;99 return stdin_stream;112 ifstream *stdin_stream = make_ifstream(); 113 stdin_stream->file = stdin; 114 return stdin_stream; 100 115 } 101 116 102 117 ifstream *ifstream_fromfile( const char *name ) { 103 ifstream *file_stream = make_ifstream();104 file_stream->file = fopen( name, "r" );105 file_stream->fail = file_stream->file == 0;106 return file_stream;118 ifstream *file_stream = make_ifstream(); 119 file_stream->file = fopen( name, "r" ); 120 file_stream->fail = file_stream->file == 0; 121 return file_stream; 107 122 } 123 124 // Local Variables: // 125 // tab-width: 4 // 126 // compile-command: "cfa fstream.c" // 127 // End: // -
src/examples/fstream.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // fstream.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:13:08 2015 13 // Update Count : 1 14 // 15 1 16 #ifndef __FSTREAM_H__ 2 17 #define __FSTREAM_H__ … … 27 42 28 43 #endif // __FSTREAM_H__ 44 45 // Local Variables: // 46 // tab-width: 4 // 47 // compile-command: "cfa fstream.c" // 48 // End: // -
src/examples/fstream_test.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // fstream_test.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:13:43 2015 13 // Update Count : 2 14 // 15 1 16 #include "fstream.h" 2 17 3 18 int main() { 4 ofstream *sout = ofstream_stdout();5 ifstream *sin = ifstream_stdin();6 int nombre;7 sout << "Appuyez un nombre, s'il vous plâit:\n";8 sin >> &nombre;9 sout << "Vous avez appuyé: " << nombre << "\n";19 ofstream *sout = ofstream_stdout(); 20 ifstream *sin = ifstream_stdin(); 21 int nombre; 22 sout << "Appuyez un nombre, s'il vous plâit:\n"; 23 sin >> &nombre; 24 sout << "Vous avez appuyé: " << nombre << "\n"; 10 25 } 26 27 // Local Variables: // 28 // tab-width: 4 // 29 // compile-command: "cfa fstream_test.c" // 30 // End: // -
src/examples/fwrite.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // fwrite.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:14:12 2015 13 // Update Count : 1 14 // 15 1 16 extern "C" { 2 #include <stdio.h>17 #include <stdio.h> 3 18 } 4 19 5 20 int main() { 6 fwrite( "test\n", 5, 1, stdout );21 fwrite( "test\n", 5, 1, stdout ); 7 22 } 23 24 // Local Variables: // 25 // tab-width: 4 // 26 // compile-command: "cfa fwrite.c" // 27 // End: // -
src/examples/hello.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // hello.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:14:58 2015 13 // Update Count : 1 14 // 15 1 16 #include "fstream.h" 2 17 3 18 int main() { 4 ofstream *sout = ofstream_stdout();5 ifstream *sin = ifstream_stdin();6 sout << "Bonjour au monde!\n";7 sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";8 int i, j, k;9 sin >> &i >> &j >> &k;10 sout << "i:" << i << " j:" << j << " k:" << k << "\n";19 ofstream *sout = ofstream_stdout(); 20 ifstream *sin = ifstream_stdin(); 21 sout << "Bonjour au monde!\n"; 22 sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n"; 23 int i, j, k; 24 sin >> &i >> &j >> &k; 25 sout << "i:" << i << " j:" << j << " k:" << k << "\n"; 11 26 } 12 27 13 28 // Local Variables: // 14 // compile-command: "../../bin/cfa hello.c fstream.o iostream.o" // 29 // tab-width: 4 // 30 // compile-command: "cfa hello.c fstream.o iostream.o" // 15 31 // End: // -
src/examples/huge.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // huge.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:15:34 2015 13 // Update Count : 1 14 // 15 1 16 int huge( int n, forall( type T ) T (*f)( T ) ) { 2 if ( n <= 0 )3 return f( 0 );4 else5 return huge( n - 1, f( f ) );17 if ( n <= 0 ) 18 return f( 0 ); 19 else 20 return huge( n - 1, f( f ) ); 6 21 } 22 23 // Local Variables: // 24 // tab-width: 4 // 25 // compile-command: "cfa huge.c" // 26 // End: // -
src/examples/identity.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // identity.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:16:30 2015 13 // Update Count : 2 14 // 15 1 16 #include "fstream.h" 2 17 3 18 forall( type T ) 4 19 T identity( T t ) { 5 return t;20 return t; 6 21 } 7 22 8 23 int main() { 9 ofstream *sout = ofstream_stdout();10 char c = 'a';11 c = identity( c );12 sout << c << ' ' << identity( c ) << '\n';13 int i = 5;14 i = identity( i );15 sout << i << ' ' << identity( i ) << '\n';16 double d = 3.2;17 d = identity( d );18 sout << d << ' ' << identity( d ) << '\n';24 ofstream *sout = ofstream_stdout(); 25 char c = 'a'; 26 c = identity( c ); 27 sout << c << ' ' << identity( c ) << '\n'; 28 int i = 5; 29 i = identity( i ); 30 sout << i << ' ' << identity( i ) << '\n'; 31 double d = 3.2; 32 d = identity( d ); 33 sout << d << ' ' << identity( d ) << '\n'; 19 34 } 20 35 21 36 // Local Variables: // 22 // compile-command: "../../bin/cfa identity.c fstream.o iostream.o" // 37 // tab-width: 4 // 38 // compile-command: "cfa identity.c fstream.o iostream.o" // 23 39 // End: // -
src/examples/includes.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // includes.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 15:54:17 2015 13 // Update Count : 7 14 // 15 1 16 #if 1 2 17 //#include <aio.h> // FAILS -- includes locale.h … … 34 49 #include <curses.h> 35 50 #else 36 #include < time.h> // FAILS -- includes locale.h51 #include <curses.h> 37 52 #endif // 0 38 53 39 54 // Local Variables: // 40 // compile-command: "../../bin/cfa includes.c" // 55 // tab-width: 4 // 56 // compile-command: "cfa includes.c" // 41 57 // End: // -
src/examples/index.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // index.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:17:31 2015 13 // Update Count : 1 14 // 15 1 16 context index( type T ) { 2 T ?+?( T, T );3 T ?-?( T, T );4 const T 0, 1;17 T ?+?( T, T ); 18 T ?-?( T, T ); 19 const T 0, 1; 5 20 }; 21 22 // Local Variables: // 23 // tab-width: 4 // 24 // compile-command: "cfa index.c" // 25 // End: // -
src/examples/iostream.c
reb50842 r937e51d 1 // "cfa -c -o iostream.o iostream.c" 2 // "cfa -v -E iostream.c > iostream_out.c" 3 // "cfa -CFA iostream.c > iostream_out.c" 4 // "cfa iostream_out.c" 5 // "gcc32 iostream_out.c LibCfa/libcfa.a" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // iostream.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:18:13 2015 13 // Update Count : 2 14 // 6 15 7 16 #include "iostream.h" … … 10 19 //#include <string.h> 11 20 //#include <ctype.h> 12 typedef long unsigned int size_t;13 size_t strlen(const char *s);21 typedef long unsigned int size_t; 22 size_t strlen(const char *s); 14 23 } 15 24 16 25 forall( dtype ostype | ostream( ostype ) ) 17 26 ostype * ?<<?( ostype *os, char c ) { 18 return write( os, &c, 1 );27 return write( os, &c, 1 ); 19 28 } 20 29 21 30 forall( dtype ostype | ostream( ostype ) ) 22 31 ostype * ?<<?( ostype *os, int i ) { 23 char buffer[20]; // larger than the largest integer24 sprintf( buffer, "%d", i );25 return write( os, buffer, strlen( buffer ) );32 char buffer[20]; // larger than the largest integer 33 sprintf( buffer, "%d", i ); 34 return write( os, buffer, strlen( buffer ) ); 26 35 } 27 36 28 37 forall( dtype ostype | ostream( ostype ) ) 29 38 ostype * ?<<?( ostype *os, double d ) { 30 char buffer[32]; // larger than the largest double31 sprintf( buffer, "%g", d );32 return write( os, buffer, strlen( buffer ) );39 char buffer[32]; // larger than the largest double 40 sprintf( buffer, "%g", d ); 41 return write( os, buffer, strlen( buffer ) ); 33 42 } 34 43 35 44 forall( dtype ostype | ostream( ostype ) ) 36 45 ostype * ?<<?( ostype *os, const char *cp ) { 37 return write( os, cp, strlen( cp ) );46 return write( os, cp, strlen( cp ) ); 38 47 } 39 48 40 49 forall( dtype istype | istream( istype ) ) 41 50 istype * ?>>?( istype *is, char *cp ) { 42 return read( is, cp, 1 );51 return read( is, cp, 1 ); 43 52 } 44 53 45 54 forall( dtype istype | istream( istype ) ) 46 55 istype * ?>>?( istype *is, int *ip ) { 47 char cur;56 char cur; 48 57 49 // skip some whitespace50 do {51 is >> &cur;52 if ( fail( is ) || eof( is ) ) return is;53 } while ( !( cur >= '0' && cur <= '9' ) );58 // skip some whitespace 59 do { 60 is >> &cur; 61 if ( fail( is ) || eof( is ) ) return is; 62 } while ( !( cur >= '0' && cur <= '9' ) ); 54 63 55 // accumulate digits56 *ip = 0;57 while ( cur >= '0' && cur <= '9' ) {58 *ip = *ip * 10 + ( cur - '0' );59 is >> &cur;60 if ( fail( is ) || eof( is ) ) return is;61 }64 // accumulate digits 65 *ip = 0; 66 while ( cur >= '0' && cur <= '9' ) { 67 *ip = *ip * 10 + ( cur - '0' ); 68 is >> &cur; 69 if ( fail( is ) || eof( is ) ) return is; 70 } 62 71 63 unread( is, cur );64 return is;72 unread( is, cur ); 73 return is; 65 74 } 75 76 // Local Variables: // 77 // tab-width: 4 // 78 // compile-command: "cfa iostream.c" // 79 // End: // -
src/examples/iostream.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // iostream.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:18:46 2015 13 // Update Count : 1 14 // 15 1 16 #ifndef IOSTREAM_H 2 17 #define IOSTREAM_H … … 5 20 6 21 context ostream( dtype ostype ) { 7 ostype *write( ostype *, const char *, streamsize_type );8 int fail( ostype * );22 ostype *write( ostype *, const char *, streamsize_type ); 23 int fail( ostype * ); 9 24 }; 10 25 11 26 context writeable( type T ) { 12 forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );27 forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T ); 13 28 }; 14 29 … … 22 37 23 38 context istream( dtype istype ) { 24 istype *read( istype *, char *, streamsize_type );25 istype *unread( istype *, char );26 int fail( istype * );27 int eof( istype * );39 istype *read( istype *, char *, streamsize_type ); 40 istype *unread( istype *, char ); 41 int fail( istype * ); 42 int eof( istype * ); 28 43 }; 29 44 30 45 context readable( type T ) { 31 forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );46 forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T ); 32 47 }; 33 48 … … 39 54 40 55 #endif // IOSTREAM_H 56 57 // Local Variables: // 58 // tab-width: 4 // 59 // compile-command: "cfa iostream.c" // 60 // End: // -
src/examples/it_out.c
reb50842 r937e51d 1 # 1 "iterator.c" 2 # 1 "<built-in>" 3 # 1 "<command line>" 4 # 1 "iterator.c" 5 # 1 "iterator.h" 1 6 7 8 9 # 1 "iostream.h" 1 10 11 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // it_out.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:41:23 2015 13 // Update Count : 4 14 // 12 15 13 16 typedef unsigned long streamsize_type; 14 17 15 16 17 context ostream( dtype os_type ) 18 { 19 20 os_type *write( os_type *, const char *, streamsize_type ); 21 22 23 int fail( os_type * ); 18 context ostream( dtype os_type ) { 19 os_type *write( os_type *, const char *, streamsize_type ); 20 int fail( os_type * ); 24 21 }; 25 22 26 27 28 29 context writeable( type T ) 30 { 31 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T ); 23 context writeable( type T ) { 24 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T ); 32 25 }; 33 34 35 26 36 27 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, char ); … … 38 29 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * ); 39 30 40 41 42 43 context istream( dtype is_type ) 44 { 45 46 is_type *read( is_type *, char *, streamsize_type ); 47 48 49 is_type *unread( is_type *, char ); 50 51 52 int fail( is_type * ); 53 54 55 int eof( is_type * ); 31 context istream( dtype is_type ) { 32 is_type *read( is_type *, char *, streamsize_type ); 33 is_type *unread( is_type *, char ); 34 int fail( is_type * ); 35 int eof( is_type * ); 56 36 }; 57 37 58 59 60 61 context readable( type T ) 62 { 63 forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T ); 38 context readable( type T ) { 39 forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T ); 64 40 }; 65 66 67 41 68 42 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, char* ); 69 43 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* ); 70 # 5 "iterator.h" 271 44 45 context iterator( type iterator_type, type elt_type ) { 46 iterator_type ?++( iterator_type* ); 47 iterator_type ++?( iterator_type* ); 48 int ?==?( iterator_type, iterator_type ); 49 int ?!=?( iterator_type, iterator_type ); 72 50 73 context iterator( type iterator_type, type elt_type ) 74 { 75 76 iterator_type ?++( iterator_type* ); 77 iterator_type ++?( iterator_type* ); 78 79 80 int ?==?( iterator_type, iterator_type ); 81 int ?!=?( iterator_type, iterator_type ); 82 83 84 lvalue elt_type *?( iterator_type ); 51 lvalue elt_type *?( iterator_type ); 85 52 }; 86 53 87 54 forall( type elt_type | writeable( elt_type ), 55 type iterator_type | iterator( iterator_type, elt_type ), 56 dtype os_type | ostream( os_type ) ) 57 void write_all( iterator_type begin, iterator_type end, os_type *os ); 88 58 89 59 forall( type elt_type | writeable( elt_type ), 90 type iterator_type | iterator( iterator_type, elt_type ), 91 dtype os_type | ostream( os_type ) ) 92 void write_all( iterator_type begin, iterator_type end, os_type *os ); 93 # 2 "iterator.c" 2 60 type iterator_type | iterator( iterator_type, elt_type ), 61 dtype os_type | ostream( os_type ) ) 62 void write_all( elt_type begin, iterator_type end, os_type *os ) { 63 os << begin; 64 } 94 65 95 forall( type elt_type | writeable( elt_type ), 96 type iterator_type | iterator( iterator_type, elt_type ), 97 dtype os_type | ostream( os_type ) ) 98 void 99 write_all( elt_type begin, iterator_type end, os_type *os ) 100 { 101 os << begin; 102 } 66 // Local Variables: // 67 // tab-width: 4 // 68 // compile-command: "cfa it_out.c" // 69 // End: // -
src/examples/iterator.c
reb50842 r937e51d 1 // "cfa iterator.c" 2 // "cfa -CFA iterator.c > iterator_out.c" 3 // "gcc31 iterator_out.c ../LibCfa/libcfa.a" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // iterator.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:41:41 2015 13 // Update Count : 3 14 // 4 15 5 16 #include "iterator.h" … … 11 22 /// iterator_type i; 12 23 /// for ( i = begin; i != end; ++i ) { 13 /// func( *i );24 /// func( *i ); 14 25 /// } 15 26 /// } 16 27 17 28 forall( type elt_type | writeable( elt_type ), 18 type iterator_type | iterator( iterator_type, elt_type ),19 dtype os_type | ostream( os_type ) )29 type iterator_type | iterator( iterator_type, elt_type ), 30 dtype os_type | ostream( os_type ) ) 20 31 void write_all( iterator_type begin, iterator_type end, os_type *os ) { 21 iterator_type i;22 for ( i = begin; i != end; ++i ) {23 os << *i << ' ';24 }32 iterator_type i; 33 for ( i = begin; i != end; ++i ) { 34 os << *i << ' '; 35 } 25 36 } 26 37 27 38 forall( type elt_type | writeable( elt_type ), 28 type iterator_type | iterator( iterator_type, elt_type ),29 dtype os_type | ostream( os_type ) )39 type iterator_type | iterator( iterator_type, elt_type ), 40 dtype os_type | ostream( os_type ) ) 30 41 void write_reverse( iterator_type begin, iterator_type end, os_type *os ) { 31 iterator_type i; // "= end;" does not work32 i = end;33 do {34 --i;35 os << *i << ' ';36 } while ( i != begin );42 iterator_type i; // "= end;" does not work 43 i = end; 44 do { 45 --i; 46 os << *i << ' '; 47 } while ( i != begin ); 37 48 } 49 50 // Local Variables: // 51 // tab-width: 4 // 52 // compile-command: "cfa iterator.c" // 53 // End: // -
src/examples/iterator.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // iterator.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:41:57 2015 13 // Update Count : 3 14 // 15 1 16 #ifndef ITERATOR_H 2 17 #define ITERATOR_H … … 6 21 // An iterator can be used to traverse a data structure. 7 22 context iterator( type iterator_type, type elt_type ) { 8 // point to the next element9 // iterator_type ?++( iterator_type * );10 iterator_type ++?( iterator_type * );11 iterator_type --?( iterator_type * );23 // point to the next element 24 // iterator_type ?++( iterator_type * ); 25 iterator_type ++?( iterator_type * ); 26 iterator_type --?( iterator_type * ); 12 27 13 // can be tested for equality with other iterators14 int ?==?( iterator_type, iterator_type );15 int ?!=?( iterator_type, iterator_type );28 // can be tested for equality with other iterators 29 int ?==?( iterator_type, iterator_type ); 30 int ?!=?( iterator_type, iterator_type ); 16 31 17 // dereference to get the pointed-at element18 lvalue elt_type *?( iterator_type );32 // dereference to get the pointed-at element 33 lvalue elt_type *?( iterator_type ); 19 34 }; 20 35 21 36 context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) { 22 // [ iterator_type begin, iterator_type end ] get_iterators( collection_type );23 iterator_type begin( collection_type );24 iterator_type end( collection_type );37 // [ iterator_type begin, iterator_type end ] get_iterators( collection_type ); 38 iterator_type begin( collection_type ); 39 iterator_type end( collection_type ); 25 40 }; 26 41 … … 30 45 // writes the range [begin, end) to the given stream 31 46 forall( type elt_type | writeable( elt_type ), 32 type iterator_type | iterator( iterator_type, elt_type ),33 dtype os_type | ostream( os_type ) )47 type iterator_type | iterator( iterator_type, elt_type ), 48 dtype os_type | ostream( os_type ) ) 34 49 void write_all( iterator_type begin, iterator_type end, os_type *os ); 35 50 36 51 forall( type elt_type | writeable( elt_type ), 37 type iterator_type | iterator( iterator_type, elt_type ),38 dtype os_type | ostream( os_type ) )52 type iterator_type | iterator( iterator_type, elt_type ), 53 dtype os_type | ostream( os_type ) ) 39 54 void write_reverse( iterator_type begin, iterator_type end, os_type *os ); 40 55 41 56 #endif // ITERATOR_H 57 58 // Local Variables: // 59 // tab-width: 4 // 60 // compile-command: "cfa iterator.c" // 61 // End: // -
src/examples/min.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // min.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:23:19 2015 13 // Update Count : 2 14 // 15 1 16 extern "C" { 2 int printf( const char *, ... );17 int printf( const char *, ... ); 3 18 //#include <stdio.h> 4 19 } … … 6 21 forall( type T | { int ?<?( T, T ); } ) 7 22 T min( const T t1, const T t2 ) { 8 return t1 < t2 ? t1 : t2;23 return t1 < t2 ? t1 : t2; 9 24 } 10 25 11 26 int main() { 12 char c;13 // c = min( 'z', 'a' );14 // printf( "minimum %d\n", c );15 int i;16 i = min( 4, 3 );17 printf( "minimum %d\n", min( 4, 3 ) );18 float f;19 f = min( 4.0, 3.1 );20 printf( "minimum %g\n", f );21 double d;22 d = min( 4.0, 3.2 );23 printf( "minimum %g\n", d );27 char c; 28 // c = min( 'z', 'a' ); 29 // printf( "minimum %d\n", c ); 30 int i; 31 i = min( 4, 3 ); 32 printf( "minimum %d\n", min( 4, 3 ) ); 33 float f; 34 f = min( 4.0, 3.1 ); 35 printf( "minimum %g\n", f ); 36 double d; 37 d = min( 4.0, 3.2 ); 38 printf( "minimum %g\n", d ); 24 39 } 25 40 26 41 // Local Variables: // 27 // compile-command: "../../bin/cfa min.c" // 42 // tab-width: 4 // 43 // compile-command: "cfa min.c" // 28 44 // End: // -
src/examples/new.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // new.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:23:55 2015 13 // Update Count : 1 14 // 15 1 16 forall( type T ) 2 17 void f( T *t ) { 3 t--;4 *t;5 ++t;6 t += 2;7 t + 2;8 --t;9 t -= 2;10 t - 4;11 t[7];12 7[t];18 t--; 19 *t; 20 ++t; 21 t += 2; 22 t + 2; 23 --t; 24 t -= 2; 25 t - 4; 26 t[7]; 27 7[t]; 13 28 } 29 30 // Local Variables: // 31 // tab-width: 4 // 32 // compile-command: "cfa new.c" // 33 // End: // -
src/examples/prolog.c
reb50842 r937e51d 1 // "./cfa prolog.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // prolog.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:25:52 2015 13 // Update Count : 1 14 // 2 15 3 16 extern "C" { extern int printf( const char *fmt, ... ); } … … 13 26 14 27 context ArithmeticType( type T ) { 15 void is_arithmetic( T );28 void is_arithmetic( T ); 16 29 }; 17 30 18 31 context IntegralType( type T | ArithmeticType( T ) ) { 19 void is_integer( T );32 void is_integer( T ); 20 33 }; 21 34 22 35 forall( type T | IntegralType( T ) | { void printResult( T ); } ) 23 36 void hornclause( T param ) { 24 printResult( param );37 printResult( param ); 25 38 } 26 39 27 40 int main() { 28 int x;29 double x;30 char * x;31 hornclause( x );41 int x; 42 double x; 43 char * x; 44 hornclause( x ); 32 45 } 46 47 // Local Variables: // 48 // tab-width: 4 // 49 // compile-command: "cfa prolog.c" // 50 // End: // -
src/examples/quad.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // quad.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:26:36 2015 13 // Update Count : 2 14 // 15 1 16 extern "C" { 2 #include <stdio.h>17 #include <stdio.h> 3 18 } 4 19 5 20 forall( type T | { T ?*?( T, T ); } ) 6 21 T square( T t ) { 7 return t * t;22 return t * t; 8 23 } 9 24 10 25 forall( type U | { U square( U ); } ) 11 26 U quad( U u ) { 12 return square( square( u ) );27 return square( square( u ) ); 13 28 } 14 29 15 30 int main() { 16 int N = 2;17 printf( "result of quad of %d is %d\n", N, quad( N ) );31 int N = 2; 32 printf( "result of quad of %d is %d\n", N, quad( N ) ); 18 33 } 19 34 20 35 // Local Variables: // 21 // compile-command: "../../bin/cfa quad.c" // 36 // tab-width: 4 // 37 // compile-command: "cfa quad.c" // 22 38 // End: // -
src/examples/quoted_keyword.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // quoted_keyword.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:27:26 2015 13 // Update Count : 2 14 // 15 1 16 // test quoted keyword usage 2 17 int `catch`; 3 18 4 19 struct { 5 int `type`;6 int `struct`;20 int `type`; 21 int `struct`; 7 22 } st; 8 23 … … 11 26 12 27 int foo() { 13 int w = `catch` + st.`type` + st.`struct` + `throw`;28 int w = `catch` + st.`type` + st.`struct` + `throw`; 14 29 } 15 30 … … 17 32 18 33 // Local Variables: // 19 // compile-command: "../../bin/cfa quoted_keyword.c" // 34 // tab-width: 4 // 35 // compile-command: "cfa quoted_keyword.c" // 20 36 // End: // -
src/examples/s.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // s.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:42:39 2015 13 // Update Count : 2 14 // 15 1 16 //int ?!=?( int, int ); 2 17 3 18 void f() { 4 // int a;5 // a ? 4 : 5;6 1 ? 4 : 5;7 0 ? 4 : 5;19 // int a; 20 // a ? 4 : 5; 21 1 ? 4 : 5; 22 0 ? 4 : 5; 8 23 } 24 25 // Local Variables: // 26 // tab-width: 4 // 27 // compile-command: "cfa s.c" // 28 // End: // -
src/examples/simple.c
reb50842 r937e51d 1 // './cfa square.c' 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // simple.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:30:27 2015 13 // Update Count : 3 14 // 2 15 3 16 extern "C" { 4 int printf( const char *fmt, ... );17 int printf( const char *fmt, ... ); 5 18 } 6 19 7 20 context has_star( type T ) { 8 T ?*?( T, T );21 T ?*?( T, T ); 9 22 }; 10 23 11 24 int ?*?( int, int ); 12 int ?=?( int *, int );25 int ?=?( int *, int ); 13 26 14 27 forall( type T | has_star( T ) ) 15 28 T square( T t ) { 16 return t * t;29 return t * t; 17 30 } 18 31 19 32 int main() { 20 printf( "result of square of 5 is %d\n", square( 5 ) );33 printf( "result of square of 5 is %d\n", square( 5 ) ); 21 34 } 35 36 // Local Variables: // 37 // tab-width: 4 // 38 // compile-command: "cfa simple.c" // 39 // End: // -
src/examples/simplePoly.c
reb50842 r937e51d 1 // './cfa-cpp -nc < simplePoly.c' 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // simplePoly.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:31:17 2015 13 // Update Count : 2 14 // 2 15 3 16 forall( type T, type U | { T f( T, U ); } ) 4 T q( T t, U u ) 5 { 6 return f( t, u ); 17 T q( T t, U u ) { 18 return f( t, u ); 7 19 // return t; 8 20 } … … 11 23 12 24 void g( void ) { 13 int y;14 double x;25 int y; 26 double x; 15 27 // if ( y ) 16 q( 3, &x );28 q( 3, &x ); 17 29 } 30 31 // Local Variables: // 32 // tab-width: 4 // 33 // compile-command: "cfa simplePoly.c" // 34 // End: // -
src/examples/simpler.c
reb50842 r937e51d 1 // "./cfa-cpp -c simpler.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // simpler.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:31:48 2015 13 // Update Count : 1 14 // 2 15 3 16 forall( type T ) T id( T, T ); 4 17 5 18 int main() { 6 id( 0, 7 );19 id( 0, 7 ); 7 20 } 21 22 // Local Variables: // 23 // tab-width: 4 // 24 // compile-command: "cfa simpler.c" // 25 // End: // -
src/examples/specialize.c
reb50842 r937e51d 1 // "./cfa specialize.c" 2 // "./cfa -g simple.c" 3 // "./cfa -CFA simple.c > simple_out.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // specialize.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:32:26 2015 13 // Update Count : 2 14 // 4 15 5 16 /// void f( const int * ); … … 25 36 26 37 extern "C" { 27 int printf( const char*, ... );38 int printf( const char*, ... ); 28 39 } 29 40 30 41 forall( type T ) T f( T t ) 31 42 { 32 printf( "in f; sizeof T is %d\n", sizeof( T ) );33 return t;43 printf( "in f; sizeof T is %d\n", sizeof( T ) ); 44 return t; 34 45 } 35 46 36 47 void g( int (*p)(int) ) 37 48 { 38 printf( "g: f(7) returned %d\n", f(7) );49 printf( "g: f(7) returned %d\n", f(7) ); 39 50 } 40 51 41 52 int main() { 42 g( f );53 g( f ); 43 54 } 55 56 // Local Variables: // 57 // tab-width: 4 // 58 // compile-command: "cfa specialize.c" // 59 // End: // -
src/examples/square.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // square.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:43:34 2015 13 // Update Count : 2 14 // 15 1 16 extern "C" { 2 17 #include <stdio.h> 3 18 } 4 19 5 forall( type T | { T ?*?( T, T ); } )20 forall( type T | { T ?*?( T, T ); } ) 6 21 T square( T t ) { 7 return t * t;22 return t * t; 8 23 } 9 24 25 //char ?*?( char a1, char a2 ) { 26 // return (char)( (int)a1 * (int)a2 ); 27 //} 28 10 29 int main() { 11 printf( "result of square of 5 is %d\n", square( 5 ) ); 12 printf( "result of square of 5 is %f\n", square( 5.0 ) ); 30 char c = 5; 31 short int s = 5; 32 int i = 5; 33 float f = 5.0; 34 double d = 5.0; 35 // printf( "result of square of 5 is %d\n", (char)square( c ) ); 36 printf( "result of square of 5 is %d\n", square( s ) ); 37 printf( "result of square of 5 is %d\n", square( i ) ); 38 printf( "result of square of 5 is %f\n", square( f ) ); 39 printf( "result of square of 5 is %f\n", square( d ) ); 13 40 } 41 42 // Local Variables: // 43 // tab-width: 4 // 44 // compile-command: "cfa square.c" // 45 // End: // -
src/examples/sum.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // sum.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 1 20:46:35 2015 13 // Update Count : 18 14 // 15 1 16 extern "C" { 2 int printf( const char *, ... );17 int printf( const char *, ... ); 3 18 } 4 19 5 20 context sumable( type T ) { 6 const T 0;7 T ?+?( T, T );8 T ?++( T * );9 T ?+=?( T *, T );21 const T 0; 22 T ?+?( T, T ); 23 T ?++( T * ); 24 T ?+=?( T *, T ); 10 25 }; 11 26 12 27 forall( type T | sumable( T ) ) 13 28 T sum( int n, T a[] ) { 14 T total;// instantiate T, select 015 total = 0;16 for ( int i = 0; i < n; i += 1 )17 total = total + a[i];// select +18 return total;29 T total; // instantiate T, select 0 30 total = 0; 31 for ( int i = 0; i < n; i += 1 ) 32 total = total + a[i]; // select + 33 return total; 19 34 } 20 35 … … 27 42 28 43 int main() { 29 const int size = 10, low = 0, High = 10;30 int si = 0, ai[10]; // size 31 int i;32 for ( i = low; i < High; i+= 1 ) {33 si += i;34 ai[i] = i;35 }36 printf( "sum from %d to %d is %d, check %d\n",37 low, High, sum( size, ai ), si );44 const int low = 5, High = 15, size = High - low; 45 int si = 0, ai[size]; 46 int v = low; 47 for ( int i = 0; i < size; i += 1, v += 1 ) { 48 si += v; 49 ai[i] = v; 50 } 51 printf( "sum from %d to %d is %d, check %d\n", 52 low, High, sum( size, ai ), si ); 38 53 39 // char ci[10];40 // char c = sum( size, ci );41 // float fi[10];42 // float f = sum( size, fi );54 // char ci[size]; 55 // char c = sum( size, ci ); 56 // float fi[size]; 57 // float f = sum( size, fi ); 43 58 44 double sd = 0.0, ad[10]; // size 45 for ( i = low; i < High; i += 1 ) { 46 double d = i / (double)size;47 sd += d;48 ad[i] = d;49 }50 printf( "sum from %g to %g is %g, check %g\n",51 low / (double)size, High / (double)size, sum( size, ad ), sd );59 double sd = 0.0, ad[size]; 60 double v = low / 10.0; 61 for ( int i = 0; i < size; i += 1, v += 0.1 ) { 62 sd += v; 63 ad[i] = v; 64 } 65 printf( "sum from %g to %g is %g, check %g\n", 66 low / 10.0, High / 10.0, sum( size, ad ), sd ); 52 67 } 53 68 54 69 // Local Variables: // 55 // compile-command: "../../bin/cfa sum.c" // 70 // tab-width: 4 // 71 // compile-command: "cfa sum.c" // 56 72 // End: // -
src/examples/swap.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // swap.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:34:47 2015 13 // Update Count : 1 14 // 15 1 16 extern "C" { 2 int printf( const char *, ... );17 int printf( const char *, ... ); 3 18 } 4 19 5 20 forall( type T ) 6 21 void swap( T *left, T *right ) { 7 T temp = *left;8 *left = *right;9 *right = temp;22 T temp = *left; 23 *left = *right; 24 *right = temp; 10 25 } 11 26 12 27 int main() { 13 int x = 1, y = 2;14 printf( "%d %d\n", x, y );15 swap( &x, &y );16 printf( "%d %d\n", x, y );28 int x = 1, y = 2; 29 printf( "%d %d\n", x, y ); 30 swap( &x, &y ); 31 printf( "%d %d\n", x, y ); 17 32 } 18 33 19 34 // Local Variables: // 20 // compile-command: "../../bin/cfa swap.c" // 35 // tab-width: 4 // 36 // compile-command: "cfa swap.c" // 21 37 // End: // -
src/examples/twice.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // twice.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:37:23 2015 13 // Update Count : 1 14 // 15 1 16 #include "fstream.h" 2 17 3 18 forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } ) 4 19 T twice( const T t ) { 5 return t + t;20 return t + t; 6 21 } 7 22 8 23 int main() { 9 ofstream *sout = ofstream_stdout();10 sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';24 ofstream *sout = ofstream_stdout(); 25 sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n'; 11 26 } 12 27 13 28 // Local Variables: // 14 // compile-command: "../../bin/cfa twice.c fstream.o iostream.o" // 29 // tab-width: 4 // 30 // compile-command: "cfa twice.c fstream.o iostream.o" // 15 31 // End: // -
src/examples/vector_int.c
reb50842 r937e51d 1 // "cfa vector_int.c" 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // vector_int.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:38:05 2015 13 // Update Count : 3 14 // 2 15 3 16 #include "vector_int.h" … … 10 23 11 24 vector_int vector_int_allocate() { 12 return vector_int_allocate( DEFAULT_CAPACITY );25 return vector_int_allocate( DEFAULT_CAPACITY ); 13 26 } 14 27 15 28 vector_int vector_int_allocate( int reserve ) { 16 vector_int new_vector;17 new_vector.last = -1;18 new_vector.capacity = reserve;19 new_vector.data = malloc( sizeof( int ) * reserve );20 return new_vector;29 vector_int new_vector; 30 new_vector.last = -1; 31 new_vector.capacity = reserve; 32 new_vector.data = malloc( sizeof( int ) * reserve ); 33 return new_vector; 21 34 } 22 35 23 36 void vector_int_deallocate( vector_int vec ) { 24 free( vec.data );37 free( vec.data ); 25 38 } 26 39 27 40 void reserve( vector_int *vec, int reserve ) { 28 if ( reserve > vec->capacity ) {29 vec->data = realloc( vec->data, sizeof( int ) * reserve );30 vec->capacity = reserve;31 }41 if ( reserve > vec->capacity ) { 42 vec->data = realloc( vec->data, sizeof( int ) * reserve ); 43 vec->capacity = reserve; 44 } 32 45 } 33 46 34 47 void append( vector_int *vec, int element ) { 35 vec->last++;36 if ( vec->last == vec->capacity ) {37 vec->capacity *= 2;38 vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );39 }40 vec->data[ vec->last ] = element;48 vec->last++; 49 if ( vec->last == vec->capacity ) { 50 vec->capacity *= 2; 51 vec->data = realloc( vec->data, sizeof( int ) * vec->capacity ); 52 } 53 vec->data[ vec->last ] = element; 41 54 } 42 55 … … 44 57 45 58 lvalue int ?[?]( vector_int vec, int index ) { 46 return vec.data[ index ];59 return vec.data[ index ]; 47 60 } 48 61 49 62 int last( vector_int vec ) { 50 return vec.last;63 return vec.last; 51 64 } 52 65 66 67 // Local Variables: // 68 // tab-width: 4 // 69 // compile-command: "cfa vector_int.c" // 70 // End: // -
src/examples/vector_int.h
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // vector_int.h -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:39:05 2015 13 // Update Count : 2 14 // 15 1 16 #ifndef VECTOR_INT_H 2 17 #define VECTOR_INT_H … … 5 20 6 21 typedef struct vector_int { 7 int last;// last used index8 int capacity;// last possible index before reallocation9 int *data;// array22 int last; // last used index 23 int capacity; // last possible index before reallocation 24 int *data; // array 10 25 } vector_int; 11 26 12 vector_int vector_int_allocate(); // allocate vector with default capacity13 vector_int vector_int_allocate( int reserve ); // allocate vector with specified capacity14 void vector_int_deallocate( vector_int ); // deallocate vector's storage27 vector_int vector_int_allocate(); // allocate vector with default capacity 28 vector_int vector_int_allocate( int reserve ); // allocate vector with specified capacity 29 void vector_int_deallocate( vector_int ); // deallocate vector's storage 15 30 16 void reserve( vector_int *vec, int reserve ); // reserve more capacity17 void append( vector_int *vec, int element ); // add element to end of vector, resizing as necessary31 void reserve( vector_int *vec, int reserve ); // reserve more capacity 32 void append( vector_int *vec, int element ); // add element to end of vector, resizing as necessary 18 33 19 34 // implement bounded_array 20 35 21 lvalue int ?[?]( vector_int vec, int index ); // access to arbitrary element (does not resize)22 int last( vector_int vec ); // return last element36 lvalue int ?[?]( vector_int vec, int index ); // access to arbitrary element (does not resize) 37 int last( vector_int vec ); // return last element 23 38 24 39 #endif // VECTOR_INT_H 40 41 // Local Variables: // 42 // tab-width: 4 // 43 // compile-command: "cfa vector_int.c" // 44 // End: // -
src/examples/vector_test.c
reb50842 r937e51d 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // vector_test.c -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Wed May 27 17:56:53 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 27 18:42:55 2015 13 // Update Count : 2 14 // 15 1 16 #include "fstream.h" 2 17 #include "vector_int.h" … … 5 20 6 21 int main() { 7 ofstream *sout = ofstream_stdout();8 ifstream *sin = ifstream_stdin();9 vector_int vec = vector_int_allocate();22 ofstream *sout = ofstream_stdout(); 23 ifstream *sin = ifstream_stdin(); 24 vector_int vec = vector_int_allocate(); 10 25 11 // read in numbers until EOF or error12 int num;26 // read in numbers until EOF or error 27 int num; 13 28 14 sout << "enter N elements and C-d on a separate line:\n";15 for ( ;; ) {29 sout << "enter N elements and C-d on a separate line:\n"; 30 for ( ;; ) { 16 31 sin >> # 17 if ( fail( sin ) || eof( sin ) ) break;32 if ( fail( sin ) || eof( sin ) ) break; 18 33 append( &vec, num ); 19 }20 // write out the numbers34 } 35 // write out the numbers 21 36 22 sout << "Array elements:\n";23 // write_all( begin( vec ), end( vec ), sout );24 // sout << "\n";25 for ( int index = 0; index <= last( vec ); index += 1 ) {37 sout << "Array elements:\n"; 38 // write_all( begin( vec ), end( vec ), sout ); 39 // sout << "\n"; 40 for ( int index = 0; index <= last( vec ); index += 1 ) { 26 41 sout << vec[ index ] << " "; 27 }28 sout << "\n";42 } 43 sout << "\n"; 29 44 #if 1 30 sout << "Array elements reversed:\n";31 write_reverse( begin( vec ), end( vec ), sout );32 sout << "\n";45 sout << "Array elements reversed:\n"; 46 write_reverse( begin( vec ), end( vec ), sout ); 47 sout << "\n"; 33 48 #endif 34 49 } 35 50 36 51 // ../bin/cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o 52 53 // Local Variables: // 54 // tab-width: 4 // 55 // compile-command: "cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o" // 56 // End: // -
src/libcfa/prelude.cf
reb50842 r937e51d 8 8 // Created On : Sat Nov 29 07:23:41 2014 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : Mon May 4 17:21:02201511 // Update Count : 7 010 // Last Modified On : Tue Jun 9 14:43:47 2015 11 // Update Count : 75 12 12 // 13 13 … … 407 407 const volatile void * ?=?( const volatile void * volatile *, const volatile void * ); 408 408 409 forall( dtype DT ) DT * ?=?( DT * *, forall( dtype DT2 ) const DT2 * );410 forall( dtype DT ) DT * ?=?( DT * volatile *, forall( dtype DT2 ) const DT2 * );409 //forall( dtype DT ) DT * ?=?( DT * *, forall( dtype DT2 ) const DT2 * ); 410 //forall( dtype DT ) DT * ?=?( DT * volatile *, forall( dtype DT2 ) const DT2 * ); 411 411 forall( dtype DT ) const DT * ?=?( const DT * *, forall( dtype DT2 ) const DT2 * ); 412 412 forall( dtype DT ) const DT * ?=?( const DT * volatile *, forall( dtype DT2 ) const DT2 * ); 413 forall( dtype DT ) volatile DT * ?=?( volatile DT * *, forall( dtype DT2 ) const DT2 * );414 forall( dtype DT ) volatile DT * ?=?( volatile DT * volatile *, forall( dtype DT2 ) const DT2 * );413 //forall( dtype DT ) volatile DT * ?=?( volatile DT * *, forall( dtype DT2 ) const DT2 * ); 414 //forall( dtype DT ) volatile DT * ?=?( volatile DT * volatile *, forall( dtype DT2 ) const DT2 * ); 415 415 forall( dtype DT ) const volatile DT * ?=?( const volatile DT * *, forall( dtype DT2 ) const DT2 * ); 416 416 forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile *, forall( dtype DT2 ) const DT2 * ); -
src/main.cc
reb50842 r937e51d 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 21 21:15:54201513 // Update Count : 912 // Last Modified On : Mon Jun 22 17:02:11 2015 13 // Update Count : 73 14 14 // 15 15 … … 51 51 using namespace std; 52 52 53 #define OPTPRINT(x) \ 54 if ( errorp ) std::cerr << x << std::endl; 55 56 void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false ); 57 53 58 bool 54 59 astp = false, 60 bresolvep = false, 55 61 exprp = false, 56 62 expraltp = false, 57 63 grammarp = false, 58 64 libcfap = false, 65 nopreludep = false, 66 protop = false, 67 parsep = false, 59 68 resolvep = false, // used in AlternativeFinder 60 69 symtabp = false, 61 parsep = false,62 70 validp = false, 63 preludep = true, 64 protop = false, 65 codegenp = false, 66 errorp = false; 67 68 enum { Ast, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Prototypes, Resolver, Symbol, Parse, }; 71 errorp = false, 72 codegenp = false; 73 74 enum { Ast, Bresolver, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Parse, Prototypes, Resolver, Symbol, Validate, }; 69 75 70 76 static struct option long_opts[] = { 71 77 { "ast", no_argument, 0, Ast }, 78 { "before-resolver", no_argument, 0, Bresolver }, 72 79 { "expr", no_argument, 0, Expr }, 73 80 { "expralt", no_argument, 0, ExprAlt }, … … 75 82 { "libcfa", no_argument, 0, LibCFA }, 76 83 { "nopreamble", no_argument, 0, Nopreamble }, 84 { "parse", no_argument, 0, Parse }, 77 85 { "prototypes", no_argument, 0, Prototypes }, 78 86 { "resolver", no_argument, 0, Resolver }, 79 87 { "symbol", no_argument, 0, Symbol }, 80 { " parse", no_argument, 0, Parse },88 { "validate", no_argument, 0, Validate }, 81 89 { 0, 0, 0, 0 } 82 90 }; … … 91 99 92 100 int c; 93 while ( (c = getopt_long( argc, argv, "a efglnpqrsxyzD:", long_opts, &long_index )) != -1 ) {101 while ( (c = getopt_long( argc, argv, "abefglnpqrsvyzD:", long_opts, &long_index )) != -1 ) { 94 102 switch ( c ) { 95 103 case Ast: … … 97 105 astp = true; 98 106 break; 107 case Bresolver: 108 case 'b': // print before resolver steps 109 bresolvep = true; 110 break; 99 111 case Expr: 100 112 case 'e': // dump AST after expression analysis … … 115 127 case Nopreamble: 116 128 case 'n': // do not read preamble 117 preludep = false;129 nopreludep = true; 118 130 break; 119 131 case Prototypes: … … 133 145 symtabp = true; 134 146 break; 135 case ' x': // dump AST after decl validation pass147 case 'v': // dump AST after decl validation pass 136 148 validp = true; 137 149 break; … … 153 165 154 166 try { 167 // choose to read the program from a file or stdin 155 168 if ( optind < argc ) { 156 169 input = fopen( argv[ optind ], "r" ); … … 169 182 170 183 Parser::get_parser().set_debug( grammarp ); 171 172 if ( preludep ) { // include gcc builtins 173 FILE *builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" ); 184 185 // read in the builtins and the prelude 186 if ( ! nopreludep ) { // include gcc builtins 187 FILE * builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" ); 174 188 if ( builtins == NULL ) { 175 std::c out<< "Error: can't open builtins" << std::endl;189 std::cerr << "Error: can't open builtins" << std::endl; 176 190 exit( 1 ); 177 191 } // if 178 179 Parser::get_parser().set_linkage( LinkageSpec::Compiler ); 180 Parser::get_parser().parse( builtins ); 181 182 if ( Parser::get_parser().get_parseStatus() != 0 ) { 183 return Parser::get_parser().get_parseStatus(); 192 193 parse( builtins, LinkageSpec::Compiler ); 194 195 if ( ! libcfap ) { 196 // read the prelude in, if we're not generating the cfa library 197 FILE * prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" ); 198 if ( prelude == NULL ) { 199 std::cerr << "Error: can't open prelude" << std::endl; 200 exit( 1 ); 201 } // if 202 203 parse( prelude, LinkageSpec::Intrinsic ); 184 204 } // if 185 fclose( builtins ); 186 187 FILE *prelude; 188 if ( libcfap ) { // include cfa prelude 189 prelude = input; 190 } else { 191 prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" ); 192 } // if 193 if ( prelude == NULL ) { 194 std::cout << "Error: can't open prelude" << std::endl; 195 exit( 1 ); 196 } // if 197 198 Parser::get_parser().set_linkage( LinkageSpec::Intrinsic ); 199 Parser::get_parser().parse( prelude ); 200 201 if ( Parser::get_parser().get_parseStatus() != 0 ) { 202 return Parser::get_parser().get_parseStatus(); 203 } // if 204 fclose( prelude ); 205 } // if 206 205 } // if 206 207 207 if ( libcfap ) { 208 std::list< Declaration* > translationUnit; 209 buildList( Parser::get_parser().get_parseTree(), translationUnit ); 210 Parser::get_parser().freeTree(); 211 SymTab::validate( translationUnit, false ); 212 CodeGen::fixNames( translationUnit ); 213 LibCfa::makeLibCfa( translationUnit ); 214 ResolvExpr::resolve( translationUnit ); 215 GenPoly::convertLvalue( translationUnit ); 216 GenPoly::box( translationUnit ); 217 CodeGen::generate( translationUnit, *output, true ); 218 if ( output != &std::cout ) { 219 delete output; 220 } // if 221 return 0; 222 } // if 223 224 Parser::get_parser().set_linkage( LinkageSpec::Cforall ); 225 226 Parser::get_parser().parse( input ); 227 if ( grammarp || Parser::get_parser().get_parseStatus() != 0 ) { 228 return Parser::get_parser().get_parseStatus(); 229 } // if 230 fclose( input ); 208 parse( input, LinkageSpec::Intrinsic ); 209 } else { 210 parse( input, LinkageSpec::Cforall, grammarp ); 211 } 231 212 232 213 if ( parsep ) { … … 244 225 } // if 245 226 227 // add the assignment statement after the 228 // initialization of a type parameter 229 OPTPRINT( "tweak" ) 230 InitTweak::tweak( translationUnit ); 231 OPTPRINT( "validate" ) 232 SymTab::validate( translationUnit, symtabp ); 233 if ( symtabp ) { 234 return 0; 235 } // if 236 246 237 if ( expraltp ) { 247 SymTab::validate( translationUnit, false );248 238 ResolvExpr::AlternativePrinter printer( std::cout ); 249 239 acceptAll( translationUnit, printer ); … … 251 241 } // if 252 242 253 if ( symtabp ) {254 SymTab::validate( translationUnit, true );255 return 0;256 } // if257 258 243 if ( validp ) { 259 SymTab::validate( translationUnit, false ); 260 printAll( translationUnit, std::cout ); 261 return 0; 262 } // if 263 244 printAll( translationUnit, std::cout ); 245 return 0; 246 } // if 247 248 OPTPRINT( "mutate" ) 249 ControlStruct::mutate( translationUnit ); 250 OPTPRINT( "fixNames" ) 251 CodeGen::fixNames( translationUnit ); 252 253 if ( libcfap ) { 254 protop = true; 255 // generate the bodies of cfa library functions 256 LibCfa::makeLibCfa( translationUnit ); 257 } // if 258 259 if ( bresolvep ) { 260 printAll( translationUnit, std::cout ); 261 return 0; 262 } // if 263 264 OPTPRINT( "resolve" ) 265 ResolvExpr::resolve( translationUnit ); 264 266 if ( exprp ) { 265 InitTweak::tweak( translationUnit ); 266 SymTab::validate( translationUnit, false ); 267 ControlStruct::mutate( translationUnit ); 268 CodeGen::fixNames( translationUnit ); 269 ResolvExpr::resolve( translationUnit ); 270 printAll( translationUnit, std::cout ); 271 return 0; 272 } // if 273 267 printAll( translationUnit, std::cout ); 268 } 269 270 OPTPRINT( "copyParams" ); 271 GenPoly::copyParams( translationUnit ); 272 OPTPRINT( "convertSpecializations" ) 273 GenPoly::convertSpecializations( translationUnit ); 274 OPTPRINT( "convertLvalue" ) 275 GenPoly::convertLvalue( translationUnit ); 276 OPTPRINT( "box" ) 277 GenPoly::box( translationUnit ); 278 279 // print the tree right before code generation 274 280 if ( codegenp ) { 275 // print the tree right before code generation 276 cerr << "tweak" << endl; 277 InitTweak::tweak( translationUnit ); 278 cerr << "validate" << endl; 279 SymTab::validate( translationUnit, false ); 280 cerr << "mutate" << endl; 281 ControlStruct::mutate( translationUnit ); 282 cerr << "fixNames" << endl; 283 CodeGen::fixNames( translationUnit ); 284 cerr << "resolve" << endl; 285 ResolvExpr::resolve( translationUnit ); 286 cerr << "copyParams" << endl; 287 GenPoly::copyParams( translationUnit ); 288 cerr << "convertSpecializations" << endl; 289 GenPoly::convertSpecializations( translationUnit ); 290 cerr << "convertLvalue" << endl; 291 GenPoly::convertLvalue( translationUnit ); 292 cerr << "box" << endl; 293 GenPoly::box( translationUnit ); 294 if ( errorp ) { 295 printAll( translationUnit, std::cout ); 296 } 297 return 0; 298 } // if 299 300 // add the assignment statement after the 301 // initialization of a type parameter 302 InitTweak::tweak( translationUnit ); 303 304 //std::cerr << "before validate" << std::endl; 305 SymTab::validate( translationUnit, false ); 306 //Try::visit( translationUnit ); 307 //Tuples::mutate( translationUnit ); 308 //InitTweak::mutate( translationUnit ); 309 //std::cerr << "before mutate" << std::endl; 310 ControlStruct::mutate( translationUnit ); 311 //std::cerr << "before fixNames" << std::endl; 312 CodeGen::fixNames( translationUnit ); 313 //std::cerr << "before resolve" << std::endl; 314 ResolvExpr::resolve( translationUnit ); 315 //Tuples::checkFunctions( translationUnit ); 316 // std::cerr << "Finished tuple checkfunctions" << std::endl; 317 //printAll( translationUnit, std::cerr ); 318 //std::cerr << "before copyParams" << std::endl; 319 GenPoly::copyParams( translationUnit ); 320 //std::cerr << "before convertSpecializations" << std::endl; 321 GenPoly::convertSpecializations( translationUnit ); 322 //std::cerr << "before convertLvalue" << std::endl; 323 GenPoly::convertLvalue( translationUnit ); 324 //std::cerr << "before box" << std::endl; 325 GenPoly::box( translationUnit ); 326 //Tuples::mutate( translationUnit ); 281 printAll( translationUnit, std::cout ); 282 return 0; 283 } // if 327 284 328 285 CodeGen::generate( translationUnit, *output, protop ); … … 331 288 delete output; 332 289 } // if 333 334 290 } catch ( SemanticError &e ) { 335 291 if ( errorp ) { 336 printAll( translationUnit, std::c out);292 printAll( translationUnit, std::cerr ); 337 293 } 338 e.print( cout);294 e.print( std::cerr ); 339 295 if ( output != &std::cout ) { 340 296 delete output; … … 359 315 } // main 360 316 317 void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit ) { 318 Parser::get_parser().set_linkage( linkage ); 319 Parser::get_parser().parse( input ); 320 321 fclose( input ); 322 if ( shouldExit || Parser::get_parser().get_parseStatus() != 0 ) { 323 exit( Parser::get_parser().get_parseStatus() ); 324 } // if 325 } 326 361 327 // Local Variables: // 362 328 // tab-width: 4 //
Note:
See TracChangeset
for help on using the changeset viewer.