diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.f90')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.f90 new file mode 100644 index 000000000..7189991f7 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.f90 @@ -0,0 +1,30 @@ +! Check that getarg does somethig sensible. +program getarg_1 + CHARACTER*10 ARGS, ARGS2 + INTEGER*4 I + INTEGER*2 I2 + I = 0 + CALL GETARG(I,ARGS) + ! This should return the invoking command. The actual value depends + ! on the OS, but a blank string is wrong no matter what. + ! ??? What about deep embedded systems? + + I2 = 0 + CALL GETARG(I2,ARGS2) + if (args2.ne.args) call abort + + if (args.eq.'') call abort + I = 1 + CALL GETARG(I,ARGS) + if (args.ne.'') call abort + I = -1 + CALL GETARG(I,ARGS) + if (args.ne.'') call abort + ! Assume we won't have been called with more that 4 args. + I = 4 + CALL GETARG(I,ARGS) + if (args.ne.'') call abort + I = 1000 + CALL GETARG(I,ARGS) + if (args.ne.'') call abort +end |