summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-11-14 16:08:08 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-11-14 16:08:08 +0000
commit686d333542ec17c3ccb7042117b426419daf5f94 (patch)
treec1134efd211f0f077cc5c6f03fbdfd46f7c5f667
parentb6e0c3d6a7da957dfc27fd85b4f5fe0eb501f4d1 (diff)
downloadfpc-release_2_6_4_rc1.tar.gz
- reverted previous commit, committed in wrong checkoutrelease_2_6_4_rc1
git-svn-id: http://svn.freepascal.org/svn/fpc/tags/release_2_6_4_rc1@26090 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/arm/narmmat.pas15
-rw-r--r--tests/webtbs/tw23849.pp23
2 files changed, 7 insertions, 31 deletions
diff --git a/compiler/arm/narmmat.pas b/compiler/arm/narmmat.pas
index 7c7f3063eb..3ed4a2fb3e 100644
--- a/compiler/arm/narmmat.pas
+++ b/compiler/arm/narmmat.pas
@@ -64,14 +64,13 @@ implementation
var
power : longint;
begin
- if not(cs_check_overflow in current_settings.localswitches) and
- (right.nodetype=ordconstn) and
- (nodetype=divn) and
- (ispowerof2(tordconstnode(right).value,power) or
- (tordconstnode(right).value=1) or
- (tordconstnode(right).value=int64(-1))
- ) and
- not(is_64bitint(resultdef)) then
+ if (right.nodetype=ordconstn) and
+ (nodetype=divn) and
+ (ispowerof2(tordconstnode(right).value,power) or
+ (tordconstnode(right).value=1) or
+ (tordconstnode(right).value=int64(-1))
+ ) and
+ not(is_64bitint(resultdef)) then
result:=nil
else
result:=inherited first_moddivint;
diff --git a/tests/webtbs/tw23849.pp b/tests/webtbs/tw23849.pp
deleted file mode 100644
index 5eb70869f9..0000000000
--- a/tests/webtbs/tw23849.pp
+++ /dev/null
@@ -1,23 +0,0 @@
-{$mode delphi}
-{$q+}
-
-function F(N: integer) : integer;
-var NN : integer;
-begin
- NN := N;
- if NN < 0 then NN := 0 - NN;
- result := NN;
-end;
-
-procedure Crash; cdecl;
-var
- N, M : integer;
-begin
- N := -10;
- M := F(N) div 4;
-end;
-
-begin
- Crash;
-end.
-