Changeset 3b3491b for src/main.cc


Ignore:
Timestamp:
Sep 12, 2018, 4:59:56 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
b181639
Parents:
67982887
Message:

Add first draft of resolver prototype dumper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main.cc

    r67982887 r3b3491b  
    3434#include "CodeGen/Generate.h"               // for generate
    3535#include "CodeTools/DeclStats.h"            // for printDeclStats
     36#include "CodeTools/ResolvProtoDump.h"      // for dumpAsResolvProto
    3637#include "CodeTools/TrackLoc.h"             // for fillLocations
    3738#include "Common/CompilerError.h"           // for CompilerError
     
    271272                CodeTools::fillLocations( translationUnit );
    272273
     274                if ( resolvprotop ) {
     275                        CodeTools::dumpAsResolvProto( translationUnit );
     276                        return 0;
     277                }
     278
    273279                PASS( "resolve", ResolvExpr::resolve( translationUnit ) );
    274280                if ( exprp ) {
     
    376382
    377383void parse_cmdline( int argc, char * argv[], const char *& filename ) {
    378         enum { Ast, Bbox, Bresolver, CtorInitFix, DeclStats, Expr, ExprAlt, Grammar, LibCFA, Linemarks, Nolinemarks, Nopreamble, Parse, PreludeDir, Prototypes, Resolver, 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, };
    379385
    380386        static struct option long_opts[] = {
     
    395401                { "no-prototypes", no_argument, 0, Prototypes },
    396402                { "resolver", no_argument, 0, Resolver },
     403                { "resolv-proto", no_argument, 0, ResolvProto },
    397404                { "symbol", no_argument, 0, Symbol },
    398405                { "tree", no_argument, 0, Tree },
     
    407414        bool Wsuppress = false, Werror = false;
    408415        int c;
    409         while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) {
     416        while ( (c = getopt_long( argc, argv, "abBcCdefgGlLmnNpqrRstTvwW:yzZD:F:", long_opts, &long_index )) != -1 ) {
    410417                switch ( c ) {
    411418                  case Ast:
     
    479486                  case 'r':                                                                             // print resolver steps
    480487                        resolvep = true;
     488                        break;
     489                        case 'R':                                                                               // dump resolv-proto instance
     490                        resolvprotop = true;
    481491                        break;
    482492                  case Symbol:
Note: See TracChangeset for help on using the changeset viewer.