Changeset a49a11b


Ignore:
Timestamp:
Jun 29, 2017, 3:28:08 PM (4 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
fe5c01d
Parents:
288eede (diff), 0d78043 (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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/main.cc

    r288eede ra49a11b  
    1111// Created On       : Fri May 15 23:12:02 2015
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Wed Jun 28 21:56:47 2017
    14 // Update Count     : 440
     13// Last Modified On : Thu Jun 29 12:46:50 2017
     14// Update Count     : 441
    1515//
    1616
     
    481481                        break;
    482482                  case '?':
    483                         assertf( false, "Unknown option: '%c'\n", (char)optopt );
     483                        if ( optopt ) {                                                         // short option ?
     484                                assertf( false, "Unknown option: -%c\n", (char)optopt );
     485                        } else {
     486                                assertf( false, "Unknown option: %s\n", argv[optind - 1] );
     487                        } // if
    484488                  default:
    485489                        abort();
  • src/prelude/Makefile.am

    r288eede ra49a11b  
    2323noinst_DATA = ../libcfa/libcfa-prelude.c
    2424
     25$(DEPDIR) :
     26        mkdir $(DEPDIR)
     27
     28$(DEPDIR)/builtins.Po : $(DEPDIR)
     29        touch ${@}
     30
    2531# create extra forward types/declarations to reduce inclusion of library files
    2632extras.cf : extras.regx extras.c
     
    4046# create forward declarations for cfa builtins
    4147builtins.cf : builtins.c
    42         ${AM_V_GEN}@BACKEND_CC@ -E -P ${<} -o ${@}
     48        ${AM_V_GEN}@BACKEND_CC@ -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po
     49        ${AM_V_at}sed -i 's/builtins.o/builtins.cf/g' $(DEPDIR)/builtins.Po
     50
     51include $(DEPDIR)/builtins.Po
    4352
    4453../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_srcdir}/src/driver/cfa-cpp
     
    4857        ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpmL bootloader.cf $@  # use src/cfa-cpp as not in lib until after install
    4958
     59maintainer-clean-local :
     60        rm -rf $(DEPDIR)
     61
    5062MAINTAINERCLEANFILES = gcc-builtins.c gcc-builtins.cf builtins.cf extras.cf bootloader.c ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}}
  • src/prelude/Makefile.in

    r288eede ra49a11b  
    390390maintainer-clean: maintainer-clean-am
    391391        -rm -f Makefile
    392 maintainer-clean-am: distclean-am maintainer-clean-generic
     392maintainer-clean-am: distclean-am maintainer-clean-generic \
     393        maintainer-clean-local
    393394
    394395mostlyclean: mostlyclean-am
     
    416417        install-ps install-ps-am install-strip installcheck \
    417418        installcheck-am installdirs maintainer-clean \
    418         maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
    419         pdf-am ps ps-am uninstall uninstall-am uninstall-cfalibDATA
    420 
     419        maintainer-clean-generic maintainer-clean-local mostlyclean \
     420        mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
     421        uninstall-cfalibDATA
     422
     423
     424$(DEPDIR) :
     425        mkdir $(DEPDIR)
     426
     427$(DEPDIR)/builtins.Po : $(DEPDIR)
     428        touch ${@}
    421429
    422430# create extra forward types/declarations to reduce inclusion of library files
     
    437445# create forward declarations for cfa builtins
    438446builtins.cf : builtins.c
    439         ${AM_V_GEN}@BACKEND_CC@ -E -P ${<} -o ${@}
     447        ${AM_V_GEN}@BACKEND_CC@ -E -P ${<} -o ${@} -MD -MP -MF $(DEPDIR)/builtins.Po
     448        ${AM_V_at}sed -i 's/builtins.o/builtins.cf/g' $(DEPDIR)/builtins.Po
     449
     450include $(DEPDIR)/builtins.Po
    440451
    441452../libcfa/libcfa-prelude.c : prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_srcdir}/src/driver/cfa-cpp
     
    444455bootloader.c : bootloader.cf prelude.cf extras.cf gcc-builtins.cf builtins.cf ${abs_top_srcdir}/src/driver/cfa-cpp
    445456        ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -tpmL bootloader.cf $@  # use src/cfa-cpp as not in lib until after install
     457
     458maintainer-clean-local :
     459        rm -rf $(DEPDIR)
    446460
    447461# Tell versions [3.59,3.63) of GNU make to not export all variables.
  • src/tests/preempt_longrun/Makefile.am

    r288eede ra49a11b  
    1616
    1717repeats=10
    18 max_time=10
    19 N=10ul
     18max_time=30
    2019preempt=10_000ul
    2120
    2221REPEAT = ${abs_top_srcdir}/tools/repeat -s
    2322
    24 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DN=${N} -DPREEMPTION_RATE=${preempt}
     23BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DPREEMPTION_RATE=${preempt}
    2524CFLAGS = ${BUILD_FLAGS}
    2625CC = @CFA_BINDIR@/@CFA_NAME@
  • src/tests/preempt_longrun/Makefile.in

    r288eede ra49a11b  
    178178top_srcdir = @top_srcdir@
    179179repeats = 10
    180 max_time = 10
    181 N = 10ul
     180max_time = 30
    182181preempt = 10_000ul
    183182REPEAT = ${abs_top_srcdir}/tools/repeat -s
    184 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DN=${N} -DPREEMPTION_RATE=${preempt}
     183BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DPREEMPTION_RATE=${preempt}
    185184TESTS = barge block create disjoint processor stack wait yield
    186185all: all-am
  • tools/prettyprinter/main.cc

    r288eede ra49a11b  
    11//
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
     2// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
    33//
    44// The contents of this file are covered under the licence agreement in the
     
    1010// Created On       : Wed Jun 28 22:57:26 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun 29 09:02:37 2017
    13 // Update Count     : 15
     12// Last Modified On : Thu Jun 29 13:09:32 2017
     13// Update Count     : 58
    1414//
    1515
     
    1919using namespace std;
    2020#include <unistd.h>                                                                             // close
     21#include <getopt.h>                                                                             // getopt
    2122#include "filter.h"
    2223
    2324extern FILE * yyin;
    24 extern int yylineno;
    2525extern int yydebug;
    2626extern int yyparse( void );
    2727
     28bool parse_cmdline( int argc, char * argv[] ) {
     29        enum { Html, Identity, Latex, Nocode, ParseTree, };
     30
     31        static struct option long_opts[] = {
     32                { "html", no_argument, nullptr, Html },
     33                { "identity", no_argument, nullptr, Identity },
     34                { "latex", no_argument, nullptr, Latex },
     35                { "nocode", no_argument, nullptr, Nocode },
     36                { "parse-tree", no_argument, nullptr, ParseTree },
     37                { nullptr, 0, nullptr, 0 }
     38        }; // long_opts
     39        int long_index;
     40
     41        opterr = 0;                                                                                     // (global) prevent getopt from printing error messages
     42
     43        int c;
     44        while ( (c = getopt_long( argc, argv, "hilnp", long_opts, &long_index )) != -1 ) {
     45                switch ( c ) {
     46                  case Html:
     47                  case 'h':
     48                        filter = HTML;
     49                        break;
     50                  case Identity:
     51                  case 'i':
     52                        filter = ::Identity;
     53                        break;
     54                  case Latex:
     55                  case 'l':
     56                        filter = LaTeX;
     57                        break;
     58                  case Nocode:
     59                  case 'n':
     60                        filter = ::Nocode;
     61                        break;
     62                  case ParseTree:
     63                  case 'p':
     64                        filter = Parse_Tree;
     65                  case '?':
     66                        if ( optopt ) {                                                         // short option ?
     67                                cerr << "Unknown option: -" << (char)optopt << endl;
     68                        } else {                                                                        // long option
     69                                cerr << "Unknown option: " << argv[optind - 1] << endl;
     70                        } // if
     71                        return false;
     72                  default:
     73                        abort();
     74                } // switch
     75        } // while
     76
     77        if ( optind != argc ) {                                                         // input files ?
     78                if ( optind == argc - 1 ) {                                             // any commands after the flags ? => input file name
     79                        yyin = fopen( argv[ optind ], "r" );
     80                        if ( yyin == nullptr ) {
     81                                cerr << "Open failure for input file \"" << argv[ optind ] << "\"" << endl;
     82                                return false;
     83                        } // if
     84                } else {
     85                        cerr << "Too many input files " << argv[ optind + 1 ] << endl;
     86                        return false;
     87                } // if
     88        } // if
     89        return true;
     90} // parse_cmdline
     91
    2892int main( int argc, char *argv[] ) {
    29         yyin = stdin;
     93        yyin = stdin;                                                                           // defaults
    3094        filter = Nocode;
    3195
    32         try {
    33                 switch ( argc ) {
    34                   case 3:
    35                         yyin = fopen( argv[ 2 ], "r" );
    36                         if ( yyin == nullptr ) {
    37                                 throw ios_base::failure( "unknown printer option arguments" );
    38                         } // if
    39                         // FALL THROUGH
    40                   case 2: {
    41                           string arg( argv[1] );
    42 
    43                           if ( arg == "-identity" ) {
    44                                   filter = Identity;
    45                           } else if ( arg == "-parse_tree" ) {
    46                                   filter = Parse_Tree;
    47                           } else if ( arg == "-nocode" ) {
    48                                   filter = Nocode;
    49                           } else if ( arg == "-latex" ) {
    50                                   filter = LaTeX;
    51                           } else if ( arg == "-html" ) {
    52                                   filter = HTML;
    53                           } else {
    54                                   throw ios_base::failure( "unknown printer option arguments" );
    55                           } // if
    56                           break;
    57                   }
    58                   default:
    59                         throw ios_base::failure( "wrong number of arguments" );
    60                 } // switch
    61         } catch( ios_base::failure err ) {
    62                 cerr << err.what() << endl;
    63                 cerr << "Usage: [" << argv[0]
    64                          << "-identity |"
    65                          << "-parse_tree |"
    66                          << "-nocode |"
    67                          << "-latex |"
    68                          << "-html"
     96        if ( ! parse_cmdline( argc, argv ) ) {
     97                cerr << "Usage: " << argv[0]
     98                         << " ["
     99                         << "-h/--html | "
     100                         << "-i/--identity | "
     101                         << "-l/--latex | "
     102                         << "-n/--nocode | "
     103                         << "-p/--parse-tree"
    69104                         << "] [input-file]"
    70105                         << endl;
    71106                exit( EXIT_FAILURE );                                                   // TERMINATE
    72         } // try
     107        } // if
    73108
    74109        //yydebug = 1;
Note: See TracChangeset for help on using the changeset viewer.