Changes in / [4702a2c:e5c3811]
- Files:
-
- 9 added
- 19 deleted
- 6 edited
-
benchmark/plot.py (deleted)
-
libcfa/src/concurrency/kernel.cfa (modified) (1 diff)
-
src/AST/Expr.hpp (modified) (1 diff)
-
src/InitTweak/FixInit.h (modified) (1 diff)
-
src/Parser/ParseNode.h (modified) (1 diff)
-
src/ResolvExpr/CandidateFinder.cpp (modified) (2 diffs)
-
src/ResolvExpr/Resolver.h (modified) (2 diffs)
-
tests/.expect/KRfunctions.nast.x64.txt (deleted)
-
tests/.expect/KRfunctions.oast.x64.txt (deleted)
-
tests/.expect/KRfunctions.x64.txt (added)
-
tests/.expect/alloc-ERROR.nast.txt (deleted)
-
tests/.expect/alloc-ERROR.oast.txt (deleted)
-
tests/.expect/alloc-ERROR.txt (added)
-
tests/.expect/attributes.nast.x64.txt (deleted)
-
tests/.expect/attributes.oast.x64.txt (deleted)
-
tests/.expect/attributes.x64.txt (added)
-
tests/.expect/functions.nast.x64.txt (deleted)
-
tests/.expect/functions.oast.x64.txt (deleted)
-
tests/.expect/functions.x64.txt (added)
-
tests/.expect/init1-ERROR.nast.txt (deleted)
-
tests/.expect/init1-ERROR.oast.txt (deleted)
-
tests/.expect/init1-ERROR.txt (added)
-
tests/errors/.expect/completeType.nast.x64.txt (deleted)
-
tests/errors/.expect/completeType.oast.x64.txt (deleted)
-
tests/errors/.expect/completeType.x64.txt (added)
-
tests/raii/.expect/ctor-autogen-ERR1.nast.txt (deleted)
-
tests/raii/.expect/ctor-autogen-ERR1.oast.txt (deleted)
-
tests/raii/.expect/ctor-autogen-ERR1.txt (added)
-
tests/raii/.expect/memberCtors-ERR1.nast.txt (deleted)
-
tests/raii/.expect/memberCtors-ERR1.oast.txt (deleted)
-
tests/raii/.expect/memberCtors-ERR1.txt (added)
-
tests/warnings/.expect/self-assignment.nast.txt (deleted)
-
tests/warnings/.expect/self-assignment.oast.txt (deleted)
-
tests/warnings/.expect/self-assignment.txt (added)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.cfa
r4702a2c re5c3811 379 379 380 380 ready_schedule_lock(); 381 // Dereference the thread now because once we push it, there is not guaranteed it's still valid. 382 struct cluster * cl = thrd->curr_cluster; 383 384 // push the thread to the cluster ready-queue 385 push( cl, thrd ); 386 387 // variable thrd is no longer safe to use 388 389 // wake the cluster using the save variable. 390 __wake_one( cl ); 381 push( thrd->curr_cluster, thrd ); 382 __wake_one(thrd->curr_cluster); 391 383 ready_schedule_unlock(); 392 384 -
src/AST/Expr.hpp
r4702a2c re5c3811 299 299 }; 300 300 301 /// Inidicates whether the cast is introduced by the CFA type system. 302 /// GeneratedCast for casts that the resolver introduces to force a return type 303 /// ExplicitCast for casts from user code 304 /// ExplicitCast for casts from desugaring advanced CFA features into simpler CFA 305 /// example 306 /// int * p; // declaration 307 /// (float *) p; // use, with subject cast 308 /// subject cast being GeneratedCast means we are considering an interpretation with a type mismatch 309 /// subject cast being ExplicitCast means someone in charge wants it that way 301 /// Whether a cast existed in the program source or not 310 302 enum GeneratedFlag { ExplicitCast, GeneratedCast }; 311 303 -
src/InitTweak/FixInit.h
r4702a2c re5c3811 21 21 class Declaration; 22 22 namespace ast { 23 structTranslationUnit;23 class TranslationUnit; 24 24 } 25 25 -
src/Parser/ParseNode.h
r4702a2c re5c3811 37 37 class Attribute; 38 38 class Declaration; 39 structDeclarationNode;39 class DeclarationNode; 40 40 class DeclarationWithType; 41 41 class ExpressionNode; 42 42 class Initializer; 43 structStatementNode;43 class StatementNode; 44 44 45 45 //############################################################################## -
src/ResolvExpr/CandidateFinder.cpp
r4702a2c re5c3811 1101 1101 // unification run for side-effects 1102 1102 unify( toType, cand->expr->result, cand->env, need, have, open, symtab ); 1103 Cost thisCost = 1104 (castExpr->isGenerated == ast::GeneratedFlag::GeneratedCast) 1105 ? conversionCost( cand->expr->result, toType, cand->expr->get_lvalue(), symtab, cand->env ) 1106 : castCost( cand->expr->result, toType, cand->expr->get_lvalue(), symtab, cand->env ); 1107 1103 Cost thisCost = castCost( cand->expr->result, toType, cand->expr->get_lvalue(), 1104 symtab, cand->env ); 1108 1105 PRINT( 1109 1106 std::cerr << "working on cast with result: " << toType << std::endl; … … 1594 1591 1595 1592 // unification run for side-effects 1596 bool canUnify = unify( toType, cand->expr->result, env, need, have, open, symtab ); 1597 (void) canUnify; 1593 unify( toType, cand->expr->result, env, need, have, open, symtab ); 1598 1594 Cost thisCost = computeConversionCost( cand->expr->result, toType, cand->expr->get_lvalue(), 1599 symtab, env );1600 PRINT(1601 Cost legacyCost = castCost( cand->expr->result, toType, cand->expr->get_lvalue(),1602 1595 symtab, env ); 1603 std::cerr << "Considering initialization:"; 1604 std::cerr << std::endl << " FROM: " << cand->expr->result << std::endl; 1605 std::cerr << std::endl << " TO: " << toType << std::endl; 1606 std::cerr << std::endl << " Unification " << (canUnify ? "succeeded" : "failed"); 1607 std::cerr << std::endl << " Legacy cost " << legacyCost; 1608 std::cerr << std::endl << " New cost " << thisCost; 1609 std::cerr << std::endl; 1610 ) 1596 1611 1597 if ( thisCost != Cost::infinity ) { 1612 1598 // count one safe conversion for each value that is thrown away -
src/ResolvExpr/Resolver.h
r4702a2c re5c3811 35 35 class StmtExpr; 36 36 class SymbolTable; 37 structTranslationUnit;37 class TranslationUnit; 38 38 class Type; 39 39 class TypeEnvironment; … … 63 63 ast::ptr< ast::Expr > resolveInVoidContext( 64 64 const ast::Expr * expr, const ast::SymbolTable & symtab, ast::TypeEnvironment & env ); 65 /// Resolve `untyped` to the single expression whose candidate is the best match for the 65 /// Resolve `untyped` to the single expression whose candidate is the best match for the 66 66 /// given type. 67 67 ast::ptr< ast::Expr > findSingleExpression(
Note:
See TracChangeset
for help on using the changeset viewer.