Summary
Passes 1249
Failures 321
Progressions 4
Regressions 295
Host i686-pc-linux-gnu
Options
Date 2005-12-13
Progressions

The following tests passed in this run, but failed in the baseline run.

Regressions

The following tests failed in this run, but passed in the baseline run.

gdb.base/auxv.exp: gcore
gdb.base/bigcore.exp: Remote system
gdb.base/ending-run.exp: don't step after run
gdb.base/gdb1555.exp: Step into shared lib function (timeout)
gdb.base/gdb1555.exp: Next while in a shared lib function (timeout)
gdb.base/shreloc.exp: relocated static variables have different addresses
gdb.base/shreloc.exp: (msymbol) relocated static vars have different addresses
gdb.base/shreloc.exp: (msymbol) relocated extern vars have different addresses
gdb.base/shreloc.exp: (msymbol) relocated functions have different addresses
gdb.cp/ambiguous.exp: setting breakpoint at main (timeout)
gdb.cp/breakpoint.exp: setting breakpoint at main (timeout)
gdb.cp/casts.exp: setting breakpoint at main (timeout)
gdb.cp/class2.exp: set print object off
gdb.cp/class2.exp: setting breakpoint at main (timeout)
gdb.cp/classes.exp: set language c++
gdb.cp/classes.exp: set width 0
gdb.cp/classes.exp: setting breakpoint at main (timeout)
gdb.cp/cplusfuncs.exp: setting breakpoint at main (timeout)
gdb.cp/cplusfuncs.exp: detect dm_operator_comma
gdb.cp/cplusfuncs.exp: detect dm_type_char_star (timeout)
gdb.cp/cplusfuncs.exp: detect dm_type_foo_ref (timeout)
gdb.cp/cplusfuncs.exp: detect dm_type_int_star (timeout)
gdb.cp/cplusfuncs.exp: detect dm_type_long_star (timeout)
gdb.cp/cplusfuncs.exp: detect dm_unsigned int (timeout)
gdb.cp/cplusfuncs.exp: detect dm_type_void (timeout)
gdb.cp/cplusfuncs.exp: detect dm_type_void_star (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg()' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(char)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(signed char)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(unsigned char)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(short)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(unsigned short)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(unsigned)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(long)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(unsigned long)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(float)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overload1arg(double)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'overloadargs(int, int, int, int, int, int, int, int, int, int, int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator*(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator%(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator-(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator>>(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator!=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator>(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator>=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator|(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator&&(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator!()' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator++(int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator+=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator*=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator%=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator>>=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator|=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator,(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator/(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator+(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator<<(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator==(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator<(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator<=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator&(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator^(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator||(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator~()' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator--(int)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator->()' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator-=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator/=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator<<=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator&=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator^=(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator->*(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator[](foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator()(foo&)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator new'
gdb.cp/cplusfuncs.exp: print &'foo::operator delete(void*)' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator int()' (timeout)
gdb.cp/cplusfuncs.exp: print &'foo::operator char*()' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc1' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc2' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc3' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc4' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc5' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc6' (timeout)
gdb.cp/cplusfuncs.exp: print &'hairyfunc7' (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator\*(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator%(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator-(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator>>(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator!=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator>(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator>=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator|(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator&&(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator!(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator++(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator+=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator\*=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator%=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator>>=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator|=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator,(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator/(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator+(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator<<(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator==(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator<(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator<=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator&(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator^(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator||(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator~(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator--(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator->(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator-=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator/=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator<<=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator&=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator^=(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator->\*(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator\[\](" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator new(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator delete(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator int(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator()(" (timeout)
gdb.cp/cplusfuncs.exp: info function for "operator char\*(" (timeout)
gdb.cp/ctti.exp: setting breakpoint at main (timeout)
gdb.cp/derivation.exp: setting breakpoint at 'marker1' (timeout)
gdb.cp/exception.exp: setting breakpoint at main (timeout)
gdb.cp/gdb1355.exp: setting breakpoint at main (timeout)
gdb.cp/hang.exp: doesn't overwrite struct type
gdb.cp/hang.exp: doesn't corrupt cv_type chain
gdb.cp/inherit.exp: set language c++
gdb.cp/inherit.exp: set width 0
gdb.cp/inherit.exp: setting breakpoint at main (timeout)
gdb.cp/local.exp: setting breakpoint at main (timeout)
gdb.cp/m-data.exp: setting breakpoint at main (timeout)
gdb.cp/m-static.exp: setting breakpoint at main (timeout)
gdb.cp/member-ptr.exp: setting breakpoint at main (timeout)
gdb.cp/method.exp: setting breakpoint at main (timeout)
gdb.cp/misc.exp: can't show language (timeout)
gdb.cp/misc.exp: print s.a for foo struct (known gcc 2.7.2 and earlier bug)
gdb.cp/misc.exp: print as bool (setup)
gdb.cp/misc.exp: print as bool (print 1 == 1)
gdb.cp/misc.exp: print as bool (print 1 == 2)
gdb.cp/misc.exp: print a bool var
gdb.cp/misc.exp: set a bool var (setup)
gdb.cp/misc.exp: set a bool var (print v_bool)
gdb.cp/misc.exp: print a bool array
gdb.cp/misc.exp: set a bool array elem (setup)
gdb.cp/misc.exp: set a bool array elem (print v_bool_array)
gdb.cp/misc.exp: print true
gdb.cp/misc.exp: print false
gdb.cp/misc.exp: 1 + true
gdb.cp/misc.exp: 3 + false
gdb.cp/misc.exp: 1 < 2 < 3
gdb.cp/misc.exp: 2 < 1 > 4
gdb.cp/misc.exp: (bool)43
gdb.cp/misc.exp: (bool)0
gdb.cp/misc.exp: (bool)17.93
gdb.cp/misc.exp: (bool)0.0
gdb.cp/misc.exp: (int)true
gdb.cp/misc.exp: (int)false
gdb.cp/namespace.exp: setting breakpoint at main (timeout)
gdb.cp/overload.exp: setting breakpoint at 'marker1' (timeout)
gdb.cp/ovldbreak.exp: setting breakpoint at main (timeout)
gdb.cp/pr-1023.exp: setting breakpoint at main (timeout)
gdb.cp/pr-1210.exp: setting breakpoint at main (timeout)
gdb.cp/pr-574.exp: setting breakpoint at main (timeout)
gdb.cp/printmethod.exp: setting breakpoint at main (timeout)
gdb.cp/psmang.exp: break s::method1
gdb.cp/psmang.exp: break s::method2
gdb.cp/ref-types.exp: setting breakpoint at main (timeout)
gdb.cp/rtti.exp: setting breakpoint at main (timeout)
gdb.cp/templates.exp: setting breakpoint at main (timeout)
gdb.cp/templates.exp: ptype T5 (timeout)
gdb.cp/templates.exp: ptype t5i (timeout)
gdb.cp/templates.exp: constructor breakpoint (timeout)
gdb.cp/templates.exp: destructor_breakpoint
gdb.cp/templates.exp: value method breakpoint
gdb.cp/templates.exp: setting breakpoint at main (timeout)
gdb.cp/templates.exp: (timeout) print fint
gdb.cp/templates.exp: (timeout) print fvpchar
gdb.cp/templates.exp: (timeout) ptype Foo
gdb.cp/templates.exp: (timeout) ptype fint
gdb.cp/templates.exp: (timeout) ptype fchar
gdb.cp/templates.exp: (timeout) ptype fvpchar
gdb.cp/templates.exp: (timeout) print Foo::foo
gdb.cp/templates.exp: (timeout) print Foo::foo
gdb.cp/templates.exp: (timeout) ptype Bar
gdb.cp/templates.exp: (timeout) ptype bint
gdb.cp/templates.exp: (timeout) ptype bint2
gdb.cp/templates.exp: (timeout) ptype Baz
gdb.cp/templates.exp: (timeout) ptype bazint
gdb.cp/templates.exp: (timeout) ptype bazint2
gdb.cp/templates.exp: (timeout) ptype Qux
gdb.cp/templates.exp: (timeout) ptype quxint
gdb.cp/templates.exp: (timeout) ptype Spec
gdb.cp/templates.exp: (timeout) ptype siip
gdb.cp/templates.exp: (timeout) ptype Garply
gdb.cp/templates.exp: (timeout) ptype Garply >
gdb.cp/templates.exp: print Garply >::garply (timeout)
gdb.cp/templates.exp: break Garply >::garply (timeout)
gdb.cp/try_catch.exp: setting breakpoint at main (timeout)
gdb.cp/userdef.exp: setting breakpoint at main (timeout)
gdb.cp/virtfunc.exp: set language c++
gdb.cp/virtfunc.exp: set width 0
gdb.cp/virtfunc.exp: setting breakpoint at main (timeout)
gdb.cp/virtfunc.exp: ptype VA // parse failed
gdb.cp/virtfunc.exp: ptype VB // parse failed
gdb.cp/virtfunc.exp: ptype V // parse failed
gdb.cp/virtfunc.exp: ptype A // parse failed
gdb.cp/virtfunc.exp: ptype B // parse failed
gdb.cp/virtfunc.exp: ptype C // parse failed
gdb.cp/virtfunc.exp: ptype AD // parse failed
gdb.cp/virtfunc.exp: ptype D // parse failed
gdb.cp/virtfunc.exp: ptype E // parse failed
gdb.cp/virtfunc.exp: ptype dd // parse failed
gdb.cp/virtfunc.exp: ptype ppd // parse failed
gdb.cp/virtfunc.exp: ptype pAd // parse failed
gdb.cp/virtfunc.exp: ptype a // parse failed
gdb.cp/virtfunc.exp: ptype b // parse failed
gdb.cp/virtfunc.exp: ptype c // parse failed
gdb.cp/virtfunc.exp: ptype d // parse failed
gdb.cp/virtfunc.exp: ptype e // parse failed
gdb.cp/virtfunc.exp: ptype v // parse failed
gdb.cp/virtfunc.exp: ptype vb // parse failed
gdb.cp/virtfunc.exp: ptype pAa // parse failed
gdb.cp/virtfunc.exp: ptype pAe // parse failed
gdb.cp/virtfunc.exp: ptype pBe // parse failed
gdb.cp/virtfunc.exp: ptype pDd // parse failed
gdb.cp/virtfunc.exp: ptype pDe // parse failed
gdb.cp/virtfunc.exp: ptype pVa // parse failed
gdb.cp/virtfunc.exp: ptype pVv // parse failed
gdb.cp/virtfunc.exp: ptype pVe // parse failed
gdb.cp/virtfunc.exp: ptype pVd // parse failed
gdb.cp/virtfunc.exp: ptype pADe // parse failed
gdb.cp/virtfunc.exp: ptype pEe // parse failed
gdb.cp/virtfunc.exp: ptype pVB // parse failed
gdb.cp/virtfunc.exp: setting breakpoint at test_calls (timeout)
gdb.cp/virtfunc.exp: continue
gdb.cp/virtfunc.exp: print pAe->f()
gdb.cp/virtfunc.exp: print pAa->f()
gdb.cp/virtfunc.exp: print pDe->vg()
gdb.cp/virtfunc.exp: print pADe->vg()
gdb.cp/virtfunc.exp: print pDd->vg()
gdb.cp/virtfunc.exp: print pEe->vvb()
gdb.cp/virtfunc.exp: print pVB->vvb()
gdb.cp/virtfunc.exp: print pBe->vvb()
gdb.cp/virtfunc.exp: print pDe->vvb()
gdb.cp/virtfunc.exp: print pEe->vd()
gdb.cp/virtfunc.exp: print pEe->fvb()
gdb.cp/virtfunc.exp: print pEe->D::vg()
gdb.fortran/array-element.exp: Couldn't compile array-element.f
gdb.fortran/subarray.exp: Couldn't compile subarray.f
gdb.java/jmain.exp: Couldn't compile /scratch/paul/2005q3-2/src/gdb-csl-arm/gdb/testsuite/gdb.java/jmain.java
gdb.java/jmisc.exp: Couldn't compile /scratch/paul/2005q3-2/src/gdb-csl-arm/gdb/testsuite/gdb.java/jmisc.java
gdb.java/jmisc1.exp: Couldn't compile /scratch/paul/2005q3-2/src/gdb-csl-arm/gdb/testsuite/gdb.java/jmisc.java
gdb.java/jprint.exp: Couldn't compile /scratch/paul/2005q3-2/src/gdb-csl-arm/gdb/testsuite/gdb.java/jprint.java
gdb.mi/gdb792.exp: create var for class A
gdb.mi/gdb792.exp: list children of class A
gdb.mi/gdb792.exp: list children of A.public
gdb.mi/gdb792.exp: list children of A.private
gdb.mi/gdb792.exp: list children of A.protected
gdb.mi/gdb792.exp: list children of A.protected.b
gdb.mi/gdb792.exp: list children of A.protected.b.public
gdb.mi/gdb792.exp: list children of A.protected.b.private
gdb.mi/gdb792.exp: create var for class C which has baseclass A
gdb.mi/gdb792.exp: list children of class C
gdb.mi/mi-basics.exp: environment-directory arg operation
gdb.mi/mi-basics.exp: environment-directory empty-string operation
gdb.mi/mi-basics.exp: environment-path dir1 dir2 operation
gdb.mi/mi-console.exp: inferior output timeout
gdb.mi/mi-console.exp: Finished step over hello
gdb.mi/mi-watch.exp: wp out of scope (2)
gdb.mi/mi2-basics.exp: environment-directory arg operation
gdb.mi/mi2-basics.exp: environment-directory empty-string operation
gdb.mi/mi2-basics.exp: environment-path dir1 dir2 operation
gdb.mi/mi2-watch.exp: wp out of scope (2)
gdb.stabs/exclfwd.exp: setting breakpoint at main (timeout)
gdb.threads/bp_in_thread.exp: Couldn't compile /scratch/paul/2005q3-2/src/gdb-csl-arm/gdb/testsuite/gdb.threads/bp_in_thread.c: unrecognized error
Failures

The following tests failed in this run and in the baseline run.

gdb.mi/mi-break.exp: break-insert -r operation
gdb.mi/mi-break.exp: insert breakpoint with regexp callee2
gdb.mi/mi-break.exp: insert breakpoint with regexp callee
gdb.mi/mi-break.exp: insert breakpoint with regexp .*llee
gdb.mi/mi-break.exp: list of breakpoints
gdb.mi/mi-var-block.exp: update inner_foo: should be out of scope: KNOWN PROBLEM
gdb.mi/mi-var-block.exp: evaluate inner_foo: should be out of scope: KNOWN PROBLEM
gdb.mi/mi-var-block.exp: update foo2: should be out of scope: KNOWN PROBLEM
gdb.mi/mi-var-block.exp: update foo2 should be out of scope: KNOWN PROBLEM
gdb.mi/mi-var-block.exp: update foo should be out of scope: KNOWN PROBLEM
gdb.mi/mi-var-child.exp: update all vars psnp->next->long_ptr (and 1.long_ptr) changed
gdb.mi/mi-var-cmd.exp: update all vars: changed FIXME
gdb.mi/mi-var-display.exp: eval variable e
gdb.mi/mi2-break.exp: break-insert -r operation
gdb.mi/mi2-break.exp: insert breakpoint with regexp callee2
gdb.mi/mi2-break.exp: insert breakpoint with regexp callee
gdb.mi/mi2-break.exp: insert breakpoint with regexp .*llee
gdb.mi/mi2-break.exp: list of breakpoints
gdb.mi/mi2-var-block.exp: update inner_foo: should be out of scope: KNOWN PROBLEM
gdb.mi/mi2-var-block.exp: evaluate inner_foo: should be out of scope: KNOWN PROBLEM
gdb.mi/mi2-var-block.exp: update foo2: should be out of scope: KNOWN PROBLEM
gdb.mi/mi2-var-block.exp: update foo2 should be out of scope: KNOWN PROBLEM
gdb.mi/mi2-var-block.exp: update foo should be out of scope: KNOWN PROBLEM
gdb.mi/mi2-var-child.exp: update all vars psnp->next->long_ptr (and 1.long_ptr) changed
gdb.mi/mi2-var-cmd.exp: update all vars: changed FIXME
gdb.mi/mi2-var-display.exp: eval variable e