Changeset 71bd8c6
- Timestamp:
- Jul 8, 2015, 4:47:08 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- e5609dd
- Parents:
- cc79d97
- Location:
- src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/GenType.cc
rcc79d97 r71bd8c6 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon Jun 8 14:36:02201513 // Update Count : 911 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jul 08 16:08:24 2015 13 // Update Count : 10 14 14 // 15 15 … … 93 93 os << "_Atomic "; 94 94 } // if 95 if ( isVarLen ) {96 os << "*";97 } // if98 95 if ( dimension != 0 ) { 99 96 CodeGenerator cg( os ); 100 97 dimension->accept( cg ); 98 } else if ( isVarLen ) { 99 // no dimension expression on a VLA 100 // means it came in with the * token 101 os << "*"; 101 102 } // if 102 103 os << "]"; -
src/Parser/DeclarationNode.cc
rcc79d97 r71bd8c6 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 12:34:05 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Fri Jul 3 12:35:02201513 // Update Count : 1 0811 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jul 08 16:40:37 2015 13 // Update Count : 121 14 14 // 15 15 … … 284 284 newnode->type->array->dimension = size; 285 285 newnode->type->array->isStatic = isStatic; 286 newnode->type->array->isVarLen = false; 286 if ( newnode->type->array->dimension == 0 || dynamic_cast<ConstantNode *>( newnode->type->array->dimension ) ) { 287 newnode->type->array->isVarLen = false; 288 } else { 289 newnode->type->array->isVarLen = true; 290 } // if 287 291 return newnode->addQualifiers( qualifiers ); 288 292 } … … 464 468 bitfieldWidth = o->bitfieldWidth; 465 469 } // if 470 471 // there may be typedefs chained onto the type 472 if ( o->get_link() ) { 473 set_link( o->get_link()->clone() ); 474 } 475 466 476 } // if 467 477 delete o; -
src/Parser/ParseNode.cc
rcc79d97 r71bd8c6 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:26:29 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jun 6 20:17:58201513 // Update Count : 2 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jul 08 14:46:45 2015 13 // Update Count : 25 14 14 // 15 15 … … 41 41 42 42 ParseNode *ParseNode::set_link( ParseNode *next_ ) { 43 ParseNode *follow;44 45 43 if ( next_ == 0 ) return this; 46 44 47 for ( follow = this; follow->next != 0; follow = follow->next ); 48 follow->next = next_; 45 get_last()->next = next_; 49 46 50 47 return this; -
src/SymTab/TypeEquality.cc
rcc79d97 r71bd8c6 10 10 // Created On : Tue Jul 07 16:28:29 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jul 08 1 3:41:53201513 // Update Count : 3 412 // Last Modified On : Wed Jul 08 16:20:09 2015 13 // Update Count : 35 14 14 // 15 15 … … 102 102 } 103 103 104 if ( ! arrayType->get_isVarLen() && ! at->get_isVarLen() ) { 105 ConstantExpr * ce1 = dynamic_cast< ConstantExpr * >( arrayType->get_dimension() ); 106 ConstantExpr * ce2 = dynamic_cast< ConstantExpr * >( at->get_dimension() ); 107 assert(ce1 && ce2); 108 109 Constant * c1 = ce1->get_constant(); 110 Constant * c2 = ce2->get_constant(); 111 112 result = result && c1->get_value() == c2->get_value(); 113 } 114 104 115 other = at->get_base(); 105 116 arrayType->get_base()->accept( *this );
Note: See TracChangeset
for help on using the changeset viewer.