J3/14-168r2 To: J3 Subject: F2015: allow non-default kinds in arguments to intrinsics From: Stan Whitlock & Dan Nagle Date: 2014 June 23 Reference: 14-007r1 1. Introduction =============== In Fortran 2008 we extended the allowed kinds for OPEN and INQUIRE specifiers from default kind to any kind. See 14-007r1 [209] OPEN (RECL=) or [237] INQUIRE (NEXTREC=). F2008 did not change default character usage in these specifiers. Several of the intrinsic procedures [chapter 13] and the IEEE intrinsic module procedures [chapter 14] require that their arguments be of default kind. This is unnecessary. The proposal is to extend these arguments to any kind. There is no change proposed for default character arguments or for default kinds for function results. Issues raised with RANDON_SEED have caused this intrinsic to be removed from this revision. 2. Proposal for 2015 work plan ============================== Extend the kinds for arguments in certain intrinsic and intrinsic module procedures to allow any kinds, not just default kinds. The procedures and their arguments that are affected are: [342:17] 13.7.44 DATE_AND_TIME (, , , VALUES) [347:21] 13.7.57 EXECUTE_COMMAND_LINE ( , WAIT, EXITSTAT, CMDSTAT, ) [351:7 ] 13.7.65 GET_COMMAND ( , LENGTH, STATUS) [351:24] 13.7.66 GET_COMMAND_ARGUMENT (NUMBER , , LENGTH, STATUS) [352:27] 13.7.67 GET_ENVIRONMENT_VARIABLE ( , , LENGTH, STATUS, ) [395:1 ] 13.7.167 THIS_IMAGE ( , DIM) [414:1 ] 14.11.4 IEEE_GET_FLAG ( , FLAG_VALUE) [414:12] 14.11.5 IEEE_GET_HALTING MODE ( , HALTING) [415:19] 14.11.8 IEEE_GET_UNDERFLOW_MODE (GRADUAL) [419:19] 14.11.19 IEEE_SET_FLAG ( , FLAG_VALUE) [419:31] 14.11.20 IEEE_SET_HALTING_MODE ( , HALTING) [421:1 ] 14.11.23 IEEE_SET_UNDERFLOW_MODE (GRADUAL) 3. Draft Edits to 14-007r1 ========================== In 13.7.44 DATE_AND_TIME: argument VALUES: [342:33] delete "default" In 13.7.57 EXECUTE_COMMAND_LINE: argument WAIT: [347:27] delete "default" argument EXITSTAT: [347:30] delete "default" argument CMDSTAT: [348:2 ] delete "default" In 13.7.65 GET_COMMAND: argument LENGTH: [351:14] delete "default" argument STATUS: [351:20] delete "default" In 13.7.66 GET_COMMAND_ARGUMENT: argument NUMBER: [351:28] delete "default" argument LENGTH: [352:4 ] delete "default" argument STATUS: [352:10] delete "default" In 13.7.67 GET_ENVIRONMENT_VARIABLE: argument LENGTH: [352:37] delete "default" argument STATUS: [352:40] delete "default" In 13.7.167 THIS_IMAGE: argument DIM: [395:6] delete "default" In 14.11.4 IEEE_GET_FLAG: argument FLAG_VALUE: [414:6] delete "default" In 14.11.5 IEEE_GET_HALTING MODE: argument HALTING: [414:19] delete "default" In 14.11.8 IEEE_GET_UNDERFLOW_MODE: argument GRADUAL: [415:22] delete "default" In 14.11.19 IEEE_SET_FLAG: argument FLAG_VALUE: [419:27] delete "default" In 14.11.20 IEEE_SET_HALTING_MODE: argument HALTING: [419:38] delete "default" In 14.11.23 IEEE_SET_UNDERFLOW_MODE: argument GRADUAL: [421:4] delete "default"