This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r262533 - in /trunk/gcc/go/gofrontend: MERGE ex...


Author: ian
Date: Tue Jul 10 00:55:28 2018
New Revision: 262533

URL: https://gcc.gnu.org/viewcvs?rev=262533&root=gcc&view=rev
Log:
    compiler: fix double evaluation with interface field expression
    
    In Interface_field_reference_expression, the interface expression
    is used in two places, so a temporary variable is used. Previously,
    we used a Set_and_use_temporary_expression, which, when evaluated
    twice, causes double evaluation of the underlying expression. Fix
    by setting the temporary once and use Temporary_reference_expression
    instead.
    
    Fixes golang/go#26248.
    
    Reviewed-on: https://go-review.googlesource.com/122756

Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/gcc/go/gofrontend/expressions.cc


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]