Changeset 1d17939
- Timestamp:
- Jul 29, 2020, 5:12:28 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b81fd95
- Parents:
- 15806ed
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/ResolvExpr/ConversionCost.cc ¶
r15806ed r1d17939 10 10 // Created On : Sun May 17 07:06:19 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Aug 12 10:21:00 201913 // Update Count : 2 712 // Last Modified On : Wed Jul 29 16:11:00 2020 13 // Update Count : 28 14 14 // 15 15 … … 392 392 void ConversionCost::postvisit( const FunctionType * ) {} 393 393 394 void ConversionCost::postvisit( const StructInstType * inst ) {395 if ( const StructInstType * destAsInst = dynamic_cast< const StructInstType * >( dest ) ) {396 if ( inst->name == destAsInst->name ) {397 cost = Cost::zero;398 } // if399 } // if400 }401 402 void ConversionCost::postvisit( const UnionInstType * inst ) {403 if ( const UnionInstType * destAsInst = dynamic_cast< const UnionInstType * >( dest ) ) {404 if ( inst->name == destAsInst->name ) {405 cost = Cost::zero;406 } // if407 } // if408 }409 410 394 void ConversionCost::postvisit( const EnumInstType * ) { 411 395 static Type::Qualifiers q; … … 681 665 } 682 666 683 void ConversionCost_new::postvisit( const ast::StructInstType * structInstType ) {684 if ( const ast::StructInstType * dstAsInst =685 dynamic_cast< const ast::StructInstType * >( dst ) ) {686 if ( structInstType->name == dstAsInst->name ) {687 cost = Cost::zero;688 }689 }690 }691 692 void ConversionCost_new::postvisit( const ast::UnionInstType * unionInstType ) {693 if ( const ast::UnionInstType * dstAsInst =694 dynamic_cast< const ast::UnionInstType * >( dst ) ) {695 if ( unionInstType->name == dstAsInst->name ) {696 cost = Cost::zero;697 }698 }699 }700 701 667 void ConversionCost_new::postvisit( const ast::EnumInstType * enumInstType ) { 702 668 (void)enumInstType; -
TabularUnified src/ResolvExpr/ConversionCost.h ¶
r15806ed r1d17939 10 10 // Created On : Sun May 17 09:37:28 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Thu Aug 8 16:13:00 201913 // Update Count : 612 // Last Modified On : Wed Jul 29 16:12:00 2020 13 // Update Count : 7 14 14 // 15 15 … … 51 51 void postvisit( const ReferenceType * refType ); 52 52 void postvisit( const FunctionType * functionType ); 53 void postvisit( const StructInstType * aggregateUseType );54 void postvisit( const UnionInstType * aggregateUseType );55 53 void postvisit( const EnumInstType * aggregateUseType ); 56 54 void postvisit( const TraitInstType * aggregateUseType ); … … 102 100 void postvisit( const ast::ReferenceType * refType ); 103 101 void postvisit( const ast::FunctionType * functionType ); 104 void postvisit( const ast::StructInstType * structInstType );105 void postvisit( const ast::UnionInstType * unionInstType );106 102 void postvisit( const ast::EnumInstType * enumInstType ); 107 103 void postvisit( const ast::TraitInstType * traitInstType ); -
TabularUnified tests/.expect/castError.txt ¶
r15806ed r1d17939 1 castError.cfa:2 1:1 error: Cannot choose between 3 alternatives for expression1 castError.cfa:23:1 error: Cannot choose between 3 alternatives for expression 2 2 Explicit Cast of: 3 3 Name: f … … 35 35 36 36 37 castError.cfa:2 6:1 error: Cannot choose between 2 alternatives for expression37 castError.cfa:28:1 error: Cannot choose between 2 alternatives for expression 38 38 Generated Cast of: 39 39 Comma Expression: … … 62 62 63 63 64 castError.cfa:30:1 error: No reasonable alternatives for expression Explicit Cast of: 65 Name: sint 66 ... to: 67 instance of struct S with body 1 68 ... with parameters 69 char 70 -
TabularUnified tests/castError.cfa ¶
r15806ed r1d17939 14 14 // 15 15 16 forall(otype T) struct S { T p; }; 16 17 int f; 18 S(int) sint; 17 19 18 20 void f() { … … 25 27 short int v; 26 28 3, v; // implicit void cast 29 30 (S(char)) sint; 27 31 } 28 32
Note: See TracChangeset
for help on using the changeset viewer.