A workaround: (not so terrific when a or b are not real)
(%i1) load(abs_integrate)$
(%i2) myint(e,x,a,b) := simp_assuming(integrate(e,x,a,b), min(a,b) <=x, x <= max(a,b))$
(%i6) myint(myint(1, y, 0,sqrt(1-x^2)),x,-1,1);
(%o6) %pi/2
(%i7) integrate(integrate (1, y, 0,sqrt(1-x^2)),x,-1,1);
defint: upper limit of integration must be real; found sqrt(1-x^2)
--Barton