summaryrefslogtreecommitdiffstats
path: root/src/H5Gdeprec.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug in H5Gopen1 where it would pass H5P_DEFAULT instead ofNeil Fortner2017-04-281-1/+1
| | | | H5P_GROUP_ACCESS_DEFAULT to the VOL layer.
* [svn-r29903] merge from trunk.Mohamad Chaarawi2016-05-091-23/+134
|\
| * [svn-r29081] - merge in the phdf5_metadata_opt/ branch with the collective ↵Mohamad Chaarawi2016-02-101-18/+18
| | | | | | | | | | | | | | | | metadata optimizations. - rename H5AC_dxpl_id to H5AC_ind_read_dxpl_id and update all usage in the library tested on bb-8 with parallel and serial.
| * [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity ↵Mohamad Chaarawi2016-01-211-11/+11
| | | | | | | | | | | | | | | | | | | | checks from metadata dxpls - remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead. - remove flush_me_collectively flag from cache entries - add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit. tested on BB-8 with serial and parallel.
* | [svn-r27777] merge from trunk.Mohamad Chaarawi2015-09-141-51/+3
|\ \ | |/
| * [svn-r27768] Description:Quincey Koziol2015-09-141-51/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* | [svn-r27141] merge from trunk.Mohamad Chaarawi2015-06-031-1/+1
|\ \ | |/
| * [svn-r27133] - Add a new attribute function characterstic for format:Mohamad Chaarawi2015-06-011-1/+1
| | | | | | | | | | | | | | | | * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* | [svn-r27050] merge from trunk.Mohamad Chaarawi2015-05-111-3/+3
|\ \ | |/
| * [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-orderedDana Robinson2015-05-101-1/+1
| | | | | | | | | | | | the arguments to be in a more logical order. Tested on: h5committest
| * [svn-r26777] - Fix usage of the internal AC global dxplsMohamad Chaarawi2015-04-101-1/+1
| | | | | | | | | | | | - allocate sieve buffer with calloc instead of malloc tested with h5committest
* | [svn-r26724] - merge from trunk & fix conflicts.Mohamad Chaarawi2015-04-031-1/+1
|\ \ | |/ | | | | | | - fix bug in opending an already open named datatype. - fix dynamically loaded VOL plugin support with new changes coming in.
| * [svn-r26649] squish warnings.Mohamad Chaarawi2015-03-301-1/+1
| |
* | [svn-r25575] cleanup H5I usage in VOL by removing the use of the aux pointer andMohamad Chaarawi2014-09-051-249/+73
| | | | | | | | | | make a higher level wrapper object around all VOL objects that includes the VOL information.
* | [svn-r25555] - rework the public H5VL wrappers to not use H5VL_t* and use a ↵Mohamad Chaarawi2014-08-261-20/+20
| | | | | | | | | | | | | | plugin hid_t instead - rework the private VL layer to use the class structure directly - some bug fixes
* | [svn-r25537] VOL framework changes.Mohamad Chaarawi2014-08-191-17/+109
| |
* | [svn-r25482] - update is_accessible implementation to use fapl and pass it ↵Mohamad Chaarawi2014-07-241-21/+21
| | | | | | | | | | | | | | | | | | | | down to H5Fint.c - move is_HDF5 inside deprecated macros in H5Fpublic.h - move H5ES_status_t outside of H5VLpublic.h to H5ESpublic.h - rename public properties in H5VLpublic.h to H5VL_PROP_* to add more scoping - no need to include private if pkg is included in H5VLnative.c - rename plist_id to lapl_id in loc_params structs
* | [svn-r25254] merge from trunk.Mohamad Chaarawi2014-06-111-6/+30
|\ \ | |/
| * [svn-r24998] Description:Quincey Koziol2014-04-091-6/+30
| | | | | | | | | | | | | | | | Check in Neil's changes for correctly handling case where library is reinitialized through a deprecated routine. Tested on: Linux 2.4.x/32 (jam)
* | [svn-r24311] change event queue to event stack (just variable names)Mohamad Chaarawi2013-10-171-14/+14
| |
* | [svn-r23473] Update the VOL plugin callbacks with better async I/O support:Mohamad Chaarawi2013-03-281-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - change hid_t req in callbacks to void **req - change all callbacks to accept dxpl_ids (except dataset write and read which already do) - update all the private and public VL routines to accept a dxpl_id and event queue id - Add an async class for the VOL plugin with cancel, test, and wait request operations - add the external VOL log plugin test to the examples directory NOTE that async operations are still not provided by the HDF5 API, so all event queue IDs and requests passed to all plugins are NULL for now. Tested on jam.
* | [svn-r22549] Mohamad Chaarawi2012-07-101-2/+0
| | | | | | | | | | | | | | | | | | | | move ref count management on the VOL struct inside the VLint code - H5Freopen still needs to be handled create the public interface for VOL callbacks: - unresolved issue with var_args update and create new API fapl calls to support stacking drivers: - need to add fapl copy callback fix a memory leak with registration of external plugins
* | [svn-r22523] - rework how IDs for VOL objects are createdMohamad Chaarawi2012-07-061-14/+4
| | | | | | | | | | - change how the vlose routine is registered with VOL IDs - some bug fixes
* | [svn-r22519] - many bug fixesMohamad Chaarawi2012-07-051-21/+4
| | | | | | | | - still some unresolved issues with named datatypes
* | [svn-r22501] change the interface callbacks for the VOL to use objects ↵Mohamad Chaarawi2012-06-281-23/+284
| | | | | | | | | | | | pointers and public VL structure instead of IDs. tests will fail now because of named datatypes.
* | [svn-r22423] add link and object iterate callbacksMohamad Chaarawi2012-06-011-130/+33
| | | | | | | | update some deprecated routines to use VOL
* | [svn-r22417] rename the properties used for the VOL callbacks.Mohamad Chaarawi2012-05-291-7/+7
| | | | | | | | move them to the VOL public header.
* | [svn-r22384] - fix type in CMake fileMohamad Chaarawi2012-05-211-1/+1
| | | | | | | | - rename delete callback to remove
* | [svn-r22380] - attribute and object exist callbacks should be part of get ↵Mohamad Chaarawi2012-05-181-4/+4
| | | | | | | | | | | | | | | | | | structs - fix bug in passing req parameter - free location in H5Rdereference - add datatype close callback - H5VL_CREATE_LINK_XXX should be H5VL_LINK_CREATE_XXX
* | [svn-r22306] add a request id to each of the VOL callbacks and update the nativeMohamad Chaarawi2012-04-201-9/+9
| | | | | | | | plugin to pass a NULL request
* | [svn-r22283] H5Lget routines through VOLMohamad Chaarawi2012-04-121-34/+58
| | | | | | | | | | | | | | | | H5G and H5A deprecated routines through VOL H5A exists(_by_name), delete_by_idx, rename through attr generic callbacks H5O incr/decr_ref_count set_comment(_by_name) exists(by_name) through a generic Object cb remove the attr generic callback and use the object generic callback instead add the usual workarounds for named datatypes in test code
* | [svn-r22250] - fix most of issues from code reviewMohamad Chaarawi2012-04-041-3/+12
| | | | | | | | | | | | | | - object open routines fall back to the generic VL object open in case the specific call back is not impemented - H5L VOL create/copy/move routines - make VOL create routines have similar interface and stuff parameters in creation plist - some bug fixes
* | [svn-r22119] Changes:Mohamad Chaarawi2012-03-221-31/+8
|/ | | | | | | | | | | - add VOL implementation for H5O, H5D, and H5T functions - update the VOL interface with H5VLget routines - make upper level IDs of Type H5I_XXX_PUBLIC - bug fixes Comments: - some routines still don't go through VOL but have a workaround so they don't have to at the moment.
* [svn-r21923] Description:Quincey Koziol2012-02-101-9/+9
| | | | | | | | | Add FUNC_ENTER macros for package-private routines and begin process of switching package routines to use them. All H5G routines are currently finished. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r21919] Description:Quincey Koziol2012-02-091-23/+23
| | | | | | | | Refactor function name macros and simplify the FUNC_ENTER macros, to clear away the cruft and prepare for further cleanups. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r20553] Description:Quincey Koziol2011-04-191-2/+3
| | | | | | | | | | | | | | | | | | Revert part of r20536 that was part of a Coverity merge. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
* [svn-r20536] Description:Quincey Koziol2011-04-171-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up various warnings & code formatting issues. Bring changes from Coverity branch to trunk: r20085: Purpose: Fix coverity issue 793 Description: Modified H5S_hyper_project_simple_higher() to free the entire span list in new_space on failure. r20091: This is a fix for coverity bug #1683. Changed the two printfs to use %lu (unsigned long) for printing "dset_size". r20162: Purpose: Fix coverity issue 785 Description: Modified H5T_enum_nameof() to free "name" on failure if it was allocated. Also clarified some code in H5S_hyper_rebuild_helper(). r20189: Addressed coverity defect 783. H5SL_new_node() in H5SL.c was failing to free space allocated in its first alloc if the second alloc failed. Added a call to H5FL_FREE to address this issue. This is purely to keep coverity happy -- if this code is ever triggered, we have much larger problems. Note that this fix will trigger an unused return value complaint from coverity next week. r20190: Fixed Coverity issues 1561 1565 and 1678 (UNUSED_VALUES) by moving checks of return values to after the function call. r20191: Fixed coverity issues 643 644 and 1678 (CHECKED_RETURN). r20232: Addressed coverity issues 923-925. Replaced calls to sprintf with calls to HDsnprintf. r20233: Fix coverity issue 662. Don't try to sort 0 attributes in H5Aint.c. r20234: Fix coverity issue 664. Check for NULL before dereferencing in H5Gdeprec.c. r20271: Purpose: Fix coverity issue 784 Description: Modified H5_debug_mask() to keep a list of files opened for use as a debugging output stream, and modified H5_term_library to close these files on exit. r20272: addressed coverity issues 838 & 955. Issue was use of strcpy() -- existing code was safe, but modified to use strncpy() to keep coverity happy. r20273: Addresed coverity issues 1388 and 1389. Initialized sel_iter->type to NULL in H5S_select_iter_init. r20275: Purpose: Fix valgrind issue in mf.c Description: Fixed bug (incomplete if statement) in test_mf_fs_alloc_free() so the retrieved node gets freed. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
* [svn-r19398] Descriptino:Quincey Koziol2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Clean up the internal usage H5I_dec_ref() to eliminate the sequence of flags that has been creeping in. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
* [svn-r19363] When mandatory filter failed to write data chunks, the datasetRaymond Lu2010-09-091-1/+1
| | | | | | | couldn't close (bug 1260). The fix releases all resources and closes the dataset but returns a failure. Tested with h5committest - jam, heiwa, amani.
* [svn-r19278] Description:Quincey Koziol2010-08-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | More fixes to memory allocation, etc. exposed by valgrind. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
* [svn-r18702] Description:Quincey Koziol2010-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Bring r18672 from metadata journaling "merging" branch to trunk: Mostly changes to move to only using one 'user data' parameter for calls to H5AC_protect(), along with some minor reformatting code cleanups. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18616] Description:Quincey Koziol2010-04-221-0/+2
| | | | | | | | Clean up compiler warnings. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor to require h5committest)
* [svn-r18376] Purpose: Fix bug 1733Neil Fortner2010-03-051-1/+1
| | | | | | | | | Description: Support for expanding external links was not implemented in H5Ocopy, even though a flag existed for H5Pset_copy_object to enable this. This patch implements this feature. Tested: jam, amani, linew (h5committest); Fedora
* [svn-r17860] Description:Quincey Koziol2009-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | "Normalize" object names for external links, making them into the same form as used for soft links. Begin the process of adding more printf-like information to library error reporting. HGOTO_ERROR() and HDONE_ERROR() macros can now use the last parameter (a string) like a printf() formatting string and pass extra parameters with additional information. (For example, see the HGOTO_ERROR macros in H5FD_sec2_read() in src/H5FDsec2.c) Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r15800] Description:Quincey Koziol2008-10-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Bring file free space branch changes through r15795 into trunk, which includes a fair bit of code cleanup & rearrangement along with a couple of bug fixes also. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15510] Description:Quincey Koziol2008-08-211-2/+2
| | | | | | | | Clean up warnings & formatting Tested on: Mac OS X/32 10.5.4 (amazon) More tests forthcoming
* [svn-r15485] Purpose: Allow library to shut down properly when objects have ↵Neil Fortner2008-08-191-4/+4
| | | | | | | | | | | | | | | | reference count > 1. Description: Added a new field 'app_count' to H5I_id_info_t struct, to track the reference count on an id due to the application. the old 'count' field tracks the total. Generally any id visible to the application gets placed in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref, H5I_register, H5I_clear_type, and a few other functions, to specify whether the operation(s) being performed on the id(s) are due to the application (TRUE) or not (FALSE). Test added for this case. Tested: kagiso, smirom, linew (h5committest)
* [svn-r15374] Description:Quincey Koziol2008-07-161-3/+3
| | | | | | | Correct wrong error return value to avoid compiler warning Tested on: Just eyeballed, extremely minor
* [svn-r14284] Description:Quincey Koziol2007-11-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add H5Lvisit_by_name() API routine to library. Eliminated all (five!) other group traversal routines and changed them all to use the new API routine. Cleaned up output of h5ls & h5stat: - Issue error when requesting recursive traversal of a file with the "group info" flag, but no group given - Print info about root group in all(?) appropriate situations - Don't print "verbose" information about root group until the root group is in the list of objects to display (mostly because h5ls & h5stat had a different twist on traversing the groups in a file that the other utilities) Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14229] Description:Quincey Koziol2007-11-011-2/+2
| | | | | | | | | | | | | | | | | | | Change H5O[gs]et_comment to H5O[gs]et_comment_by_name and re-add simpler forms of H5O[gs]et_comment. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode