Apache OpenOffice (AOO) Bugzilla – Issue 14866
return type mismatch - return by value assigned to reference
Last modified: 2013-08-07 15:12:51 UTC
gcc 3.3 now provides error messages when there are return type mismatches such as when a method returns an object by value that is assigned to a reference which is a bug since the reference points to a temporary variable created to hold the return by value. An occurrence of this type occurred here see ... (fixme?) Please evaluate that line and fix the code in question to prevent the bug if needed. sc/source/core/tool/compiler.cxx @@ -2989,7 for( ScToken* t = pArr->GetNextReference(); t; t = pArr->GetNextReference() ) { (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/tool/compiler.cxx @@ -3029,7 // Absolute references have been already adjusted in the named // shared formula itself prior to breaking the shared formula // and calling this function. Don't readjust them again. (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/tool/rangenam.cxx @@ -390,7 { if( t->GetType() != svIndex ) { (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/tool/rangenam.cxx @@ -420,7 { if( t->GetType() != svIndex ) { (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/data/cell2.cxx @@ -1198,7 t->CalcAbsIfRel( aOldPos ); BOOL bMod; { // own scope for SingleDoubleRefModifier dtor if SingleRef (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/data/cell2.cxx @@ -1227,7 t->CalcAbsIfRel( aOldPos ); BOOL bMod; { // own scope for SingleDoubleRefModifier dtor if SingleRef (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/data/cell2.cxx @@ -1286,7 t->CalcAbsIfRel( aPos ); BOOL bMod; { // own scope for SingleDoubleRefModifier dtor if SingleRef (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref(); sc/source/core/data/cell2.cxx @@ -1315,7 +1315,7 @@ t->CalcAbsIfRel( aPos ); BOOL bMod; { // own scope for SingleDoubleRefModifier dtor if SingleRef (fixme?) SingleDoubleRefModifier& rMod = (t->GetType() == svSingleRef ? SingleDoubleRefModifier( t->GetSingleRef() ) : SingleDoubleRefModifier( t->GetDoubleRef() )); ComplRefData& rRef = rMod.Ref();
Hi Niklas, it seems this one is yours. Frank
reassigned and reset prio
It's Eike's code.
accepted
review done
Fixed on branch cws_srx644_ooo11beta2: sc/inc/token.hxx 1.6.138.1 sc/source/core/data/cell2.cxx 1.17.140.3 sc/source/core/tool/compiler.cxx 1.40.24.3 sc/source/core/tool/rangenam.cxx 1.12.32.3
Kevin, please verify in cws_srx644_ooo11beta2 and close if present in SRX645_m5s1 or later.
I guess resolved fixed is the correct status for this one.
set to verified
closed verified