Changes in / [0050a5f:f56c32e]


Ignore:
Files:
2 added
5 deleted
27 edited

Legend:

Unmodified
Added
Removed
  • driver/cfa.cc

    r0050a5f rf56c32e  
    107107        bool link = true;                                                                       // linking as well as compiling
    108108        bool verbose = false;                                                           // -v flag
    109         bool quiet = false;                                                             // -quiet flag
    110         bool debug = true;                                                              // -debug flag
    111         bool nolib = false;                                                             // -nolib flag
    112         bool help = false;                                                              // -help flag
     109        bool quiet = false;                                                                     // -quiet flag
     110        bool debug = true;                                                                      // -debug flag
     111        bool help = false;                                                                      // -help flag
    113112        bool CFA_flag = false;                                                          // -CFA flag
    114113        bool cpp_flag = false;                                                          // -E or -M flag, preprocessor only
     
    163162                                debug = true;                                                   // strip the debug flag
    164163                        } else if ( arg == "-nodebug" ) {
    165                                 debug = false;                                                  // strip the debug flag
    166                         } else if ( arg == "-nolib" ) {
    167                                 nolib = true;                                                   // strip the nodebug flag
     164                                debug = false;                                                  // strip the nodebug flag
    168165                        } else if ( arg == "-quiet" ) {
    169166                                quiet = true;                                                   // strip the quiet flag
     
    369366                }  // if
    370367        } // if
    371         const char * config = nolib ? "nolib" : (debug ? "debug": "nodebug");
     368        const char * config = debug ? "debug": "nodebug";
    372369        string libdir = libbase + arch + "-" + config;
    373370
    374         if ( ! nolib && ! dirExists( libdir ) ) {
     371        if ( ! dirExists( libdir ) ) {
    375372                cerr << argv[0] << " internal error, configuration " << config << " not installed." << endl;
    376373                cerr << "Was looking for " << libdir << endl;
  • libcfa/configure

    r0050a5f rf56c32e  
    29702970        "nolib"   )
    29712971                CONFIG_CFLAGS="-O2 -s"
    2972                 CONFIG_CFAFLAGS="-nolib"
     2972                CONFIG_CFAFLAGS="-nodebug"
    29732973                CONFIG_BUILDLIB="no"
    29742974        ;;
  • libcfa/configure.ac

    r0050a5f rf56c32e  
    5656        "nolib"   )
    5757                CONFIG_CFLAGS="-O2 -s"
    58                 CONFIG_CFAFLAGS="-nolib"
     58                CONFIG_CFAFLAGS="-nodebug"
    5959                CONFIG_BUILDLIB="no"
    6060        ;;
  • src/CodeGen/module.mk

    r0050a5f rf56c32e  
    1818#       ArgTweak/Mutate.cc
    1919
    20 SRC_CODEGEN = \
     20SRC +=  CodeGen/Generate.cc \
    2121        CodeGen/CodeGenerator.cc \
     22        CodeGen/GenType.cc \
     23        CodeGen/FixNames.cc \
    2224        CodeGen/FixMain.cc \
    23         CodeGen/GenType.cc \
    2425        CodeGen/OperatorTable.cc
    25 
    26 
    27 SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/FixNames.cc
    28 SRCDEMANGLE += $(SRC_CODEGEN)
  • src/Common/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC_COMMON = \
    18       Common/Assert.cc \
    19       Common/Stats/Heap.cc \
    20       Common/Stats/Counter.cc \
    21       Common/Eval.cc \
    22       Common/SemanticError.cc \
    23       Common/UniqueName.cc
    24 
    25 SRC += $(SRC_COMMON) Common/DebugMalloc.cc
    26 SRCDEMANGLE += $(SRC_COMMON)
     17SRC += Common/SemanticError.cc \
     18       Common/UniqueName.cc \
     19       Common/DebugMalloc.cc \
     20       Common/Assert.cc \
     21       Common/Heap.cc \
     22       Common/Eval.cc
  • src/CompilationState.cc

    r0050a5f rf56c32e  
    3838        codegenp = false,
    3939        prettycodegenp = false,
    40         linemarks = false,
    41         stats_heap = false,
    42         stats_counters = false;
     40        linemarks = false;
    4341
    4442// Local Variables: //
  • src/CompilationState.h

    r0050a5f rf56c32e  
    3939        codegenp,
    4040        prettycodegenp,
    41         linemarks,
    42         stats_heap,
    43         stats_counters;
     41        linemarks;
    4442
    4543// is the compiler building prelude or libcfa?
  • src/Concurrency/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC += Concurrency/Keywords.cc Concurrency/Waitfor.cc
    18 SRCDEMANGLE += Concurrency/Keywords.cc
     17SRC += Concurrency/Keywords.cc \
     18       Concurrency/Waitfor.cc
    1919
  • src/ControlStruct/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC_CONTROLSTRUCT = \
     17SRC +=  ControlStruct/LabelGenerator.cc \
     18        ControlStruct/LabelFixer.cc \
     19        ControlStruct/MLEMutator.cc \
     20        ControlStruct/Mutate.cc \
    1821        ControlStruct/ForExprMutator.cc \
    19         ControlStruct/LabelFixer.cc \
    20         ControlStruct/LabelGenerator.cc \
    21         ControlStruct/MLEMutator.cc \
    22         ControlStruct/Mutate.cc
    23 
    24 SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc
    25 SRCDEMANGLE += $(SRC_CONTROLSTRUCT)
    26 
     22        ControlStruct/ExceptTranslate.cc
  • src/GenPoly/module.mk

    r0050a5f rf56c32e  
    2222       GenPoly/FindFunction.cc \
    2323       GenPoly/InstantiateGeneric.cc
    24 
    25 SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/Lvalue.cc
    26 
  • src/InitTweak/module.mk

    r0050a5f rf56c32e  
    2020        InitTweak/InitTweak.cc
    2121
    22 SRCDEMANGLE += InitTweak/GenInit.cc \
    23         InitTweak/InitTweak.cc
    24 
  • src/Makefile.am

    r0050a5f rf56c32e  
    2020
    2121SRC = main.cc \
    22       MakeLibCfa.cc \
    23       CompilationState.cc
    24 
    25 SRCDEMANGLE = CompilationState.cc
     22                        MakeLibCfa.cc \
     23                        CompilationState.cc
    2624
    2725MAINTAINERCLEANFILES =
     
    6260demangler_SOURCES = SymTab/demangler.cc
    6361
    64 demangler_LDADD = libdemangle.a -ldl                    # yywrap
     62demangler_LDADD = libdemangle.a                 # yywrap
    6563
    6664noinst_LIBRARIES = libdemangle.a
    67 libdemangle_a_SOURCES = $(SRCDEMANGLE)
     65libdemangle_a_SOURCES = SymTab/Demangle.cc SymTab/ManglerCommon.cc \
     66        SynTree/Type.cc \
     67        SynTree/VoidType.cc \
     68        SynTree/BasicType.cc \
     69        SynTree/PointerType.cc \
     70        SynTree/ArrayType.cc \
     71        SynTree/ReferenceType.cc \
     72        SynTree/FunctionType.cc \
     73        SynTree/ReferenceToType.cc \
     74        SynTree/TupleType.cc \
     75        SynTree/TypeofType.cc \
     76        SynTree/AttrType.cc \
     77        SynTree/VarArgsType.cc \
     78        SynTree/ZeroOneType.cc \
     79        SynTree/Constant.cc \
     80        SynTree/Expression.cc \
     81        SynTree/TupleExpr.cc \
     82        SynTree/CommaExpr.cc \
     83        SynTree/TypeExpr.cc \
     84        SynTree/ApplicationExpr.cc \
     85        SynTree/AddressExpr.cc \
     86        SynTree/Statement.cc \
     87        SynTree/CompoundStmt.cc \
     88        SynTree/DeclStmt.cc \
     89        SynTree/Declaration.cc \
     90        SynTree/DeclarationWithType.cc \
     91        SynTree/ObjectDecl.cc \
     92        SynTree/FunctionDecl.cc \
     93        SynTree/AggregateDecl.cc \
     94        SynTree/NamedTypeDecl.cc \
     95        SynTree/TypeDecl.cc \
     96        SynTree/Initializer.cc \
     97        SynTree/TypeSubstitution.cc \
     98        SynTree/Attribute.cc \
     99        SynTree/DeclReplacer.cc \
     100        CompilationState.cc \
     101        CodeGen/CodeGenerator.cc \
     102        CodeGen/FixMain.cc \
     103        CodeGen/GenType.cc \
     104        CodeGen/OperatorTable.cc \
     105        Common/Assert.cc \
     106        Common/Eval.cc \
     107        Common/SemanticError.cc \
     108        Common/UniqueName.cc \
     109        Concurrency/Keywords.cc \
     110        ControlStruct/ForExprMutator.cc \
     111        ControlStruct/LabelFixer.cc \
     112        ControlStruct/LabelGenerator.cc \
     113        ControlStruct/MLEMutator.cc \
     114        ControlStruct/Mutate.cc \
     115        GenPoly/GenPoly.cc \
     116        GenPoly/Lvalue.cc \
     117        InitTweak/GenInit.cc \
     118        InitTweak/InitTweak.cc \
     119        Parser/LinkageSpec.cc \
     120        ResolvExpr/AdjustExprType.cc \
     121        ResolvExpr/Alternative.cc \
     122        ResolvExpr/AlternativeFinder.cc \
     123        ResolvExpr/ExplodedActual.cc \
     124        ResolvExpr/CastCost.cc \
     125        ResolvExpr/CommonType.cc \
     126        ResolvExpr/ConversionCost.cc \
     127        ResolvExpr/CurrentObject.cc \
     128        ResolvExpr/FindOpenVars.cc \
     129        ResolvExpr/Occurs.cc \
     130        ResolvExpr/PolyCost.cc \
     131        ResolvExpr/PtrsAssignable.cc \
     132        ResolvExpr/PtrsCastable.cc \
     133        ResolvExpr/RenameVars.cc \
     134        ResolvExpr/ResolveAssertions.cc \
     135        ResolvExpr/Resolver.cc \
     136        ResolvExpr/ResolveTypeof.cc \
     137        ResolvExpr/SpecCost.cc \
     138        ResolvExpr/TypeEnvironment.cc \
     139        ResolvExpr/Unify.cc \
     140        SymTab/Autogen.cc \
     141        SymTab/FixFunction.cc \
     142        SymTab/Indexer.cc \
     143        SymTab/Mangler.cc \
     144        SymTab/Validate.cc \
     145        Tuples/Explode.cc \
     146        Tuples/TupleAssignment.cc \
     147        Tuples/TupleExpansion.cc \
     148        Validate/HandleAttributes.cc
    68149
    69150MAINTAINERCLEANFILES += ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}}
  • src/Makefile.in

    r0050a5f rf56c32e  
    162162libdemangle_a_LIBADD =
    163163am__dirstamp = $(am__leading_dot)dirstamp
    164 am__objects_1 = CodeGen/CodeGenerator.$(OBJEXT) \
    165         CodeGen/FixMain.$(OBJEXT) CodeGen/GenType.$(OBJEXT) \
    166         CodeGen/OperatorTable.$(OBJEXT)
    167 am__objects_2 = Common/Assert.$(OBJEXT) Common/Stats/Heap.$(OBJEXT) \
    168         Common/Stats/Counter.$(OBJEXT) Common/Eval.$(OBJEXT) \
    169         Common/SemanticError.$(OBJEXT) Common/UniqueName.$(OBJEXT)
    170 am__objects_3 = ControlStruct/ForExprMutator.$(OBJEXT) \
     164am_libdemangle_a_OBJECTS = SymTab/Demangle.$(OBJEXT) \
     165        SymTab/ManglerCommon.$(OBJEXT) SynTree/Type.$(OBJEXT) \
     166        SynTree/VoidType.$(OBJEXT) SynTree/BasicType.$(OBJEXT) \
     167        SynTree/PointerType.$(OBJEXT) SynTree/ArrayType.$(OBJEXT) \
     168        SynTree/ReferenceType.$(OBJEXT) SynTree/FunctionType.$(OBJEXT) \
     169        SynTree/ReferenceToType.$(OBJEXT) SynTree/TupleType.$(OBJEXT) \
     170        SynTree/TypeofType.$(OBJEXT) SynTree/AttrType.$(OBJEXT) \
     171        SynTree/VarArgsType.$(OBJEXT) SynTree/ZeroOneType.$(OBJEXT) \
     172        SynTree/Constant.$(OBJEXT) SynTree/Expression.$(OBJEXT) \
     173        SynTree/TupleExpr.$(OBJEXT) SynTree/CommaExpr.$(OBJEXT) \
     174        SynTree/TypeExpr.$(OBJEXT) SynTree/ApplicationExpr.$(OBJEXT) \
     175        SynTree/AddressExpr.$(OBJEXT) SynTree/Statement.$(OBJEXT) \
     176        SynTree/CompoundStmt.$(OBJEXT) SynTree/DeclStmt.$(OBJEXT) \
     177        SynTree/Declaration.$(OBJEXT) \
     178        SynTree/DeclarationWithType.$(OBJEXT) \
     179        SynTree/ObjectDecl.$(OBJEXT) SynTree/FunctionDecl.$(OBJEXT) \
     180        SynTree/AggregateDecl.$(OBJEXT) \
     181        SynTree/NamedTypeDecl.$(OBJEXT) SynTree/TypeDecl.$(OBJEXT) \
     182        SynTree/Initializer.$(OBJEXT) \
     183        SynTree/TypeSubstitution.$(OBJEXT) SynTree/Attribute.$(OBJEXT) \
     184        SynTree/DeclReplacer.$(OBJEXT) CompilationState.$(OBJEXT) \
     185        CodeGen/CodeGenerator.$(OBJEXT) CodeGen/FixMain.$(OBJEXT) \
     186        CodeGen/GenType.$(OBJEXT) CodeGen/OperatorTable.$(OBJEXT) \
     187        Common/Assert.$(OBJEXT) Common/Eval.$(OBJEXT) \
     188        Common/SemanticError.$(OBJEXT) Common/UniqueName.$(OBJEXT) \
     189        Concurrency/Keywords.$(OBJEXT) \
     190        ControlStruct/ForExprMutator.$(OBJEXT) \
    171191        ControlStruct/LabelFixer.$(OBJEXT) \
    172192        ControlStruct/LabelGenerator.$(OBJEXT) \
    173193        ControlStruct/MLEMutator.$(OBJEXT) \
    174         ControlStruct/Mutate.$(OBJEXT)
    175 am__objects_4 = ResolvExpr/AdjustExprType.$(OBJEXT) \
     194        ControlStruct/Mutate.$(OBJEXT) GenPoly/GenPoly.$(OBJEXT) \
     195        GenPoly/Lvalue.$(OBJEXT) InitTweak/GenInit.$(OBJEXT) \
     196        InitTweak/InitTweak.$(OBJEXT) Parser/LinkageSpec.$(OBJEXT) \
     197        ResolvExpr/AdjustExprType.$(OBJEXT) \
    176198        ResolvExpr/Alternative.$(OBJEXT) \
    177199        ResolvExpr/AlternativeFinder.$(OBJEXT) \
     200        ResolvExpr/ExplodedActual.$(OBJEXT) \
    178201        ResolvExpr/CastCost.$(OBJEXT) ResolvExpr/CommonType.$(OBJEXT) \
    179202        ResolvExpr/ConversionCost.$(OBJEXT) \
    180203        ResolvExpr/CurrentObject.$(OBJEXT) \
    181         ResolvExpr/ExplodedActual.$(OBJEXT) \
    182204        ResolvExpr/FindOpenVars.$(OBJEXT) ResolvExpr/Occurs.$(OBJEXT) \
    183205        ResolvExpr/PolyCost.$(OBJEXT) \
     
    190212        ResolvExpr/SpecCost.$(OBJEXT) \
    191213        ResolvExpr/TypeEnvironment.$(OBJEXT) \
    192         ResolvExpr/Unify.$(OBJEXT)
    193 am__objects_5 = SymTab/Autogen.$(OBJEXT) SymTab/FixFunction.$(OBJEXT) \
     214        ResolvExpr/Unify.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \
     215        SymTab/FixFunction.$(OBJEXT) SymTab/Indexer.$(OBJEXT) \
     216        SymTab/Mangler.$(OBJEXT) SymTab/Validate.$(OBJEXT) \
     217        Tuples/Explode.$(OBJEXT) Tuples/TupleAssignment.$(OBJEXT) \
     218        Tuples/TupleExpansion.$(OBJEXT) \
     219        Validate/HandleAttributes.$(OBJEXT)
     220libdemangle_a_OBJECTS = $(am_libdemangle_a_OBJECTS)
     221am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)"
     222PROGRAMS = $(cfa_cpplib_PROGRAMS)
     223am__objects_1 = main.$(OBJEXT) MakeLibCfa.$(OBJEXT) \
     224        CompilationState.$(OBJEXT) CodeGen/Generate.$(OBJEXT) \
     225        CodeGen/CodeGenerator.$(OBJEXT) CodeGen/GenType.$(OBJEXT) \
     226        CodeGen/FixNames.$(OBJEXT) CodeGen/FixMain.$(OBJEXT) \
     227        CodeGen/OperatorTable.$(OBJEXT) CodeTools/DeclStats.$(OBJEXT) \
     228        CodeTools/ResolvProtoDump.$(OBJEXT) \
     229        CodeTools/TrackLoc.$(OBJEXT) Concurrency/Keywords.$(OBJEXT) \
     230        Concurrency/Waitfor.$(OBJEXT) Common/SemanticError.$(OBJEXT) \
     231        Common/UniqueName.$(OBJEXT) Common/DebugMalloc.$(OBJEXT) \
     232        Common/Assert.$(OBJEXT) Common/Heap.$(OBJEXT) \
     233        Common/Eval.$(OBJEXT) ControlStruct/LabelGenerator.$(OBJEXT) \
     234        ControlStruct/LabelFixer.$(OBJEXT) \
     235        ControlStruct/MLEMutator.$(OBJEXT) \
     236        ControlStruct/Mutate.$(OBJEXT) \
     237        ControlStruct/ForExprMutator.$(OBJEXT) \
     238        ControlStruct/ExceptTranslate.$(OBJEXT) GenPoly/Box.$(OBJEXT) \
     239        GenPoly/GenPoly.$(OBJEXT) GenPoly/ScrubTyVars.$(OBJEXT) \
     240        GenPoly/Lvalue.$(OBJEXT) GenPoly/Specialize.$(OBJEXT) \
     241        GenPoly/FindFunction.$(OBJEXT) \
     242        GenPoly/InstantiateGeneric.$(OBJEXT) \
     243        InitTweak/GenInit.$(OBJEXT) InitTweak/FixInit.$(OBJEXT) \
     244        InitTweak/FixGlobalInit.$(OBJEXT) \
     245        InitTweak/InitTweak.$(OBJEXT) Parser/parser.$(OBJEXT) \
     246        Parser/lex.$(OBJEXT) Parser/TypedefTable.$(OBJEXT) \
     247        Parser/ParseNode.$(OBJEXT) Parser/DeclarationNode.$(OBJEXT) \
     248        Parser/ExpressionNode.$(OBJEXT) Parser/StatementNode.$(OBJEXT) \
     249        Parser/InitializerNode.$(OBJEXT) Parser/TypeData.$(OBJEXT) \
     250        Parser/LinkageSpec.$(OBJEXT) Parser/parserutility.$(OBJEXT) \
     251        ResolvExpr/AlternativeFinder.$(OBJEXT) \
     252        ResolvExpr/Alternative.$(OBJEXT) ResolvExpr/Unify.$(OBJEXT) \
     253        ResolvExpr/PtrsAssignable.$(OBJEXT) \
     254        ResolvExpr/CommonType.$(OBJEXT) \
     255        ResolvExpr/ConversionCost.$(OBJEXT) \
     256        ResolvExpr/CastCost.$(OBJEXT) \
     257        ResolvExpr/PtrsCastable.$(OBJEXT) \
     258        ResolvExpr/AdjustExprType.$(OBJEXT) \
     259        ResolvExpr/AlternativePrinter.$(OBJEXT) \
     260        ResolvExpr/Resolver.$(OBJEXT) \
     261        ResolvExpr/ResolveTypeof.$(OBJEXT) \
     262        ResolvExpr/RenameVars.$(OBJEXT) \
     263        ResolvExpr/FindOpenVars.$(OBJEXT) \
     264        ResolvExpr/PolyCost.$(OBJEXT) ResolvExpr/Occurs.$(OBJEXT) \
     265        ResolvExpr/TypeEnvironment.$(OBJEXT) \
     266        ResolvExpr/CurrentObject.$(OBJEXT) \
     267        ResolvExpr/ExplodedActual.$(OBJEXT) \
     268        ResolvExpr/SpecCost.$(OBJEXT) \
     269        ResolvExpr/ResolveAssertions.$(OBJEXT) \
    194270        SymTab/Indexer.$(OBJEXT) SymTab/Mangler.$(OBJEXT) \
    195         SymTab/ManglerCommon.$(OBJEXT) SymTab/Validate.$(OBJEXT)
    196 am__objects_6 = SynTree/Type.$(OBJEXT) SynTree/VoidType.$(OBJEXT) \
     271        SymTab/ManglerCommon.$(OBJEXT) SymTab/Validate.$(OBJEXT) \
     272        SymTab/FixFunction.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \
     273        SynTree/Type.$(OBJEXT) SynTree/VoidType.$(OBJEXT) \
    197274        SynTree/BasicType.$(OBJEXT) SynTree/PointerType.$(OBJEXT) \
    198275        SynTree/ArrayType.$(OBJEXT) SynTree/ReferenceType.$(OBJEXT) \
     
    213290        SynTree/Initializer.$(OBJEXT) \
    214291        SynTree/TypeSubstitution.$(OBJEXT) SynTree/Attribute.$(OBJEXT) \
    215         SynTree/DeclReplacer.$(OBJEXT)
    216 am__objects_7 = CompilationState.$(OBJEXT) $(am__objects_1) \
    217         Concurrency/Keywords.$(OBJEXT) $(am__objects_2) \
    218         $(am__objects_3) GenPoly/GenPoly.$(OBJEXT) \
    219         GenPoly/Lvalue.$(OBJEXT) InitTweak/GenInit.$(OBJEXT) \
    220         InitTweak/InitTweak.$(OBJEXT) Parser/LinkageSpec.$(OBJEXT) \
    221         $(am__objects_4) $(am__objects_5) SymTab/Demangle.$(OBJEXT) \
    222         $(am__objects_6) Tuples/TupleAssignment.$(OBJEXT) \
    223         Tuples/TupleExpansion.$(OBJEXT) Tuples/Explode.$(OBJEXT) \
    224         Validate/HandleAttributes.$(OBJEXT)
    225 am_libdemangle_a_OBJECTS = $(am__objects_7)
    226 libdemangle_a_OBJECTS = $(am_libdemangle_a_OBJECTS)
    227 am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)"
    228 PROGRAMS = $(cfa_cpplib_PROGRAMS)
    229 am__objects_8 = main.$(OBJEXT) MakeLibCfa.$(OBJEXT) \
    230         CompilationState.$(OBJEXT) $(am__objects_1) \
    231         CodeGen/Generate.$(OBJEXT) CodeGen/FixNames.$(OBJEXT) \
    232         CodeTools/DeclStats.$(OBJEXT) \
    233         CodeTools/ResolvProtoDump.$(OBJEXT) \
    234         CodeTools/TrackLoc.$(OBJEXT) Concurrency/Keywords.$(OBJEXT) \
    235         Concurrency/Waitfor.$(OBJEXT) $(am__objects_2) \
    236         Common/DebugMalloc.$(OBJEXT) $(am__objects_3) \
    237         ControlStruct/ExceptTranslate.$(OBJEXT) GenPoly/Box.$(OBJEXT) \
    238         GenPoly/GenPoly.$(OBJEXT) GenPoly/ScrubTyVars.$(OBJEXT) \
    239         GenPoly/Lvalue.$(OBJEXT) GenPoly/Specialize.$(OBJEXT) \
    240         GenPoly/FindFunction.$(OBJEXT) \
    241         GenPoly/InstantiateGeneric.$(OBJEXT) \
    242         InitTweak/GenInit.$(OBJEXT) InitTweak/FixInit.$(OBJEXT) \
    243         InitTweak/FixGlobalInit.$(OBJEXT) \
    244         InitTweak/InitTweak.$(OBJEXT) Parser/parser.$(OBJEXT) \
    245         Parser/lex.$(OBJEXT) Parser/TypedefTable.$(OBJEXT) \
    246         Parser/ParseNode.$(OBJEXT) Parser/DeclarationNode.$(OBJEXT) \
    247         Parser/ExpressionNode.$(OBJEXT) Parser/StatementNode.$(OBJEXT) \
    248         Parser/InitializerNode.$(OBJEXT) Parser/TypeData.$(OBJEXT) \
    249         Parser/LinkageSpec.$(OBJEXT) Parser/parserutility.$(OBJEXT) \
    250         $(am__objects_4) ResolvExpr/AlternativePrinter.$(OBJEXT) \
    251         $(am__objects_5) $(am__objects_6) \
     292        SynTree/DeclReplacer.$(OBJEXT) \
    252293        Tuples/TupleAssignment.$(OBJEXT) \
    253294        Tuples/TupleExpansion.$(OBJEXT) Tuples/Explode.$(OBJEXT) \
    254295        Validate/HandleAttributes.$(OBJEXT) \
    255296        Virtual/ExpandCasts.$(OBJEXT)
    256 am____driver_cfa_cpp_OBJECTS = $(am__objects_8)
     297am____driver_cfa_cpp_OBJECTS = $(am__objects_1)
    257298___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS)
    258299___driver_cfa_cpp_DEPENDENCIES =
     
    522563AUTOMAKE_OPTIONS = foreign subdir-objects
    523564ACLOCAL_AMFLAGS = -I automake
    524 SRC = main.cc MakeLibCfa.cc CompilationState.cc $(SRC_CODEGEN) \
    525         CodeGen/Generate.cc CodeGen/FixNames.cc CodeTools/DeclStats.cc \
     565SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \
     566        CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
     567        CodeGen/FixNames.cc CodeGen/FixMain.cc \
     568        CodeGen/OperatorTable.cc CodeTools/DeclStats.cc \
    526569        CodeTools/ResolvProtoDump.cc CodeTools/TrackLoc.cc \
    527         Concurrency/Keywords.cc Concurrency/Waitfor.cc $(SRC_COMMON) \
    528         Common/DebugMalloc.cc $(SRC_CONTROLSTRUCT) \
     570        Concurrency/Keywords.cc Concurrency/Waitfor.cc \
     571        Common/SemanticError.cc Common/UniqueName.cc \
     572        Common/DebugMalloc.cc Common/Assert.cc Common/Heap.cc \
     573        Common/Eval.cc ControlStruct/LabelGenerator.cc \
     574        ControlStruct/LabelFixer.cc ControlStruct/MLEMutator.cc \
     575        ControlStruct/Mutate.cc ControlStruct/ForExprMutator.cc \
    529576        ControlStruct/ExceptTranslate.cc GenPoly/Box.cc \
    530577        GenPoly/GenPoly.cc GenPoly/ScrubTyVars.cc GenPoly/Lvalue.cc \
     
    537584        Parser/StatementNode.cc Parser/InitializerNode.cc \
    538585        Parser/TypeData.cc Parser/LinkageSpec.cc \
    539         Parser/parserutility.cc $(SRC_RESOLVEXPR) \
    540         ResolvExpr/AlternativePrinter.cc $(SRC_SYMTAB) $(SRC_SYNTREE) \
     586        Parser/parserutility.cc ResolvExpr/AlternativeFinder.cc \
     587        ResolvExpr/Alternative.cc ResolvExpr/Unify.cc \
     588        ResolvExpr/PtrsAssignable.cc ResolvExpr/CommonType.cc \
     589        ResolvExpr/ConversionCost.cc ResolvExpr/CastCost.cc \
     590        ResolvExpr/PtrsCastable.cc ResolvExpr/AdjustExprType.cc \
     591        ResolvExpr/AlternativePrinter.cc ResolvExpr/Resolver.cc \
     592        ResolvExpr/ResolveTypeof.cc ResolvExpr/RenameVars.cc \
     593        ResolvExpr/FindOpenVars.cc ResolvExpr/PolyCost.cc \
     594        ResolvExpr/Occurs.cc ResolvExpr/TypeEnvironment.cc \
     595        ResolvExpr/CurrentObject.cc ResolvExpr/ExplodedActual.cc \
     596        ResolvExpr/SpecCost.cc ResolvExpr/ResolveAssertions.cc \
     597        SymTab/Indexer.cc SymTab/Mangler.cc SymTab/ManglerCommon.cc \
     598        SymTab/Validate.cc SymTab/FixFunction.cc SymTab/Autogen.cc \
     599        SynTree/Type.cc SynTree/VoidType.cc SynTree/BasicType.cc \
     600        SynTree/PointerType.cc SynTree/ArrayType.cc \
     601        SynTree/ReferenceType.cc SynTree/FunctionType.cc \
     602        SynTree/ReferenceToType.cc SynTree/TupleType.cc \
     603        SynTree/TypeofType.cc SynTree/AttrType.cc \
     604        SynTree/VarArgsType.cc SynTree/ZeroOneType.cc \
     605        SynTree/Constant.cc SynTree/Expression.cc SynTree/TupleExpr.cc \
     606        SynTree/CommaExpr.cc SynTree/TypeExpr.cc \
     607        SynTree/ApplicationExpr.cc SynTree/AddressExpr.cc \
     608        SynTree/Statement.cc SynTree/CompoundStmt.cc \
     609        SynTree/DeclStmt.cc SynTree/Declaration.cc \
     610        SynTree/DeclarationWithType.cc SynTree/ObjectDecl.cc \
     611        SynTree/FunctionDecl.cc SynTree/AggregateDecl.cc \
     612        SynTree/NamedTypeDecl.cc SynTree/TypeDecl.cc \
     613        SynTree/Initializer.cc SynTree/TypeSubstitution.cc \
     614        SynTree/Attribute.cc SynTree/DeclReplacer.cc \
    541615        Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc \
    542616        Tuples/Explode.cc Validate/HandleAttributes.cc \
    543617        Virtual/ExpandCasts.cc
    544 SRCDEMANGLE = CompilationState.cc $(SRC_CODEGEN) \
    545         Concurrency/Keywords.cc $(SRC_COMMON) $(SRC_CONTROLSTRUCT) \
    546         GenPoly/GenPoly.cc GenPoly/Lvalue.cc InitTweak/GenInit.cc \
    547         InitTweak/InitTweak.cc Parser/LinkageSpec.cc $(SRC_RESOLVEXPR) \
    548         $(SRC_SYMTAB) SymTab/Demangle.cc $(SRC_SYNTREE) \
    549         Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc \
    550         Tuples/Explode.cc Validate/HandleAttributes.cc
    551618MAINTAINERCLEANFILES = ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}}
    552619MOSTLYCLEANFILES = Parser/lex.cc Parser/parser.cc Parser/parser.hh \
    553620        Parser/parser.output
    554 SRC_CODEGEN = \
    555         CodeGen/CodeGenerator.cc \
    556         CodeGen/FixMain.cc \
    557         CodeGen/GenType.cc \
    558         CodeGen/OperatorTable.cc
    559 
    560 SRC_COMMON = \
    561       Common/Assert.cc \
    562       Common/Stats/Heap.cc \
    563       Common/Stats/Counter.cc \
    564       Common/Eval.cc \
    565       Common/SemanticError.cc \
    566       Common/UniqueName.cc
    567 
    568 SRC_CONTROLSTRUCT = \
    569         ControlStruct/ForExprMutator.cc \
    570         ControlStruct/LabelFixer.cc \
    571         ControlStruct/LabelGenerator.cc \
    572         ControlStruct/MLEMutator.cc \
    573         ControlStruct/Mutate.cc
    574 
    575621BUILT_SOURCES = Parser/parser.hh
    576622AM_YFLAGS = -d -t -v
    577 SRC_RESOLVEXPR = \
    578       ResolvExpr/AdjustExprType.cc \
    579       ResolvExpr/Alternative.cc \
    580       ResolvExpr/AlternativeFinder.cc \
    581       ResolvExpr/CastCost.cc \
    582       ResolvExpr/CommonType.cc \
    583       ResolvExpr/ConversionCost.cc \
    584       ResolvExpr/CurrentObject.cc \
    585       ResolvExpr/ExplodedActual.cc \
    586       ResolvExpr/FindOpenVars.cc \
    587       ResolvExpr/Occurs.cc \
    588       ResolvExpr/PolyCost.cc \
    589       ResolvExpr/PtrsAssignable.cc \
    590       ResolvExpr/PtrsCastable.cc \
    591       ResolvExpr/RenameVars.cc \
    592       ResolvExpr/ResolveAssertions.cc \
    593       ResolvExpr/Resolver.cc \
    594       ResolvExpr/ResolveTypeof.cc \
    595       ResolvExpr/SpecCost.cc \
    596       ResolvExpr/TypeEnvironment.cc \
    597       ResolvExpr/Unify.cc
    598 
    599 SRC_SYMTAB = \
    600       SymTab/Autogen.cc \
    601       SymTab/FixFunction.cc \
    602       SymTab/Indexer.cc \
    603       SymTab/Mangler.cc \
    604       SymTab/ManglerCommon.cc \
    605       SymTab/Validate.cc
    606 
    607 SRC_SYNTREE = \
    608       SynTree/Type.cc \
    609       SynTree/VoidType.cc \
    610       SynTree/BasicType.cc \
    611       SynTree/PointerType.cc \
    612       SynTree/ArrayType.cc \
    613       SynTree/ReferenceType.cc \
    614       SynTree/FunctionType.cc \
    615       SynTree/ReferenceToType.cc \
    616       SynTree/TupleType.cc \
    617       SynTree/TypeofType.cc \
    618       SynTree/AttrType.cc \
    619       SynTree/VarArgsType.cc \
    620       SynTree/ZeroOneType.cc \
    621       SynTree/Constant.cc \
    622       SynTree/Expression.cc \
    623       SynTree/TupleExpr.cc \
    624       SynTree/CommaExpr.cc \
    625       SynTree/TypeExpr.cc \
    626       SynTree/ApplicationExpr.cc \
    627       SynTree/AddressExpr.cc \
    628       SynTree/Statement.cc \
    629       SynTree/CompoundStmt.cc \
    630       SynTree/DeclStmt.cc \
    631       SynTree/Declaration.cc \
    632       SynTree/DeclarationWithType.cc \
    633       SynTree/ObjectDecl.cc \
    634       SynTree/FunctionDecl.cc \
    635       SynTree/AggregateDecl.cc \
    636       SynTree/NamedTypeDecl.cc \
    637       SynTree/TypeDecl.cc \
    638       SynTree/Initializer.cc \
    639       SynTree/TypeSubstitution.cc \
    640       SynTree/Attribute.cc \
    641       SynTree/DeclReplacer.cc
    642 
    643623
    644624# put into lib for now
     
    650630ARFLAGS = cr
    651631demangler_SOURCES = SymTab/demangler.cc
    652 demangler_LDADD = libdemangle.a -ldl                    # yywrap
     632demangler_LDADD = libdemangle.a                 # yywrap
    653633noinst_LIBRARIES = libdemangle.a
    654 libdemangle_a_SOURCES = $(SRCDEMANGLE)
     634libdemangle_a_SOURCES = SymTab/Demangle.cc SymTab/ManglerCommon.cc \
     635        SynTree/Type.cc \
     636        SynTree/VoidType.cc \
     637        SynTree/BasicType.cc \
     638        SynTree/PointerType.cc \
     639        SynTree/ArrayType.cc \
     640        SynTree/ReferenceType.cc \
     641        SynTree/FunctionType.cc \
     642        SynTree/ReferenceToType.cc \
     643        SynTree/TupleType.cc \
     644        SynTree/TypeofType.cc \
     645        SynTree/AttrType.cc \
     646        SynTree/VarArgsType.cc \
     647        SynTree/ZeroOneType.cc \
     648        SynTree/Constant.cc \
     649        SynTree/Expression.cc \
     650        SynTree/TupleExpr.cc \
     651        SynTree/CommaExpr.cc \
     652        SynTree/TypeExpr.cc \
     653        SynTree/ApplicationExpr.cc \
     654        SynTree/AddressExpr.cc \
     655        SynTree/Statement.cc \
     656        SynTree/CompoundStmt.cc \
     657        SynTree/DeclStmt.cc \
     658        SynTree/Declaration.cc \
     659        SynTree/DeclarationWithType.cc \
     660        SynTree/ObjectDecl.cc \
     661        SynTree/FunctionDecl.cc \
     662        SynTree/AggregateDecl.cc \
     663        SynTree/NamedTypeDecl.cc \
     664        SynTree/TypeDecl.cc \
     665        SynTree/Initializer.cc \
     666        SynTree/TypeSubstitution.cc \
     667        SynTree/Attribute.cc \
     668        SynTree/DeclReplacer.cc \
     669        CompilationState.cc \
     670        CodeGen/CodeGenerator.cc \
     671        CodeGen/FixMain.cc \
     672        CodeGen/GenType.cc \
     673        CodeGen/OperatorTable.cc \
     674        Common/Assert.cc \
     675        Common/Eval.cc \
     676        Common/SemanticError.cc \
     677        Common/UniqueName.cc \
     678        Concurrency/Keywords.cc \
     679        ControlStruct/ForExprMutator.cc \
     680        ControlStruct/LabelFixer.cc \
     681        ControlStruct/LabelGenerator.cc \
     682        ControlStruct/MLEMutator.cc \
     683        ControlStruct/Mutate.cc \
     684        GenPoly/GenPoly.cc \
     685        GenPoly/Lvalue.cc \
     686        InitTweak/GenInit.cc \
     687        InitTweak/InitTweak.cc \
     688        Parser/LinkageSpec.cc \
     689        ResolvExpr/AdjustExprType.cc \
     690        ResolvExpr/Alternative.cc \
     691        ResolvExpr/AlternativeFinder.cc \
     692        ResolvExpr/ExplodedActual.cc \
     693        ResolvExpr/CastCost.cc \
     694        ResolvExpr/CommonType.cc \
     695        ResolvExpr/ConversionCost.cc \
     696        ResolvExpr/CurrentObject.cc \
     697        ResolvExpr/FindOpenVars.cc \
     698        ResolvExpr/Occurs.cc \
     699        ResolvExpr/PolyCost.cc \
     700        ResolvExpr/PtrsAssignable.cc \
     701        ResolvExpr/PtrsCastable.cc \
     702        ResolvExpr/RenameVars.cc \
     703        ResolvExpr/ResolveAssertions.cc \
     704        ResolvExpr/Resolver.cc \
     705        ResolvExpr/ResolveTypeof.cc \
     706        ResolvExpr/SpecCost.cc \
     707        ResolvExpr/TypeEnvironment.cc \
     708        ResolvExpr/Unify.cc \
     709        SymTab/Autogen.cc \
     710        SymTab/FixFunction.cc \
     711        SymTab/Indexer.cc \
     712        SymTab/Mangler.cc \
     713        SymTab/Validate.cc \
     714        Tuples/Explode.cc \
     715        Tuples/TupleAssignment.cc \
     716        Tuples/TupleExpansion.cc \
     717        Validate/HandleAttributes.cc
     718
    655719all: $(BUILT_SOURCES)
    656720        $(MAKE) $(AM_MAKEFLAGS) all-am
     
    691755clean-noinstLIBRARIES:
    692756        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
     757SymTab/$(am__dirstamp):
     758        @$(MKDIR_P) SymTab
     759        @: > SymTab/$(am__dirstamp)
     760SymTab/$(DEPDIR)/$(am__dirstamp):
     761        @$(MKDIR_P) SymTab/$(DEPDIR)
     762        @: > SymTab/$(DEPDIR)/$(am__dirstamp)
     763SymTab/Demangle.$(OBJEXT): SymTab/$(am__dirstamp) \
     764        SymTab/$(DEPDIR)/$(am__dirstamp)
     765SymTab/ManglerCommon.$(OBJEXT): SymTab/$(am__dirstamp) \
     766        SymTab/$(DEPDIR)/$(am__dirstamp)
     767SynTree/$(am__dirstamp):
     768        @$(MKDIR_P) SynTree
     769        @: > SynTree/$(am__dirstamp)
     770SynTree/$(DEPDIR)/$(am__dirstamp):
     771        @$(MKDIR_P) SynTree/$(DEPDIR)
     772        @: > SynTree/$(DEPDIR)/$(am__dirstamp)
     773SynTree/Type.$(OBJEXT): SynTree/$(am__dirstamp) \
     774        SynTree/$(DEPDIR)/$(am__dirstamp)
     775SynTree/VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \
     776        SynTree/$(DEPDIR)/$(am__dirstamp)
     777SynTree/BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \
     778        SynTree/$(DEPDIR)/$(am__dirstamp)
     779SynTree/PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \
     780        SynTree/$(DEPDIR)/$(am__dirstamp)
     781SynTree/ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \
     782        SynTree/$(DEPDIR)/$(am__dirstamp)
     783SynTree/ReferenceType.$(OBJEXT): SynTree/$(am__dirstamp) \
     784        SynTree/$(DEPDIR)/$(am__dirstamp)
     785SynTree/FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \
     786        SynTree/$(DEPDIR)/$(am__dirstamp)
     787SynTree/ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \
     788        SynTree/$(DEPDIR)/$(am__dirstamp)
     789SynTree/TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \
     790        SynTree/$(DEPDIR)/$(am__dirstamp)
     791SynTree/TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \
     792        SynTree/$(DEPDIR)/$(am__dirstamp)
     793SynTree/AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \
     794        SynTree/$(DEPDIR)/$(am__dirstamp)
     795SynTree/VarArgsType.$(OBJEXT): SynTree/$(am__dirstamp) \
     796        SynTree/$(DEPDIR)/$(am__dirstamp)
     797SynTree/ZeroOneType.$(OBJEXT): SynTree/$(am__dirstamp) \
     798        SynTree/$(DEPDIR)/$(am__dirstamp)
     799SynTree/Constant.$(OBJEXT): SynTree/$(am__dirstamp) \
     800        SynTree/$(DEPDIR)/$(am__dirstamp)
     801SynTree/Expression.$(OBJEXT): SynTree/$(am__dirstamp) \
     802        SynTree/$(DEPDIR)/$(am__dirstamp)
     803SynTree/TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     804        SynTree/$(DEPDIR)/$(am__dirstamp)
     805SynTree/CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     806        SynTree/$(DEPDIR)/$(am__dirstamp)
     807SynTree/TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     808        SynTree/$(DEPDIR)/$(am__dirstamp)
     809SynTree/ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     810        SynTree/$(DEPDIR)/$(am__dirstamp)
     811SynTree/AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     812        SynTree/$(DEPDIR)/$(am__dirstamp)
     813SynTree/Statement.$(OBJEXT): SynTree/$(am__dirstamp) \
     814        SynTree/$(DEPDIR)/$(am__dirstamp)
     815SynTree/CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
     816        SynTree/$(DEPDIR)/$(am__dirstamp)
     817SynTree/DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
     818        SynTree/$(DEPDIR)/$(am__dirstamp)
     819SynTree/Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \
     820        SynTree/$(DEPDIR)/$(am__dirstamp)
     821SynTree/DeclarationWithType.$(OBJEXT): SynTree/$(am__dirstamp) \
     822        SynTree/$(DEPDIR)/$(am__dirstamp)
     823SynTree/ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     824        SynTree/$(DEPDIR)/$(am__dirstamp)
     825SynTree/FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     826        SynTree/$(DEPDIR)/$(am__dirstamp)
     827SynTree/AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     828        SynTree/$(DEPDIR)/$(am__dirstamp)
     829SynTree/NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     830        SynTree/$(DEPDIR)/$(am__dirstamp)
     831SynTree/TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     832        SynTree/$(DEPDIR)/$(am__dirstamp)
     833SynTree/Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \
     834        SynTree/$(DEPDIR)/$(am__dirstamp)
     835SynTree/TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \
     836        SynTree/$(DEPDIR)/$(am__dirstamp)
     837SynTree/Attribute.$(OBJEXT): SynTree/$(am__dirstamp) \
     838        SynTree/$(DEPDIR)/$(am__dirstamp)
     839SynTree/DeclReplacer.$(OBJEXT): SynTree/$(am__dirstamp) \
     840        SynTree/$(DEPDIR)/$(am__dirstamp)
    693841CodeGen/$(am__dirstamp):
    694842        @$(MKDIR_P) CodeGen
     
    705853CodeGen/OperatorTable.$(OBJEXT): CodeGen/$(am__dirstamp) \
    706854        CodeGen/$(DEPDIR)/$(am__dirstamp)
     855Common/$(am__dirstamp):
     856        @$(MKDIR_P) Common
     857        @: > Common/$(am__dirstamp)
     858Common/$(DEPDIR)/$(am__dirstamp):
     859        @$(MKDIR_P) Common/$(DEPDIR)
     860        @: > Common/$(DEPDIR)/$(am__dirstamp)
     861Common/Assert.$(OBJEXT): Common/$(am__dirstamp) \
     862        Common/$(DEPDIR)/$(am__dirstamp)
     863Common/Eval.$(OBJEXT): Common/$(am__dirstamp) \
     864        Common/$(DEPDIR)/$(am__dirstamp)
     865Common/SemanticError.$(OBJEXT): Common/$(am__dirstamp) \
     866        Common/$(DEPDIR)/$(am__dirstamp)
     867Common/UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
     868        Common/$(DEPDIR)/$(am__dirstamp)
    707869Concurrency/$(am__dirstamp):
    708870        @$(MKDIR_P) Concurrency
     
    713875Concurrency/Keywords.$(OBJEXT): Concurrency/$(am__dirstamp) \
    714876        Concurrency/$(DEPDIR)/$(am__dirstamp)
    715 Common/$(am__dirstamp):
    716         @$(MKDIR_P) Common
    717         @: > Common/$(am__dirstamp)
    718 Common/$(DEPDIR)/$(am__dirstamp):
    719         @$(MKDIR_P) Common/$(DEPDIR)
    720         @: > Common/$(DEPDIR)/$(am__dirstamp)
    721 Common/Assert.$(OBJEXT): Common/$(am__dirstamp) \
    722         Common/$(DEPDIR)/$(am__dirstamp)
    723 Common/Stats/$(am__dirstamp):
    724         @$(MKDIR_P) Common/Stats
    725         @: > Common/Stats/$(am__dirstamp)
    726 Common/Stats/$(DEPDIR)/$(am__dirstamp):
    727         @$(MKDIR_P) Common/Stats/$(DEPDIR)
    728         @: > Common/Stats/$(DEPDIR)/$(am__dirstamp)
    729 Common/Stats/Heap.$(OBJEXT): Common/Stats/$(am__dirstamp) \
    730         Common/Stats/$(DEPDIR)/$(am__dirstamp)
    731 Common/Stats/Counter.$(OBJEXT): Common/Stats/$(am__dirstamp) \
    732         Common/Stats/$(DEPDIR)/$(am__dirstamp)
    733 Common/Eval.$(OBJEXT): Common/$(am__dirstamp) \
    734         Common/$(DEPDIR)/$(am__dirstamp)
    735 Common/SemanticError.$(OBJEXT): Common/$(am__dirstamp) \
    736         Common/$(DEPDIR)/$(am__dirstamp)
    737 Common/UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
    738         Common/$(DEPDIR)/$(am__dirstamp)
    739877ControlStruct/$(am__dirstamp):
    740878        @$(MKDIR_P) ControlStruct
     
    793931ResolvExpr/AlternativeFinder.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    794932        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     933ResolvExpr/ExplodedActual.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     934        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    795935ResolvExpr/CastCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    796936        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     
    801941ResolvExpr/CurrentObject.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    802942        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    803 ResolvExpr/ExplodedActual.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    804         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    805943ResolvExpr/FindOpenVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    806944        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     
    827965ResolvExpr/Unify.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    828966        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    829 SymTab/$(am__dirstamp):
    830         @$(MKDIR_P) SymTab
    831         @: > SymTab/$(am__dirstamp)
    832 SymTab/$(DEPDIR)/$(am__dirstamp):
    833         @$(MKDIR_P) SymTab/$(DEPDIR)
    834         @: > SymTab/$(DEPDIR)/$(am__dirstamp)
    835967SymTab/Autogen.$(OBJEXT): SymTab/$(am__dirstamp) \
    836968        SymTab/$(DEPDIR)/$(am__dirstamp)
     
    841973SymTab/Mangler.$(OBJEXT): SymTab/$(am__dirstamp) \
    842974        SymTab/$(DEPDIR)/$(am__dirstamp)
    843 SymTab/ManglerCommon.$(OBJEXT): SymTab/$(am__dirstamp) \
    844         SymTab/$(DEPDIR)/$(am__dirstamp)
    845975SymTab/Validate.$(OBJEXT): SymTab/$(am__dirstamp) \
    846976        SymTab/$(DEPDIR)/$(am__dirstamp)
    847 SymTab/Demangle.$(OBJEXT): SymTab/$(am__dirstamp) \
    848         SymTab/$(DEPDIR)/$(am__dirstamp)
    849 SynTree/$(am__dirstamp):
    850         @$(MKDIR_P) SynTree
    851         @: > SynTree/$(am__dirstamp)
    852 SynTree/$(DEPDIR)/$(am__dirstamp):
    853         @$(MKDIR_P) SynTree/$(DEPDIR)
    854         @: > SynTree/$(DEPDIR)/$(am__dirstamp)
    855 SynTree/Type.$(OBJEXT): SynTree/$(am__dirstamp) \
    856         SynTree/$(DEPDIR)/$(am__dirstamp)
    857 SynTree/VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \
    858         SynTree/$(DEPDIR)/$(am__dirstamp)
    859 SynTree/BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \
    860         SynTree/$(DEPDIR)/$(am__dirstamp)
    861 SynTree/PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \
    862         SynTree/$(DEPDIR)/$(am__dirstamp)
    863 SynTree/ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \
    864         SynTree/$(DEPDIR)/$(am__dirstamp)
    865 SynTree/ReferenceType.$(OBJEXT): SynTree/$(am__dirstamp) \
    866         SynTree/$(DEPDIR)/$(am__dirstamp)
    867 SynTree/FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \
    868         SynTree/$(DEPDIR)/$(am__dirstamp)
    869 SynTree/ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \
    870         SynTree/$(DEPDIR)/$(am__dirstamp)
    871 SynTree/TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \
    872         SynTree/$(DEPDIR)/$(am__dirstamp)
    873 SynTree/TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \
    874         SynTree/$(DEPDIR)/$(am__dirstamp)
    875 SynTree/AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \
    876         SynTree/$(DEPDIR)/$(am__dirstamp)
    877 SynTree/VarArgsType.$(OBJEXT): SynTree/$(am__dirstamp) \
    878         SynTree/$(DEPDIR)/$(am__dirstamp)
    879 SynTree/ZeroOneType.$(OBJEXT): SynTree/$(am__dirstamp) \
    880         SynTree/$(DEPDIR)/$(am__dirstamp)
    881 SynTree/Constant.$(OBJEXT): SynTree/$(am__dirstamp) \
    882         SynTree/$(DEPDIR)/$(am__dirstamp)
    883 SynTree/Expression.$(OBJEXT): SynTree/$(am__dirstamp) \
    884         SynTree/$(DEPDIR)/$(am__dirstamp)
    885 SynTree/TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    886         SynTree/$(DEPDIR)/$(am__dirstamp)
    887 SynTree/CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    888         SynTree/$(DEPDIR)/$(am__dirstamp)
    889 SynTree/TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    890         SynTree/$(DEPDIR)/$(am__dirstamp)
    891 SynTree/ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    892         SynTree/$(DEPDIR)/$(am__dirstamp)
    893 SynTree/AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    894         SynTree/$(DEPDIR)/$(am__dirstamp)
    895 SynTree/Statement.$(OBJEXT): SynTree/$(am__dirstamp) \
    896         SynTree/$(DEPDIR)/$(am__dirstamp)
    897 SynTree/CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
    898         SynTree/$(DEPDIR)/$(am__dirstamp)
    899 SynTree/DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
    900         SynTree/$(DEPDIR)/$(am__dirstamp)
    901 SynTree/Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \
    902         SynTree/$(DEPDIR)/$(am__dirstamp)
    903 SynTree/DeclarationWithType.$(OBJEXT): SynTree/$(am__dirstamp) \
    904         SynTree/$(DEPDIR)/$(am__dirstamp)
    905 SynTree/ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    906         SynTree/$(DEPDIR)/$(am__dirstamp)
    907 SynTree/FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    908         SynTree/$(DEPDIR)/$(am__dirstamp)
    909 SynTree/AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    910         SynTree/$(DEPDIR)/$(am__dirstamp)
    911 SynTree/NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    912         SynTree/$(DEPDIR)/$(am__dirstamp)
    913 SynTree/TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    914         SynTree/$(DEPDIR)/$(am__dirstamp)
    915 SynTree/Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \
    916         SynTree/$(DEPDIR)/$(am__dirstamp)
    917 SynTree/TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \
    918         SynTree/$(DEPDIR)/$(am__dirstamp)
    919 SynTree/Attribute.$(OBJEXT): SynTree/$(am__dirstamp) \
    920         SynTree/$(DEPDIR)/$(am__dirstamp)
    921 SynTree/DeclReplacer.$(OBJEXT): SynTree/$(am__dirstamp) \
    922         SynTree/$(DEPDIR)/$(am__dirstamp)
    923977Tuples/$(am__dirstamp):
    924978        @$(MKDIR_P) Tuples
     
    927981        @$(MKDIR_P) Tuples/$(DEPDIR)
    928982        @: > Tuples/$(DEPDIR)/$(am__dirstamp)
     983Tuples/Explode.$(OBJEXT): Tuples/$(am__dirstamp) \
     984        Tuples/$(DEPDIR)/$(am__dirstamp)
    929985Tuples/TupleAssignment.$(OBJEXT): Tuples/$(am__dirstamp) \
    930986        Tuples/$(DEPDIR)/$(am__dirstamp)
    931987Tuples/TupleExpansion.$(OBJEXT): Tuples/$(am__dirstamp) \
    932         Tuples/$(DEPDIR)/$(am__dirstamp)
    933 Tuples/Explode.$(OBJEXT): Tuples/$(am__dirstamp) \
    934988        Tuples/$(DEPDIR)/$(am__dirstamp)
    935989Validate/$(am__dirstamp):
     
    10141068        Concurrency/$(DEPDIR)/$(am__dirstamp)
    10151069Common/DebugMalloc.$(OBJEXT): Common/$(am__dirstamp) \
     1070        Common/$(DEPDIR)/$(am__dirstamp)
     1071Common/Heap.$(OBJEXT): Common/$(am__dirstamp) \
    10161072        Common/$(DEPDIR)/$(am__dirstamp)
    10171073ControlStruct/ExceptTranslate.$(OBJEXT):  \
     
    10841140        -rm -f CodeTools/*.$(OBJEXT)
    10851141        -rm -f Common/*.$(OBJEXT)
    1086         -rm -f Common/Stats/*.$(OBJEXT)
    10871142        -rm -f Concurrency/*.$(OBJEXT)
    10881143        -rm -f ControlStruct/*.$(OBJEXT)
     
    11151170@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/DebugMalloc.Po@am__quote@
    11161171@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/Eval.Po@am__quote@
     1172@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/Heap.Po@am__quote@
    11171173@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/SemanticError.Po@am__quote@
    11181174@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/UniqueName.Po@am__quote@
    1119 @AMDEP_TRUE@@am__include@ @am__quote@Common/Stats/$(DEPDIR)/Counter.Po@am__quote@
    1120 @AMDEP_TRUE@@am__include@ @am__quote@Common/Stats/$(DEPDIR)/Heap.Po@am__quote@
    11211175@AMDEP_TRUE@@am__include@ @am__quote@Concurrency/$(DEPDIR)/Keywords.Po@am__quote@
    11221176@AMDEP_TRUE@@am__include@ @am__quote@Concurrency/$(DEPDIR)/Waitfor.Po@am__quote@
     
    13801434        -rm -f Common/$(DEPDIR)/$(am__dirstamp)
    13811435        -rm -f Common/$(am__dirstamp)
    1382         -rm -f Common/Stats/$(DEPDIR)/$(am__dirstamp)
    1383         -rm -f Common/Stats/$(am__dirstamp)
    13841436        -rm -f Concurrency/$(DEPDIR)/$(am__dirstamp)
    13851437        -rm -f Concurrency/$(am__dirstamp)
     
    14191471
    14201472distclean: distclean-am
    1421         -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) CodeTools/$(DEPDIR) Common/$(DEPDIR) Common/Stats/$(DEPDIR) Concurrency/$(DEPDIR) ControlStruct/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) Validate/$(DEPDIR) Virtual/$(DEPDIR)
     1473        -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) CodeTools/$(DEPDIR) Common/$(DEPDIR) Concurrency/$(DEPDIR) ControlStruct/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) Validate/$(DEPDIR) Virtual/$(DEPDIR)
    14221474        -rm -f Makefile
    14231475distclean-am: clean-am distclean-compile distclean-generic \
     
    14651517
    14661518maintainer-clean: maintainer-clean-am
    1467         -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) CodeTools/$(DEPDIR) Common/$(DEPDIR) Common/Stats/$(DEPDIR) Concurrency/$(DEPDIR) ControlStruct/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) Validate/$(DEPDIR) Virtual/$(DEPDIR)
     1519        -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) CodeTools/$(DEPDIR) Common/$(DEPDIR) Concurrency/$(DEPDIR) ControlStruct/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR) Validate/$(DEPDIR) Virtual/$(DEPDIR)
    14681520        -rm -f Makefile
    14691521maintainer-clean-am: distclean-am maintainer-clean-generic
  • src/Parser/TypeData.h

    r0050a5f rf56c32e  
    3131        struct Aggregate_t {
    3232                DeclarationNode::Aggregate kind;
    33                 const std::string * name = nullptr;
    34                 DeclarationNode * params = nullptr;
    35                 ExpressionNode * actuals = nullptr;                                             // holds actual parameters later applied to AggInst
    36                 DeclarationNode * fields = nullptr;
     33                const std::string * name;
     34                DeclarationNode * params;
     35                ExpressionNode * actuals;                                               // holds actual parameters later applied to AggInst
     36                DeclarationNode * fields;
    3737                bool body;
    3838                bool anon;
    3939
    4040                bool tagged;
    41                 const std::string * parent = nullptr;
     41                const std::string * parent;
    4242        };
    4343
    4444        struct AggInst_t {
    45                 TypeData * aggregate = nullptr;
    46                 ExpressionNode * params = nullptr;
     45                TypeData * aggregate;
     46                ExpressionNode * params;
    4747                bool hoistType;
    4848        };
    4949
    5050        struct Array_t {
    51                 ExpressionNode * dimension = nullptr;
     51                ExpressionNode * dimension;
    5252                bool isVarLen;
    5353                bool isStatic;
     
    5555
    5656        struct Enumeration_t {
    57                 const std::string * name = nullptr;
    58                 DeclarationNode * constants = nullptr;
     57                const std::string * name;
     58                DeclarationNode * constants;
    5959                bool body;
    6060                bool anon;
     
    6262
    6363        struct Function_t {
    64                 mutable DeclarationNode * params = nullptr;                             // mutables modified in buildKRFunction
    65                 mutable DeclarationNode * idList = nullptr;                             // old-style
    66                 mutable DeclarationNode * oldDeclList = nullptr;
    67                 StatementNode * body = nullptr;
    68                 ExpressionNode * withExprs = nullptr;                                           // expressions from function's with_clause
     64                mutable DeclarationNode * params;                               // mutables modified in buildKRFunction
     65                mutable DeclarationNode * idList;                               // old-style
     66                mutable DeclarationNode * oldDeclList;
     67                StatementNode * body;
     68                ExpressionNode * withExprs;                                             // expressions from function's with_clause
    6969        };
    7070
    7171        struct Symbolic_t {
    72                 const std::string * name = nullptr;
     72                const std::string * name;
    7373                bool isTypedef;                                                                 // false => TYPEGENname, true => TYPEDEFname
    74                 DeclarationNode * params = nullptr;
    75                 ExpressionNode * actuals = nullptr;
    76                 DeclarationNode * assertions = nullptr;
     74                DeclarationNode * params;
     75                ExpressionNode * actuals;
     76                DeclarationNode * assertions;
    7777        };
    7878
    7979        struct Qualified_t {                                                            // qualified type S.T
    80                 TypeData * parent = nullptr;
    81                 TypeData * child = nullptr;
     80                TypeData * parent;
     81                TypeData * child;
    8282        };
    8383
     
    9393
    9494        Type::Qualifiers qualifiers;
    95         DeclarationNode * forall = nullptr;
     95        DeclarationNode * forall;
    9696
    9797        Aggregate_t aggregate;
     
    102102        Symbolic_t symbolic;
    103103        Qualified_t qualified;
    104         DeclarationNode * tuple = nullptr;
    105         ExpressionNode * typeexpr = nullptr;
     104        DeclarationNode * tuple;
     105        ExpressionNode * typeexpr;
    106106
    107107        TypeData( Kind k = Unknown );
  • src/Parser/module.mk

    r0050a5f rf56c32e  
    3131       Parser/parserutility.cc
    3232
    33 SRCDEMANGLE += \
    34         Parser/LinkageSpec.cc
    35 
    36 
    3733MOSTLYCLEANFILES += Parser/lex.cc Parser/parser.cc Parser/parser.hh Parser/parser.output
  • src/ResolvExpr/CommonType.cc

    r0050a5f rf56c32e  
    177177
    178178        // GENERATED START, DO NOT EDIT
    179         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     179        // GENERATED BY BasicTypes-gen.cc
    180180        #define BT BasicType::
    181181        static const BasicType::Kind commonTypes[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // nearest common ancestor
  • src/ResolvExpr/ConversionCost.cc

    r0050a5f rf56c32e  
    182182
    183183        // GENERATED START, DO NOT EDIT
    184         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     184        // GENERATED BY BasicTypes-gen.cc
    185185        /* EXTENDED INTEGRAL RANK HIERARCHY (root to leaves)
    186186                                 _Bool
     
    207207
    208208        // GENERATED START, DO NOT EDIT
    209         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     209        // GENERATED BY BasicTypes-gen.cc
    210210        static const int costMatrix[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // path length from root to node
    211211                /*             B    C   SC   UC   SI  SUI    I   UI   LI  LUI  LLI LLUI   IB  UIB  _FH  _FH   _F  _FC    F   FC  _FX _FXC   FD _FDC    D   DC F80X_FDXC  F80  _FB_FLDC   FB   LD  LDC _FBX_FLDXC */
     
    254254
    255255        // GENERATED START, DO NOT EDIT
    256         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     256        // GENERATED BY BasicTypes-gen.cc
    257257        static const int signMatrix[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // number of sign changes in safe conversion
    258258                /*             B    C   SC   UC   SI  SUI    I   UI   LI  LUI  LLI LLUI   IB  UIB  _FH  _FH   _F  _FC    F   FC  _FX _FXC   FD _FDC    D   DC F80X_FDXC  F80  _FB_FLDC   FB   LD  LDC _FBX_FLDXC */
  • src/ResolvExpr/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC_RESOLVEXPR = \
    18       ResolvExpr/AdjustExprType.cc \
    19       ResolvExpr/Alternative.cc \
    20       ResolvExpr/AlternativeFinder.cc \
    21       ResolvExpr/CastCost.cc \
    22       ResolvExpr/CommonType.cc \
    23       ResolvExpr/ConversionCost.cc \
    24       ResolvExpr/CurrentObject.cc \
    25       ResolvExpr/ExplodedActual.cc \
    26       ResolvExpr/FindOpenVars.cc \
    27       ResolvExpr/Occurs.cc \
    28       ResolvExpr/PolyCost.cc \
    29       ResolvExpr/PtrsAssignable.cc \
    30       ResolvExpr/PtrsCastable.cc \
    31       ResolvExpr/RenameVars.cc \
    32       ResolvExpr/ResolveAssertions.cc \
    33       ResolvExpr/Resolver.cc \
    34       ResolvExpr/ResolveTypeof.cc \
    35       ResolvExpr/SpecCost.cc \
    36       ResolvExpr/TypeEnvironment.cc \
    37       ResolvExpr/Unify.cc
    38 
    39 SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc
    40 SRCDEMANGLE += $(SRC_RESOLVEXPR)
     17SRC += ResolvExpr/AlternativeFinder.cc \
     18       ResolvExpr/Alternative.cc \
     19       ResolvExpr/Unify.cc \
     20       ResolvExpr/PtrsAssignable.cc \
     21       ResolvExpr/CommonType.cc \
     22       ResolvExpr/ConversionCost.cc \
     23       ResolvExpr/CastCost.cc \
     24       ResolvExpr/PtrsCastable.cc \
     25       ResolvExpr/AdjustExprType.cc \
     26       ResolvExpr/AlternativePrinter.cc \
     27       ResolvExpr/Resolver.cc \
     28       ResolvExpr/ResolveTypeof.cc \
     29       ResolvExpr/RenameVars.cc \
     30       ResolvExpr/FindOpenVars.cc \
     31       ResolvExpr/PolyCost.cc \
     32       ResolvExpr/Occurs.cc \
     33       ResolvExpr/TypeEnvironment.cc \
     34       ResolvExpr/CurrentObject.cc \
     35       ResolvExpr/ExplodedActual.cc \
     36       ResolvExpr/SpecCost.cc \
     37       ResolvExpr/ResolveAssertions.cc
  • src/SymTab/Indexer.cc

    r0050a5f rf56c32e  
    2626#include "Common/SemanticError.h"  // for SemanticError
    2727#include "Common/utility.h"        // for cloneAll
    28 #include "Common/Stats/Counter.h" // for counters
    2928#include "GenPoly/GenPoly.h"
    3029#include "InitTweak/InitTweak.h"   // for isConstructor, isCopyFunction, isC...
     
    4241
    4342namespace SymTab {
    44 
    45         // Statistics block
    46         namespace {
    47                 auto idtable_group = new Stats::Counters::CounterGroup("IdTable");
    48                 auto idtable_find  = new Stats::Counters::SimpleCounter("Find calls", idtable_group);
    49                 auto idtable_size  = new Stats::Counters::AverageCounter<double>("Average Size", idtable_group);
    50                 auto idtable_key   = new Stats::Counters::AverageCounter<double>("Average Key Size", idtable_group);
    51 
    52                 auto indexers_group = new Stats::Counters::CounterGroup("Indexers");
    53                 auto indexers_count = new Stats::Counters::SimpleCounter("Count", indexers_group);
    54                 auto indexers_size  = new Stats::Counters::AverageCounter<double>("Average Size", indexers_group);
    55                 auto indexers_depth_a  = new Stats::Counters::AverageCounter<double>("Average Depth", indexers_group);
    56                 auto indexers_depth_m  = new Stats::Counters::MaxCounter<size_t>("Max Depth", indexers_group);
    57         }
    58 
    5943        std::ostream & operator<<( std::ostream & out, const Indexer::IdData & data ) {
    6044                return out << "(" << data.id << "," << data.baseExpr << ")";
     
    213197        }
    214198
    215         Indexer::Indexer() : tables( 0 ), scope( 0 ) {
    216                 (*indexers_count)++;
    217         }
    218 
    219         Indexer::Indexer( const Indexer &that ) : doDebug( that.doDebug ), tables( newRef( that.tables ) ), scope( that.scope ) {
    220                 (*indexers_count)++;
    221         }
     199        Indexer::Indexer() : tables( 0 ), scope( 0 ) {}
     200
     201        Indexer::Indexer( const Indexer &that ) : doDebug( that.doDebug ), tables( newRef( that.tables ) ), scope( that.scope ) {}
    222202
    223203        Indexer::Indexer( Indexer &&that ) : doDebug( that.doDebug ), tables( that.tables ), scope( that.scope ) {
     
    226206
    227207        Indexer::~Indexer() {
    228                 if(tables) {
    229                         indexers_size->push( tables->idTable.size() );
    230                         size_t depth = 1;
    231                         for( auto crnt = tables->base.tables; crnt; crnt = crnt->base.tables ) {
    232                                 ++depth;
    233                         }
    234                         indexers_depth_a->push( depth );
    235                         indexers_depth_m->push( depth );
    236                 }
    237208                deleteRef( tables );
    238209        }
     
    266237                while ( searchTables ) {
    267238
    268                         (*idtable_find)++;
    269                         idtable_key->push( id.size() );
    270                         idtable_size->push( searchTables->idTable.size() );
    271239                        IdTable::const_iterator decls = searchTables->idTable.find( id );
    272240                        if ( decls != searchTables->idTable.end() ) {
     
    345313                if ( tables->scope < scope ) return nullptr;
    346314
    347                 (*idtable_find)++;
    348                 idtable_key->push( id.size() );
    349                 idtable_size->push( tables->idTable.size() );
    350315                IdTable::const_iterator decls = tables->idTable.find( id );
    351316                if ( decls != tables->idTable.end() ) {
     
    366331                if ( tables->scope < scope ) return false;
    367332
    368                 (*idtable_find)++;
    369                 idtable_key->push( id.size() );
    370                 idtable_size->push( tables->idTable.size() );
    371333                IdTable::const_iterator decls = tables->idTable.find( id );
    372334                if ( decls != tables->idTable.end() ) {
     
    385347                if ( tables->scope < scope ) return false;
    386348
    387                 (*idtable_find)++;
    388                 idtable_key->push( id.size() );
    389                 idtable_size->push( tables->idTable.size() );
    390349                IdTable::const_iterator decls = tables->idTable.find( id );
    391350                if ( decls != tables->idTable.end() ) {
  • src/SymTab/ManglerCommon.cc

    r0050a5f rf56c32e  
    2424
    2525                        // GENERATED START, DO NOT EDIT
    26                         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     26                        // GENERATED BY BasicTypes-gen.cc
    2727                        // NOTES ON MANGLING:
    2828                        // * Itanium spec says that Float80 encodes to "e" (like LongDouble), but the distinct lengths cause resolution problems.
  • src/SymTab/Validate.cc

    r0050a5f rf56c32e  
    4949#include "CodeGen/OperatorTable.h"     // for isCtorDtor, isCtorDtorAssign
    5050#include "ControlStruct/Mutate.h"      // for ForExprMutator
    51 #include "Common/Stats.h"              // for Stats::Heap
    5251#include "Common/PassVisitor.h"        // for PassVisitor, WithDeclsToAdd
    5352#include "Common/ScopedMap.h"          // for ScopedMap
     
    304303                PassVisitor<FixQualifiedTypes> fixQual;
    305304
    306                 Stats::Heap::newPass("validate-A");
    307305                acceptAll( translationUnit, hoistDecls );
    308306                ReplaceTypedef::replaceTypedef( translationUnit );
    309307                ReturnTypeFixer::fix( translationUnit ); // must happen before autogen
    310308                acceptAll( translationUnit, epc ); // must happen before VerifyCtorDtorAssign, because void return objects should not exist; before LinkReferenceToTypes because it is an indexer and needs correct types for mangling
    311                 Stats::Heap::newPass("validate-B");
    312309                acceptAll( translationUnit, lrt ); // must happen before autogen, because sized flag needs to propagate to generated functions
    313310                mutateAll( translationUnit, fixQual ); // must happen after LinkReferenceToTypes, because aggregate members are accessed
    314311                HoistStruct::hoistStruct( translationUnit ); // must happen after EliminateTypedef, so that aggregate typedefs occur in the correct order
    315312                EliminateTypedef::eliminateTypedef( translationUnit ); //
    316                 Stats::Heap::newPass("validate-C");
    317313                acceptAll( translationUnit, genericParams );  // check as early as possible - can't happen before LinkReferenceToTypes
    318314                VerifyCtorDtorAssign::verify( translationUnit );  // must happen before autogen, because autogen examines existing ctor/dtors
    319315                ReturnChecker::checkFunctionReturns( translationUnit );
    320316                InitTweak::fixReturnStatements( translationUnit ); // must happen before autogen
    321                 Stats::Heap::newPass("validate-D");
    322317                Concurrency::applyKeywords( translationUnit );
    323318                acceptAll( translationUnit, fpd ); // must happen before autogenerateRoutines, after Concurrency::applyKeywords because uniqueIds must be set on declaration before resolution
    324319                ControlStruct::hoistControlDecls( translationUnit );  // hoist initialization out of for statements; must happen before autogenerateRoutines
    325320                autogenerateRoutines( translationUnit ); // moved up, used to be below compoundLiteral - currently needs EnumAndPointerDecay
    326                 Stats::Heap::newPass("validate-E");
    327321                Concurrency::implementMutexFuncs( translationUnit );
    328322                Concurrency::implementThreadStarter( translationUnit );
    329323                mutateAll( translationUnit, compoundliteral );
    330324                ResolvExpr::resolveWithExprs( translationUnit ); // must happen before FixObjectType because user-code is resolved and may contain with variables
    331                 Stats::Heap::newPass("validate-F");
    332325                FixObjectType::fix( translationUnit );
    333326                ArrayLength::computeLength( translationUnit );
  • src/SymTab/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC_SYMTAB = \
    18       SymTab/Autogen.cc \
    19       SymTab/FixFunction.cc \
    20       SymTab/Indexer.cc \
    21       SymTab/Mangler.cc \
    22       SymTab/ManglerCommon.cc \
    23       SymTab/Validate.cc
    24 
    25 SRC += $(SRC_SYMTAB)
    26 SRCDEMANGLE += $(SRC_SYMTAB) SymTab/Demangle.cc
     17SRC += SymTab/Indexer.cc \
     18       SymTab/Mangler.cc \
     19       SymTab/ManglerCommon.cc \
     20       SymTab/Validate.cc \
     21       SymTab/FixFunction.cc \
     22       SymTab/Autogen.cc
  • src/SynTree/Type.h

    r0050a5f rf56c32e  
    208208  public:
    209209        // GENERATED START, DO NOT EDIT
    210         // GENERATED BY ../../main/src/BasicTypes-gen.cc
     210        // GENERATED BY BasicTypes-gen.cc
    211211        enum Kind {
    212212                Bool,
  • src/SynTree/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC_SYNTREE = \
    18       SynTree/Type.cc \
    19       SynTree/VoidType.cc \
    20       SynTree/BasicType.cc \
    21       SynTree/PointerType.cc \
    22       SynTree/ArrayType.cc \
    23       SynTree/ReferenceType.cc \
    24       SynTree/FunctionType.cc \
    25       SynTree/ReferenceToType.cc \
    26       SynTree/TupleType.cc \
    27       SynTree/TypeofType.cc \
    28       SynTree/AttrType.cc \
    29       SynTree/VarArgsType.cc \
    30       SynTree/ZeroOneType.cc \
    31       SynTree/Constant.cc \
    32       SynTree/Expression.cc \
    33       SynTree/TupleExpr.cc \
    34       SynTree/CommaExpr.cc \
    35       SynTree/TypeExpr.cc \
    36       SynTree/ApplicationExpr.cc \
    37       SynTree/AddressExpr.cc \
    38       SynTree/Statement.cc \
    39       SynTree/CompoundStmt.cc \
    40       SynTree/DeclStmt.cc \
    41       SynTree/Declaration.cc \
    42       SynTree/DeclarationWithType.cc \
    43       SynTree/ObjectDecl.cc \
    44       SynTree/FunctionDecl.cc \
    45       SynTree/AggregateDecl.cc \
    46       SynTree/NamedTypeDecl.cc \
    47       SynTree/TypeDecl.cc \
    48       SynTree/Initializer.cc \
    49       SynTree/TypeSubstitution.cc \
    50       SynTree/Attribute.cc \
    51       SynTree/DeclReplacer.cc
     17SRC += SynTree/Type.cc \
     18       SynTree/VoidType.cc \
     19       SynTree/BasicType.cc \
     20       SynTree/PointerType.cc \
     21       SynTree/ArrayType.cc \
     22       SynTree/ReferenceType.cc \
     23       SynTree/FunctionType.cc \
     24       SynTree/ReferenceToType.cc \
     25       SynTree/TupleType.cc \
     26       SynTree/TypeofType.cc \
     27       SynTree/AttrType.cc \
     28       SynTree/VarArgsType.cc \
     29       SynTree/ZeroOneType.cc \
     30       SynTree/Constant.cc \
     31       SynTree/Expression.cc \
     32       SynTree/TupleExpr.cc \
     33       SynTree/CommaExpr.cc \
     34       SynTree/TypeExpr.cc \
     35       SynTree/ApplicationExpr.cc \
     36       SynTree/AddressExpr.cc \
     37       SynTree/Statement.cc \
     38       SynTree/CompoundStmt.cc \
     39       SynTree/DeclStmt.cc \
     40       SynTree/Declaration.cc \
     41       SynTree/DeclarationWithType.cc \
     42       SynTree/ObjectDecl.cc \
     43       SynTree/FunctionDecl.cc \
     44       SynTree/AggregateDecl.cc \
     45       SynTree/NamedTypeDecl.cc \
     46       SynTree/TypeDecl.cc \
     47       SynTree/Initializer.cc \
     48       SynTree/TypeSubstitution.cc \
     49       SynTree/Attribute.cc \
     50       SynTree/DeclReplacer.cc
    5251
    53 SRC += $(SRC_SYNTREE)
    54 SRCDEMANGLE += $(SRC_SYNTREE)
  • src/Tuples/module.mk

    r0050a5f rf56c32e  
    1515###############################################################################
    1616
    17 SRC += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc
    18 SRCDEMANGLE += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc
     17SRC +=  Tuples/TupleAssignment.cc \
     18        Tuples/TupleExpansion.cc \
     19        Tuples/Explode.cc
  • src/Validate/module.mk

    r0050a5f rf56c32e  
    1616
    1717SRC += Validate/HandleAttributes.cc
    18 SRCDEMANGLE += Validate/HandleAttributes.cc
  • src/main.cc

    r0050a5f rf56c32e  
    3737#include "CodeTools/TrackLoc.h"             // for fillLocations
    3838#include "Common/CompilerError.h"           // for CompilerError
    39 #include "Common/Stats.h"
     39#include "Common/Heap.h"
    4040#include "Common/PassVisitor.h"
    4141#include "Common/SemanticError.h"           // for SemanticError
     
    6767#define PASS(name, pass)                   \
    6868        if ( errorp ) { cerr << name << endl; } \
    69         Stats::Heap::newPass(name);               \
     69        HeapStats::newPass(name);               \
    7070        pass;
    7171
     
    377377
    378378        deleteAll( translationUnit );
    379         if(!libcfap && !treep) {
    380                 if(stats_counters) Stats::Counters::print();
    381                 if(stats_heap) Stats::Heap::print();
    382         }
    383 
     379        if(!libcfap && !treep) HeapStats::printStats();
    384380        return 0;
    385381} // main
    386382
    387383void parse_cmdline( int argc, char * argv[], const char *& filename ) {
    388         enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, ResolvProto, Stats, Symbol, Tree, TupleExpansion, Validate};
     384        enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, ResolvProto, Symbol, Tree, TupleExpansion, Validate, };
    389385
    390386        static struct option long_opts[] = {
     
    406402                { "resolver", no_argument, 0, Resolver },
    407403                { "resolv-proto", no_argument, 0, ResolvProto },
    408                 { "stats", required_argument, 0, Stats },
    409404                { "symbol", no_argument, 0, Symbol },
    410405                { "tree", no_argument, 0, Tree },
     
    494489                  case 'R':                                                                             // dump resolv-proto instance
    495490                        resolvprotop = true;
    496                         break;
    497                   case Stats:
    498                         {
    499                                 std::stringstream ss(optarg);
    500                                 while(ss.good()) {
    501                                         std::string substr;
    502                                         getline( ss, substr, ',' );
    503                                         if(substr == "counters") {
    504                                                 stats_counters = true;
    505                                         } else if(substr == "heap") {
    506                                                 stats_heap = true;
    507                                         } else if(substr == "none") {
    508                                                 stats_counters = false;
    509                                                 stats_heap = false;
    510                                         } else {
    511                                                 std::cerr << "Ignoring unknown statistic " << substr << std::endl;
    512                                         }
    513                                 }
    514 
    515                         }
    516491                        break;
    517492                  case Symbol:
Note: See TracChangeset for help on using the changeset viewer.