Go to the source code of this file.
|
| | !Copyright (C) 2003-2006 M. Marques |
| |
| either | or (at your option) !! any later version. !! !! This program is distributed in the hope that it will be useful |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug | mode (NDEBUG ! is defined). Otherwise it is merely a logical assertion that |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the and the line The subroutine !assert_die is in the global_m module !In one should normally use the | SAFE_ (DE) ALLOCATE macros below |
| |
| !in the one should use SAFE_DEALLOCATE_P for pointers and SAFE_DEALLOCATE_A !for arrays !A special version of the SAFE_ALLOCATE macro named SAFE_ALLOCATE_TYPE is also !provided to allocate a polymorphic variable This is necessary because of the !special Fortran syntax type::var !Some versions of GCC have a bug in the | sizeof () function such that the compiler crashes with a ICE ! when passing a polymorphic variable to the function and explicit array bounds are given. ! The workaround is not to pass the bounds to sizeof. Otherwise we could just use SAFE_ALLOCATE_TYPE. ! the TOSTRING macro converts a macro into a string ! do not use the STRINGIFY macro ! Whenever a procedure is not called too many times |
| |
|
| A | Castro |
| |
| A A | Rubio |
| |
| A A G Bertsch !This program is free | software |
| |
| you can redistribute it and or modify !it under the terms of the GNU General Public License as published by !the Free Software | Foundation |
| |
| either | version |
| |
| either !but WITHOUT ANY | WARRANTY |
| |
| without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the !GNU General Public License for more details !You should have received a copy of the GNU General Public License !along with this | program |
| |
| if | not |
| |
| if write to the Free Software | !Foundation |
| |
| if write to the Free Software | Inc |
| |
| if write to the Free Software Franklin | Street |
| |
| if write to the Free Software Franklin Fifth | Floor |
| |
| if write to the Free Software Franklin Fifth | Boston |
| |
| if write to the Free Software Franklin Fifth | MA |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when | fails |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion | string |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the | file |
| |
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the and the line The subroutine !assert_die is in the global_m module !In | octopus |
| |
| !in the | code |
| |
| !in the one should use SAFE_DEALLOCATE_P for pointers and SAFE_DEALLOCATE_A !for arrays !A special version of the SAFE_ALLOCATE macro named SAFE_ALLOCATE_TYPE is also !provided to allocate a polymorphic variable This is necessary because of the !special Fortran syntax type::var !Some versions of GCC have a bug in the one should start it !and finish it with the PUSH_SUB and POP_SUB | macros |
| |
◆ !Copyright()
◆ or()
| either or |
( |
at your |
option | ) |
|
◆ mode()
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug mode |
( |
NDEBUG ! is |
defined | ) |
|
◆ SAFE_()
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the and the line The subroutine !assert_die is in the global_m module !In one should normally use the SAFE_ |
( |
DE |
| ) |
|
◆ sizeof()
| !in the one should use SAFE_DEALLOCATE_P for pointers and SAFE_DEALLOCATE_A !for arrays !A special version of the SAFE_ALLOCATE macro named SAFE_ALLOCATE_TYPE is also !provided to allocate a polymorphic variable This is necessary because of the !special Fortran syntax type::var !Some versions of GCC have a bug in the sizeof |
( |
| ) |
|
◆ Castro
◆ Rubio
◆ software
| A A G Bertsch !This program is free software |
◆ Foundation
| you can redistribute it and or modify !it under the terms of the GNU General Public License as published by !the Free Software Foundation |
◆ version
◆ WARRANTY
| either !but WITHOUT ANY WARRANTY |
◆ program
| without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the !GNU General Public License for more details !You should have received a copy of the GNU General Public License !along with this program |
◆ not
◆ !Foundation
◆ Inc
| if write to the Free Software Inc |
◆ Street
| if write to the Free Software Franklin Street |
◆ Floor
| if write to the Free Software Franklin Fifth Floor |
◆ Boston
| if write to the Free Software Franklin Fifth Boston |
◆ MA
| if write to the Free Software Franklin Fifth MA |
◆ fails
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when fails |
◆ string
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion string |
◆ file
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the and the line The subroutine !assert_die is in the global_m module !In one should normally use the which emit !a helpful error if the allocation or deallocation fails They also take care of !calling the memory profiler The MY_DEALLOCATE macro is only used in this file |
◆ octopus
| if write to the Free Software Franklin Fifth USA !The assertions are ignored if the code is compiled in not debug when !prints out the assertion the and the line The subroutine !assert_die is in the global_m module !In octopus |
◆ code
◆ macros
| !in the one should use SAFE_DEALLOCATE_P for pointers and SAFE_DEALLOCATE_A !for arrays !A special version of the SAFE_ALLOCATE macro named SAFE_ALLOCATE_TYPE is also !provided to allocate a polymorphic variable This is necessary because of the !special Fortran syntax type::var !Some versions of GCC have a bug in the one should start it !and finish it with the PUSH_SUB and POP_SUB macros |