T.R | Title | User | Personal Name | Date | Lines |
---|
3228.1 | | WIBBIN::NOYCE | Pulling weeds, pickin' stones | Tue Apr 15 1997 14:47 | 1 |
| Do you compile with /CHECK=DECIMAL? It's not set by default on Alpha.
|
3228.2 | /check=decimal was tried | SWAM1::COHEN_RO | Ron Cohen: DTN 531-3742 | Tue Apr 15 1997 15:31 | 3 |
| Yes, compiling with /CHECK=DECIMAL was tried but still received the
same results. We are going to continue testing along these lines.....
Any other suggestions?
|
3228.3 | Is the customer using USAGE DISPLAY? | PACKED::BRAFFITT | | Tue Apr 15 1997 16:09 | 13 |
| > On the VAX a deliberate data exception is caused (adding a space to
> numerica data) forcing the program to abort with the following
> error messages:
> %COB-F-INVDECDAT, invalid decimal data
> $TRACE-F-FEEDBACK, symbolic stack dump follows....
/CHECK=DECIMAL with DEC COBOL on Alpha handles some, but not all, of
what the VAX decimal instructions do in terms of invalid decimal data
checking. In particular, /CHECK=DECIMAL handles USAGE DISPLAY but not
USAGE COMP-3 (see HELP COBOL/CHECK for DEC COBOL).
Which numeric data type is the customer using in the "add a space"
code?
|
3228.4 | Working-stoage description | SWAM1::COHEN_RO | Ron Cohen: DTN 531-3742 | Tue Apr 15 1997 16:44 | 11 |
| Working-Storage
01 ws-a-space value spaces.
05 ws-kill-the-run pic s9(1).
Procedure
Add ws-kill-the-run to ws-kill-the-run.
Thanks,
Ron
|
3228.5 | PIC 9 does what you need | PACKED::BRAFFITT | | Tue Apr 15 1997 17:47 | 29 |
| $ cobol c3228/check=decimal
$ link c3228
$ run c3228
***C3228***
%SYSTEM-F-DECINV, decimal invalid operand, PC=0003012C, PS=0000001B
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
C3228 C3228 C3228 17 000000000000012C 000000000003012C
C3228 0 0000000000020340 0000000000030340
0 FFFFFFFF81CE0914 FFFFFFFF81CE0914
* <<< CLT::DISK$CLT_LIBRARY3:[NOTES$LIBRARY]COBOL.NOTE;1 >>>
* -< VAX/DEC COBOL >-
*================================================================================
*Note 3228.4 Forcing a deliberate data exception on the Alpha 4 of 4
*SWAM1::COHEN_RO "Ron Cohen: DTN 531-3742" 11 lines 15-APR-1997 15:44
* -< Working-stoage description >-
*--------------------------------------------------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. C3228.
ENVIRONMENT DIVISION.
DATA DIVISION.
Working-Storage SECTION.
01 ws-a-space value spaces.
05 ws-kill-the-run pic 9.
Procedure DIVISION.
P0. DISPLAY "***C3228***".
Add 0 to ws-kill-the-run.
DISPLAY "***END***".
|
3228.6 | Revised program to force invalid decimal data | PACKED::BRAFFITT | | Wed Apr 16 1997 13:44 | 23 |
| I talked on the phone with Ron.
I asked him to suggest to the customer that they use CALL LIB$SIGNAL
instead of using invalid decimal data checking in their declaratives to
terminate their programs.
We also revised the program as below. Once Ron added STOP RUN, /OPT
dataflow analysis discarded the ADD as unneeded. The IF below is
intended to force the optimizer NOT to discard the ADD.
IDENTIFICATION DIVISION.
PROGRAM-ID. C3228.
ENVIRONMENT DIVISION.
DATA DIVISION.
Working-Storage SECTION.
01 ws-a-space value spaces.
05 ws-kill-the-run pic 9.
Procedure DIVISION.
P0. DISPLAY "***C3228***".
Add 0 to ws-kill-the-run.
IF ws-kill-the-run = 1 THEN DISPLAY ws-kill-the-run.
DISPLAY "***END***".
STOP RUN.
|