"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/compiler/parser-expr-unary.bas" between
FreeBASIC-1.07.0-source.tar.gz and FreeBASIC-1.07.1-source.tar.gz

About: FreeBasic is a set of cross-platform development tools consisting of a compiler, GNU-based assembler, linker and archiver, and supporting runtime libraries, including a software-based graphics library.

parser-expr-unary.bas  (FreeBASIC-1.07.0-source):parser-expr-unary.bas  (FreeBASIC-1.07.1-source)
skipping to change at line 490 skipping to change at line 490
) as ASTNODE ptr ) as ASTNODE ptr
dim as ASTNODE ptr expr = cHighestPrecExpr( base_parent, chain_ ) dim as ASTNODE ptr expr = cHighestPrecExpr( base_parent, chain_ )
if( expr = NULL ) then if( expr = NULL ) then
errReport( FB_ERRMSG_EXPECTEDIDENTIFIER ) errReport( FB_ERRMSG_EXPECTEDIDENTIFIER )
'' error recovery: fake a node '' error recovery: fake a node
return astNewCONSTi( 0 ) return astNewCONSTi( 0 )
end if end if
'' skip any casting if they won't do any conversion '' skip any casting if they won't do any conversion
dim as ASTNODE ptr t = astSkipNoConvCAST( expr ) '' TODO: replace astSkipNoConvCast() with astSkipConstCASTs()
'' where applicable. Need to verify. On one hand, we
'' probably don't care about CONST anymore, on the other
'' hand, we need to make sure we don't prematurely optimize
'' the CONST specifier away in the event that it is needed
'' to be known with AST type checking later.
dim as ASTNODE ptr t = astSkipConstCASTs( expr )
select case as const astGetClass( t ) select case as const astGetClass( t )
case AST_NODECLASS_VAR, AST_NODECLASS_IDX, AST_NODECLASS_DEREF, _ case AST_NODECLASS_VAR, AST_NODECLASS_IDX, AST_NODECLASS_DEREF, _
AST_NODECLASS_TYPEINI, AST_NODECLASS_CALLCTOR AST_NODECLASS_TYPEINI, AST_NODECLASS_CALLCTOR
case AST_NODECLASS_FIELD case AST_NODECLASS_FIELD
'' can't take address of bitfields.. '' can't take address of bitfields..
if( symbFieldIsBitfield( t->sym ) ) then if( symbFieldIsBitfield( t->sym ) ) then
errReport( FB_ERRMSG_INVALIDDATATYPES ) errReport( FB_ERRMSG_INVALIDDATATYPES )
'' error recovery: fake a node '' error recovery: fake a node
 End of changes. 1 change blocks. 
1 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)