Changeset dfee306 for src/SymTab


Ignore:
Timestamp:
Jul 13, 2015, 2:43:46 PM (10 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
9163b9c
Parents:
85c4ef0 (diff), cff1143 (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 /u/cforall/software/cfa/cfa-cc

Location:
src/SymTab
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/FixFunction.h

    r85c4ef0 rdfee306  
    2020
    2121namespace SymTab {
     22        /// Replaces function and array types by equivalent pointer types.
    2223        class FixFunction : public Mutator {
    2324                typedef Mutator Parent;
  • src/SymTab/Validate.cc

    r85c4ef0 rdfee306  
    6060        class HoistStruct : public Visitor {
    6161          public:
     62                /// Flattens nested struct types
    6263                static void hoistStruct( std::list< Declaration * > &translationUnit );
    6364 
     
    8485        };
    8586
     87        /// Replaces enum types by int, and function or array types in function parameter and return lists by appropriate pointers
    8688        class Pass1 : public Visitor {
    8789                typedef Visitor Parent;
     
    8991                virtual void visit( FunctionType *func );
    9092        };
    91  
     93
     94        /// Associates forward declarations of aggregates with their definitions
    9295        class Pass2 : public Indexer {
    9396                typedef Indexer Parent;
     
    110113        };
    111114
     115        /// Replaces array and function types in forall lists by appropriate pointer type
    112116        class Pass3 : public Indexer {
    113117                typedef Indexer Parent;
     
    123127        class AddStructAssignment : public Visitor {
    124128          public:
     129                /// Generates assignment operators for aggregate types as required
    125130                static void addStructAssignment( std::list< Declaration * > &translationUnit );
    126131
     
    444449        }
    445450
     451        /// Fix up assertions
    446452        void forallFixer( Type *func ) {
    447                 // Fix up assertions
    448453                for ( std::list< TypeDecl * >::iterator type = func->get_forall().begin(); type != func->get_forall().end(); ++type ) {
    449454                        std::list< DeclarationWithType * > toBeDone, nextRound;
  • src/SymTab/Validate.h

    r85c4ef0 rdfee306  
    2323        class Indexer;
    2424
     25        /// Normalizes struct and function declarations
    2526        void validate( std::list< Declaration * > &translationUnit, bool doDebug = false );
    2627        void validateType( Type *type, const Indexer *indexer );
Note: See TracChangeset for help on using the changeset viewer.