Este es el comando aarch64-linux-gnu-gfortran-5 que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
gfortran - compilador GNU Fortran
SINOPSIS
gfortran [-c|-S|-E]
[-g] [-página] [-Onivel]
[-Wadvertir...] [-pedante]
[-Idir...] [-Ldir...]
[-Dmacro[=definir] ...] [-Umacro]
[-fopción...]
[-mopción de máquina...]
[-o archivar] en archivo...
Aquí solo se enumeran las opciones más útiles; vea a continuación el resto.
DESCRIPCIÓN
El gfortran El comando admite todas las opciones admitidas por el gcc mando. Solo opciones
específicos de GNU Fortran se documentan aquí.
Todas las opciones de GCC y GNU Fortran son aceptadas tanto por gfortran y por gcc (así como cualquier
otros controladores construidos al mismo tiempo, como g ++), desde que se agregó GNU Fortran al GCC
La distribución permite la aceptación de las opciones de GNU Fortran por parte de todos los controladores relevantes.
En algunos casos, las opciones tienen formas positivas y negativas; la forma negativa de -fuf se
be -fno-foo. Este manual documenta solo uno de estos dos formularios, el que no sea el
predeterminado.
CAMPUS
A continuación se muestra un resumen de todas las opciones específicas de GNU Fortran, agrupadas por tipo.
Las explicaciones se encuentran en las siguientes secciones.
Fortran Idioma Opciones
-caída-intrínsecos -fbarra invertida -fcray-puntero -fd-líneas-como-código -fd-líneas-como-comentarios
-fdefault-doble-8 -f predeterminado-entero-8 -fdefault-real-8 -fdollar-ok
-longitud-de-línea-fija-n -longitud-de-línea-fija-ninguna de forma libre -longitud-de-línea-libre-n
-fres-line-length-none -implícito-ninguno -dedo-4-entero-8 -fmax-identificador-longitud
-fmodule-privado -forma-fija -fno-rango-control -fopenacc -fopenmp -freal-4-real-10
-freal-4-real-16 -freal-4-real-8 -freal-8-real-10 -freal-8-real-16 -freal-8-real-4
-std =enfermedades de transmisión sexual
preprocesamiento Opciones
-UN-pregunta[=https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be] -Apregunta=https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be -C -CC -Dmacro[=definir] -H -P -Umacro -cpp -DD
-dI -dM -dn -du -directorio-de-trabajo -imultilib dir -iprefijo presentar -Yo cito -isysroot dir
-sistema dir -nocpp -nostdinc -undef
Error y advertencia Opciones
-Waliasing -Pared -Wampersand -Límites de guerra -Tipo-encuadernación-WC -Wcharacter-truncamiento
-Wconversión -Función-eliminación -Interfaz débil -Procedimiento-debilucho
-Sombra-wintrínseca -Wuse-sin-solo -Wintrinsics-std -Wline-truncamiento
-Wno-alinear-comunes -Wno-pestañas -Constante-q-real -Ws sorprendente -Flujo maravilloso
-Parámetro-wunused -Wrealloc-lhs -Wrealloc-lhs-todos -Wtarget-vida -fmax-errores =n
-fsyntax-solo -pedante -Errores-pedantes
Depuración Opciones
-fbacktrace -fdump-fortran-optimizado -fdump-fortran-original -fdump-árbol-análisis
-ffpe-trap =lista -ffpe-resumen =lista
Directorio Opciones
-Idir -Jdir -ruta-módulos -fintrínsecos dir
Enlace Opciones
-estático-libgfortran
Runtime Opciones
-fconvert =conversión -fmax-subrecord-length =de largo -frecord-marker =de largo -fsign-cero
Código Generación Opciones
-eliminación-de-función-agresiva -fblas-matmul-limit =n -comprobación-de-límites
-fcheck-array-temporales -fcheck =
-fcoarray = -fexterno-blas -ff2c -frontend-optimizar
-finit-character =n -finit-integer =n -finit-local-cero -finit-lógico =
-finit-real = -fmax-array-constructor =n -fmax-stack-var-size =n
-fno-alinear-comunes -fno-automático -fno-proteger-parens -fno-subrayado
-fsecond-subrayado -fpack-derivado -frealloc-lhs -frecursivo -frepack-matrices
-f-enumeraciones cortas -fstack-matrices
Opciones CONTROL Fortran dialecto
Las siguientes opciones controlan los detalles del dialecto Fortran aceptado por el compilador:
de forma libre
-forma-fija
Especifique el diseño utilizado por el archivo de origen. El diseño de forma libre se introdujo en
Fortran 90. La forma fija se usaba tradicionalmente en los programas Fortran más antiguos. Cuando
no se especifica ninguna opción, la forma de origen está determinada por la extensión del archivo.
-caída-intrínsecos
Esta opción hace que todos los procedimientos intrínsecos (incluidas las extensiones específicas de GNU)
ser aceptado. Esto puede ser útil con -std = f95 para forzar el cumplimiento de las normas pero obtener
acceso a la gama completa de intrínsecos disponibles con gfortran. Como consecuencia,
-Wintrinsics-std será ignorado y ningún procedimiento definido por el usuario con el mismo nombre que
se llamará cualquier intrínseco excepto cuando se declare explícitamente "EXTERNAL".
-fd-líneas-como-código
-fd-líneas-como-comentarios
Habilite el tratamiento especial para las líneas que comienzan con "d" o "D" en fuentes de forma fija.
Si -fd-líneas-como-código se les da la opción, se tratan como si la primera columna
contenía un espacio en blanco. Si el -fd-líneas-como-comentarios se da la opción, se tratan como
líneas de comentarios.
-fdollar-ok
Permitir $ como un carácter válido que no es el primero en un nombre de símbolo. Símbolos que comienzan con $ en
rechazado ya que no está claro qué reglas aplicar a la escritura implícita como diferentes
los proveedores implementan diferentes reglas. Utilizando $ en las declaraciones "IMPLÍCITAS" también se rechaza.
-fbarra invertida
Cambiar la interpretación de barras invertidas en literales de cadena de una sola barra invertida
carácter a caracteres de escape "estilo C". Se amplían las siguientes combinaciones
"\ a", "\ b", "\ f", "\ n", "\ r", "\ t", "\ v", "\\" y "\ 0" a los caracteres ASCII
alerta, retroceso, alimentación de formulario, nueva línea, retorno de carro, pestaña horizontal, pestaña vertical,
barra invertida y NUL, respectivamente. Además, "\ x"nn, "\ u"nnnn y tú"nnnnnnnn
(donde cada n es un dígito hexadecimal) se traducen a caracteres Unicode
correspondiente a los puntos de código especificados. Todas las demás combinaciones de un personaje
precedidos por \ no están expandidos.
-fmodule-privado
Establezca la accesibilidad predeterminada de las entidades del módulo en "PRIVADO". Asociado al uso
las entidades no serán accesibles a menos que se declaren explícitamente como "PÚBLICAS".
-longitud-de-línea-fija-n
Establecer columna después de la cual los caracteres se ignoran en las líneas típicas de forma fija en el
archivo de origen, y a través de qué espacios se asumen (como si se rellenaran a esa longitud) después
los extremos de líneas cortas de forma fija.
Valores populares para n incluir 72 (el estándar y el predeterminado), 80 (imagen de la tarjeta) y
132 (correspondiente a las opciones de "fuente extendida" en algunos compiladores populares). n podrían
también ser ninguna, lo que significa que toda la línea es significativa y que el carácter continuo
las constantes nunca tienen espacios implícitos anexados para completar la línea.
-línea-fija-longitud-0 significa lo mismo que -longitud-de-línea-fija-ninguna.
-longitud-de-línea-libre-n
Establecer columna después de la cual se ignoran los caracteres en las líneas típicas de forma libre en la fuente
expediente. El valor predeterminado es 132. n puede ser ninguna, lo que significa que toda la línea es
significativo. -file-line-length-0 significa lo mismo que -fres-line-length-none.
-fmax-identifier-length =n
Especifique la longitud máxima permitida del identificador. Los valores típicos son 31 (Fortran 95) y
63 (Fortran 2003 y Fortran 2008).
-implícito-ninguno
Especifique que no se permite la escritura implícita, a menos que se anule con "IMPLICIT" explícito
declaraciones. Esto es el equivalente a agregar "ninguno implícito" al comienzo de cada
procedimiento.
-fcray-puntero
Habilite la extensión de puntero Cray, que proporciona una funcionalidad de puntero similar a C.
-fopenacc
Habilite las extensiones OpenACC. Esto incluye las directivas OpenACC "! $ Acc" en forma libre
y las directivas "c $ acc", * $ acc y "! $ acc" en forma fija, compilación condicional "! $"
centinelas en forma libre y centinelas "c $", "* $" y "! $" en forma fija, y cuando
La vinculación organiza la vinculación de la biblioteca en tiempo de ejecución de OpenACC.
Tenga en cuenta que esta es una función experimental, incompleta y sujeta a cambios en el futuro.
versiones de GCC. Verhttps://gcc.gnu.org/wiki/OpenACC> para obtener más información.
-fopenmp
Habilite las extensiones OpenMP. Esto incluye las directivas OpenMP "! $ Omp" en forma libre
y las directivas "c $ omp", * $ omp y "! $ omp" en forma fija, compilación condicional "! $"
centinelas en forma libre y centinelas "c $", "* $" y "! $" en forma fija, y cuando
La vinculación organiza la vinculación de la biblioteca en tiempo de ejecución de OpenMP. La opción -fopenmp
implica -frecursivo.
-fno-rango-control
Desactive la verificación de rango en los resultados de la simplificación de expresiones constantes durante
Compilacion. Por ejemplo, GNU Fortran dará un error en tiempo de compilación cuando
simplificando "a = 1. / 0". Con esta opción, no se dará ningún error y se mostrará "a".
asignó el valor "+ Infinito". Si una expresión se evalúa como un valor fuera del
rango relevante de ["-HUGE ()": "HUGE ()"], entonces la expresión será reemplazada por "-Inf"
o "+ Inf" según corresponda. Del mismo modo, "DATA i / Z'FFFFFFFF '/" dará como resultado un número entero
desbordamiento en la mayoría de los sistemas, pero con -fno-rango-control el valor se "envolverá" y
"i" se inicializará en -1 en su lugar.
-f predeterminado-entero-8
Establezca los tipos enteros y lógicos predeterminados en un tipo de ancho de 8 bytes. Esta opción también
afecta el tipo de constantes enteras como 42. A diferencia de -dedo-4-entero-8, lo hace
no promover variables con declaración de tipo explícita.
-fdefault-real-8
Establezca el tipo real predeterminado en un tipo de ancho de 8 bytes. Esta opción también afecta el tipo de
constantes reales no dobles como 1.0, y promueve el ancho predeterminado de "DOBLE
PRECISION "a 16 bytes si es posible, a menos que también se proporcione" -fdefault-double-8 ".
-freal-4-real-8, no promueve variables con declaración de tipo explícita.
-fdefault-doble-8
Establezca el tipo "DOBLE PRECISIÓN" en un tipo de 8 bytes de ancho. No hagas nada si esto ya es
el valor por defecto. Si -fdefault-real-8 se da, "DOBLE PRECISIÓN" sería
promovido a 16 bytes si es posible, y -fdefault-doble-8 se puede utilizar para prevenir esto.
El tipo de constantes reales como "1.d0" no cambiará por -fdefault-real-8 aunque,
así también -fdefault-doble-8 no lo afecta.
-dedo-4-entero-8
Promocione todas las entidades "INTEGER (KIND = 4)" a entidades "INTEGER (KIND = 8)". Si "KIND = 8"
no está disponible, se emitirá un error. Esta opción debe usarse con cuidado
y puede que no sea adecuado para sus códigos. Las áreas de posible preocupación incluyen llamadas a
procedimientos externos, alineación en "EQUIVALENCIA" y / o "COMÚN", interfaces genéricas,
Conversión constante literal BOZ y E / S. Inspección del intermedio
representación del código Fortran traducido, producido por -fdump-árbol-original, es
sugerido.
-freal-4-real-8
-freal-4-real-10
-freal-4-real-16
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16
Promocione todas las entidades "REAL (KIND = M)" a entidades "REAL (KIND = N)". Si "REAL (KIND = N)" es
no disponible, se emitirá un error. Todos los demás tipos reales no se ven afectados
por esta opción. Estas opciones deben usarse con cuidado y pueden no ser adecuadas para
sus códigos. Las áreas de posible preocupación incluyen llamadas a procedimientos externos, alineación
en "EQUIVALENCIA" y / o "COMÚN", interfaces genéricas, conversión constante literal BOZ,
y E / S. Inspección de la representación intermedia del Fortran traducido
código, producido por -fdump-árbol-original, es sugerido.
-std =enfermedades de transmisión sexual
Especifique el estándar al que se espera que se ajuste el programa, que puede ser uno de
f95, f2003, f2008, ñuo legado. El valor predeterminado para enfermedades de transmisión sexual is ñu, que especifica
un superconjunto del estándar Fortran 95 que incluye todas las extensiones admitidas por
GNU Fortran, aunque se darán advertencias para extensiones obsoletas no recomendadas
para usar en código nuevo. los legado el valor es equivalente pero sin las advertencias para
extensiones obsoletas y puede ser útil para programas antiguos no estándar. los f95, f2003
y f2008 Los valores especifican una estricta conformidad con Fortran 95, Fortran 2003 y
Estándares Fortran 2008, respectivamente; Se dan errores para todas las extensiones más allá del
estándar de idioma relevante, y se dan advertencias para las características de Fortran 77 que
están permitidos pero obsoletos en estándares posteriores. -std = f2008ts permite que el Fortran 2008
estándar, incluidas las adiciones de la Especificación técnica (TS) 29113 en Más
Interoperabilidad de Fortran con C y TS 18508 en funciones paralelas adicionales en
Fortrán.
permitir y personalizan preprocesamiento
Opciones relacionadas con el preprocesador. Mira la sección preprocesamiento y condicional compilación para
información más detallada sobre el preprocesamiento en gfortran.
-cpp
-nocpp
Habilite el preprocesamiento. El preprocesador se invoca automáticamente si la extensión del archivo
is .fpp, .FPP, .F, .POR, .FTN, .F90, .F95, .F03 or .F08. Utilice esta opción para
habilitar el preprocesamiento de cualquier tipo de archivo Fortran.
Para deshabilitar el preprocesamiento de archivos con cualquiera de las extensiones enumeradas anteriormente, use el
forma negativa: -nocpp.
El preprocesador se ejecuta en modo tradicional. Cualquier restricción del formato de archivo,
especialmente los límites en la longitud de la línea, se aplican también a la salida preprocesada, por lo que
Podría ser aconsejable utilizar el -fres-line-length-none or -longitud-de-línea-fija-ninguna
.
-dM En lugar de la salida normal, genere una lista de directivas '#define' para todos los
macros definidas durante la ejecución del preprocesador, incluidas las macros predefinidas.
Esto le brinda una forma de averiguar lo que está predefinido en su versión del
preprocesador. Suponiendo que no tiene archivo foo.f90, El comando
toque foo.f90; gfortran -cpp -E -dM foo.f90
mostrará todas las macros predefinidas.
-DD Me gusta -dM excepto en dos aspectos: no incluye las macros predefinidas, y
genera tanto las directivas "#define" como el resultado del preprocesamiento. Ambos tipos de
la salida va al archivo de salida estándar.
-dn Me gusta -DD, pero emiten solo los nombres de las macros, no sus expansiones.
-du Me gusta dD excepto que solo las macros que se expanden, o cuya definición se prueba en
las directivas del preprocesador se emiten; la salida se retrasa hasta el uso o prueba de
la macro; y las directivas '#undef' también se generan para macros probadas pero no definidas en
el tiempo.
-dI Directivas de salida '#include' además del resultado del preprocesamiento.
-directorio-de-trabajo
Habilite la generación de marcadores de línea en la salida del preprocesador que permitirá al compilador
conocer el directorio de trabajo actual en el momento del preprocesamiento. Cuando esta opción es
habilitado, el preprocesador emitirá, después del marcador de línea inicial, un segundo marcador de línea
con el directorio de trabajo actual seguido de dos barras. GCC usará esto
directorio, cuando está presente en la entrada preprocesada, como el directorio emitido como
el directorio de trabajo actual en algunos formatos de información de depuración. Esta opcion es
habilitado implícitamente si la información de depuración está habilitada, pero esto se puede inhibir con
la forma negada -directorio-de-trabajo-fno. Si el -P la bandera está presente en el comando
line, esta opción no tiene ningún efecto, ya que no se emiten directivas "#line" en absoluto.
-idirdespués dir
Buscar dir para incluir archivos, pero hágalo después de todos los directorios especificados con -I y
se han agotado los directorios estándar del sistema. dir se trata como un sistema
incluir directorio. Si dir comienza con "=", entonces el "=" será reemplazado por el
prefijo sysroot; ver --sysroot y -isysroot.
-imultilib dir
Uso dir como subdirectorio del directorio que contiene encabezados de C ++ específicos del destino.
-iprefijo prefijo
Especificar prefijo como prefijo para los siguientes -icon prefijo opciones. Si el prefijo
representa un directorio, debe incluir el '/' final.
-isysroot dir
Esta opción es como la --sysroot opción, pero se aplica solo a los archivos de encabezado. Ver el
--sysroot opción para obtener más información.
-Yo cito dir
Buscar dir solo para archivos de encabezado solicitados con "#include" file ""; no son
buscó "#include ", antes de todos los directorios especificados por -I y antes del
directorios del sistema estándar. Si dir comienza con "=", luego "=" será reemplazado por
el prefijo sysroot; ver --sysroot y -isysroot.
-sistema dir
Buscar dir para archivos de encabezado, después de todos los directorios especificados por -I pero antes del
directorios del sistema estándar. Márquelo como un directorio del sistema, para que obtenga el mismo
tratamiento especial que se aplica a los directorios del sistema estándar. Si dir empieza con
"=", entonces el "=" será reemplazado por el prefijo sysroot; ver --sysroot y -isysroot.
-nostdinc
No busque archivos de encabezado en los directorios del sistema estándar. Solo los directorios
has especificado con -I opciones (y el directorio del archivo actual, si
apropiado) se buscan.
-undef
No predefinir macros específicas del sistema o de GCC. El estándar predefinido
las macros permanecen definidas.
-Apredicado=https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be
Hacer una afirmación con el predicado predicado y la respuesta https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be. Esta forma es
preferido a la forma anterior -A predicado (respuesta), que todavía se admite, porque
no utiliza caracteres especiales de shell.
-UN-predicado=https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be
Cancelar una aserción con el predicado predicado y la respuesta https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be.
-C No descarte los comentarios. Todos los comentarios se pasan al archivo de salida, excepto
para comentarios en directivas procesadas, que se eliminan junto con la directiva.
Debe estar preparado para los efectos secundarios al usar -C; hace que el preprocesador
tratar los comentarios como tokens por derecho propio. Por ejemplo, los comentarios que aparecen en el
comienzo de lo que sería una línea directiva tiene el efecto de convertir esa línea en una
línea fuente ordinaria, ya que el primer token de la línea ya no es un '#'.
Advertencia: esto actualmente solo maneja comentarios de estilo C. El preprocesador aún no
reconocer los comentarios al estilo de Fortran.
-CC No descarte los comentarios, incluso durante la expansión de macros. Esto es como -C, excepto
que los comentarios contenidos en las macros también se pasan al archivo de salida donde
la macro se expande.
Además de los efectos secundarios del -C opción, la -CC opción causa todo estilo C ++
comentarios dentro de una macro para convertirlos en comentarios de estilo C. Esto es para prevenir mas tarde
uso de esa macro de comentar inadvertidamente el resto de la línea fuente.
El -CC La opción se usa generalmente para admitir comentarios de lint.
Advertencia: esto actualmente maneja C- y C ++: solo comentarios de estilo. El preprocesador hace
aún no reconozco los comentarios al estilo de Fortran.
-Dnombre
Predefinir el nombre como una macro, con la definición 1.
-Dnombre =definición
Los contenidos de definición son tokenizados y procesados como si aparecieran durante
fase de traducción tres en una directiva '#define'. En particular, la definición
ser truncado por caracteres de nueva línea incrustados.
Si está invocando el preprocesador desde un shell o un programa similar al shell, es posible que necesite
utilizar la sintaxis de comillas del shell para proteger caracteres como espacios que tienen un
significado en la sintaxis de shell.
Si desea definir una macro similar a una función en la línea de comando, escriba su argumento
lista con paréntesis alrededor antes del signo igual (si lo hay). Los paréntesis son
significativo para la mayoría de los proyectiles, por lo que deberá citar la opción. Con sh y csh,
"-D'name (args ...) = definition '" funciona.
-D y -U las opciones se procesan en el orden en que se dan en la línea de comando. Todos
Las opciones -imacros file e -include file se procesan después de todas las opciones -D y -U.
-H Imprima el nombre de cada archivo de encabezado utilizado, además de otras actividades normales. Cada
El nombre está sangrado para mostrar qué tan profundo está en la pila '#include'.
-P Inhibe la generación de marcadores de línea en la salida del preprocesador. Esto podría ser
útil cuando se ejecuta el preprocesador en algo que no es código C, y se enviará
a un programa que podría confundirse con los marcadores de línea.
-Unombre
Cancelar cualquier definición previa de nombre , ya sea integrado o provisto de un -D .
Opciones a solicita or reprimir errores y advertencias
Los errores son mensajes de diagnóstico que informan que el compilador GNU Fortran no puede compilar
el fragmento relevante de código fuente. El compilador continuará procesando el programa en
un intento de informar más errores para ayudar en la depuración, pero no producirá ninguna compilación
salida.
Las advertencias son mensajes de diagnóstico que informan de construcciones que no son inherentemente
erróneos pero que son riesgosos o sugieren que es probable que haya un error en el programa.
A no ser que -Error se especifica, no impiden la compilación del programa.
Puede solicitar muchas advertencias específicas con opciones que comienzan -W, Por ejemplo -Wimplícito
para solicitar advertencias sobre declaraciones implícitas. Cada una de estas opciones de advertencia específicas también
tiene un comienzo de forma negativa -No- para desactivar las advertencias; por ejemplo, -Wno-implícito.
Este manual enumera solo uno de los dos formularios, el que no sea el predeterminado.
Estas opciones controlan la cantidad y los tipos de errores y advertencias producidos por GNU Fortran:
-fmax-errores =n
Limita el número máximo de mensajes de error a n, momento en el que GNU Fortran se retira
en lugar de intentar seguir procesando el código fuente. Si n es 0, no hay
límite en el número de mensajes de error producidos.
-fsyntax-solo
Verifique el código en busca de errores de sintaxis, pero no lo compile. Esto generará
archivos de módulo para cada módulo presente en el código, pero ningún otro archivo de salida.
-pedante
Emitir advertencias sobre el uso de extensiones de Fortran 95. -pedante también se aplica a
Construcciones de lenguaje C donde ocurren en los archivos fuente de GNU Fortran, como el uso de \e
en una constante de carácter dentro de una directiva como "#include".
Los programas válidos de Fortran 95 deben compilarse correctamente con o sin esta opción.
Sin embargo, sin esta opción, ciertas extensiones GNU y características tradicionales de Fortran
también son compatibles. Con esta opción, muchos de ellos son rechazados.
Algunos usuarios intentan usar -pedante para comprobar la conformidad de los programas. Pronto encuentran
que no hace exactamente lo que quieren --- encuentra algunas prácticas no estándar, pero
no todo. Sin embargo, las mejoras de GNU Fortran en esta área son bienvenidas.
Esto debe usarse junto con -std = f95, -std = f2003 or -std = f2008.
-Errores-pedantes
Me gusta -pedante, excepto que se producen errores en lugar de advertencias.
-Pared
Habilita las opciones de advertencia de uso común relacionadas con el uso que recomendamos evitar
y que creemos que son fáciles de evitar. Esto incluye actualmente -Waliasing,
-Wampersand, -Wconversión, -Ws sorprendente, -Tipo-encuadernación-WC, -Wintrinsics-std,
-Wno-pestañas, -Sombra-wintrínseca, -Wline-truncamiento, -Wtarget-vida, -Constante-q-real
y -Wunused.
-Waliasing
Advierte sobre posibles aliasing de argumentos ficticios. En concreto, advierte si el mismo
el argumento real está asociado con un argumento ficticio con "INTENT (IN)" y un argumento ficticio
argumento con "INTENTO (SALIDA)" en una llamada con una interfaz explícita.
El siguiente ejemplo activará la advertencia.
interfaz.
barra de subrutinas (a, b)
entero, intención (en) :: a
entero, intención (fuera) :: b
subrutina final
interfaz final
entero :: a
barra de llamadas (a, a)
-Wampersand
Advierte sobre la falta de ampersand en constantes de caracteres continuas. Se da la advertencia
-Wampersand, -pedante, -std = f95, -std = f2003 y -std = f2008. Nota: Sin
ampersand dado en una constante de carácter continua, GNU Fortran asume la continuación en
el primer carácter sin comentarios ni espacios en blanco después del y que inició el
continuación.
-Warray-provisionales
Advierte sobre los temporales de matriz generados por el compilador. La información generada por
esta advertencia a veces es útil en la optimización, con el fin de evitar tales temporales.
-Tipo-encuadernación-WC
Advertir si la variable a podría no ser interoperable en C. En particular, advierta si el
La variable ha sido declarada usando un tipo intrínseco con un tipo predeterminado en lugar de usar
un parámetro de tipo definido para la interoperabilidad de C en el intrínseco "ISO_C_Binding"
módulo. Esta opción está implícita en -Pared.
-Wcharacter-truncamiento
Advertir cuando una asignación de carácter truncará la cadena asignada.
-Wline-truncamiento
Advertir cuando se truncará una línea de código fuente. Esta opción está implícita en -Pared. For
código fuente de forma libre, el valor predeterminado es -Werror = truncamiento de línea tal que trunca
se informan como error.
-Wconversión
Advertir sobre conversiones implícitas que probablemente cambien el valor de la expresión
después de la conversión. Implicado por -Pared.
-Wconversion-extra
Advierte sobre conversiones implícitas entre diferentes tipos y clases. Esta opción hace
no implicar -Wconversión.
-Wextra
Habilita algunas opciones de advertencia para los usos de las funciones del lenguaje que pueden resultar problemáticos.
Esto incluye actualmente -Wcompare-reales y -Parámetro-wunused.
-Interfaz débil
Advierte si se llama a un procedimiento sin una interfaz explícita. Tenga en cuenta que esto solo comprueba
que está presente una interfaz explícita. No comprueba que las interfaces declaradas
son consistentes en todas las unidades del programa.
-Procedimiento-debilucho
Advertir si se llama a un procedimiento que no tiene una interfaz explícita ni ha sido
declarado como "EXTERNO".
-Wintrinsics-std
Advertir si gfortran encuentra un procedimiento llamado como intrínseco no disponible en el
estándar actualmente seleccionado (con -estándar) y lo trata como un procedimiento "EXTERNO" porque
de esta. -caída-intrínsecos se puede usar para nunca activar este comportamiento y siempre vincular
al intrínseco independientemente del estándar seleccionado.
-Constante-q-real
Produce una advertencia si una constante-literal-real contiene una letra-exponente "q".
-Ws sorprendente
Genere una advertencia cuando se encuentren construcciones de código "sospechosas". Tiempo
técnicamente legales, normalmente indican que se ha cometido un error.
Actualmente, esto produce una advertencia en las siguientes circunstancias:
* Una construcción INTEGER SELECT tiene un CASE que nunca se puede igualar como su
el valor es mayor que su valor superior.
* Una construcción LOGICAL SELECT tiene tres declaraciones CASE.
* Una TRANSFERENCIA especifica una fuente que es más corta que el destino.
* El tipo de resultado de una función se declara más de una vez con el mismo tipo. Si
-pedante o el modo de conformidad con el estándar está habilitado, esto es un error.
* Se declara una variable "CHARACTER" con longitud negativa.
-Pestañas
De forma predeterminada, las pestañas se aceptan como espacios en blanco, pero las pestañas no son miembros de Fortran
Conjunto de caracteres. Para las líneas de continuación, se muestra una tabulación seguida de un dígito entre 1 y 9.
soportado. -Pestañas hará que se emita una advertencia si se encuentra una pestaña. Nota,
-Pestañas está activo para -pedante, -std = f95, -std = f2003, -std = f2008, -std = f2008ts y
-Pared.
-Flujo maravilloso
Producir una advertencia cuando se encuentran expresiones constantes numéricas, que producen una
BAJO FLUJO durante la compilación. Habilitado por defecto.
-Sombra-wintrínseca
Advertir si un procedimiento definido por el usuario o un procedimiento de módulo tiene el mismo nombre que un
intrínseco; en este caso, una interfaz explícita o "EXTERNAL" o "INTRINSIC"
Es posible que se necesite una declaración para que las llamadas se resuelvan más tarde al nivel deseado.
intrínseco / procedimiento. Esta opción está implícita en -Pared.
-Wuse-sin-solo
Advertir si una instrucción "USE" no tiene un calificador "ONLY" y, por lo tanto, importa implícitamente todos
entidades públicas del módulo utilizado.
-Argumento-falso-sin-usar
Advierte sobre argumentos ficticios no utilizados. Esta opción está implícita en -Pared.
-Parámetro-wunused
Contrariamente a gccel significado de -Parámetro-wunused, gfortranla implementación de este
La opción no advierte sobre argumentos ficticios no utilizados (consulte -Argumento-falso-sin-usar), Pero
sobre los valores de "PARÁMETRO" no utilizados. -Parámetro-wunused está implícito en -Wextra si tambien
-Wunused or -Pared se utiliza.
-Walign-comunes
De forma predeterminada, gfortran advierte sobre cualquier ocasión en que las variables se rellenen para
alineación dentro de un bloque "COMÚN". Esta advertencia se puede desactivar mediante
-Wno-alinear-comunes. Vea también la -falign-comunes.
-Función-eliminación
Advertir si las llamadas a funciones son eliminadas por las optimizaciones habilitadas por el
-frontend-optimizar .
-Wrealloc-lhs
Advertir cuando el compilador podría insertar código para la asignación o reasignación de un
variable de matriz asignable de tipo intrínseco en asignaciones intrínsecas. En bucles calientes,
la función de reasignación de Fortran 2003 puede reducir el rendimiento. Si la matriz es
ya asignado con la forma correcta, considere usar una especificación de matriz de matriz completa
(por ejemplo, "(:,:, :)") para la variable en el lado izquierdo para evitar la reasignación
cheque. Tenga en cuenta que en algunos casos se muestra la advertencia, incluso si el compilador
optimizar los controles de reasignación. Por ejemplo, cuando el lado derecho contiene
la misma variable multiplicada por un escalar. Ver también -frealloc-lhs.
-Wrealloc-lhs-todos
Advertir cuando el compilador inserta código para la asignación o reasignación de un
variable asignable; esto incluye escalares y tipos derivados.
-Wcompare-reales
Advertir al comparar tipos reales o complejos de igualdad o desigualdad. Esta opcion es
implicado por -Wextra.
-Wtarget-vida
Advierte si el puntero en una asignación de puntero puede ser más largo que su objetivo. Esta
La opción está implícita en -Pared.
-Wcerotrip
Advierte si se sabe que un bucle "DO" se ejecuta cero veces en tiempo de compilación. Esta opcion es
implicado por -Pared.
-Error
Convierte todas las advertencias en errores.
Algunos de estos no tienen ningún efecto al compilar programas escritos en Fortran.
Opciones para depuración su proveedor programa or GNU Fortran
GNU Fortran tiene varias opciones especiales que se utilizan para depurar su programa o
el compilador GNU Fortran.
-fdump-fortran-original
Genere el árbol de análisis interno después de traducir el programa fuente al interno.
representación. Solo es realmente útil para depurar el propio compilador GNU Fortran.
-fdump-fortran-optimizado
Genere el árbol de análisis después de la optimización del front-end. Solo realmente útil para depurar
el propio compilador GNU Fortran.
-fdump-árbol-análisis
Genere el árbol de análisis interno después de traducir el programa fuente al interno.
representación. Solo es realmente útil para depurar el propio compilador GNU Fortran.
Esta opción está obsoleta; utilice "-fdump-fortran-original" en su lugar.
-ffpe-trap =lista
Especifique una lista de capturas de excepciones de punto flotante para habilitar. En la mayoría de los sistemas, si un
se produce una excepción de punto flotante y la trampa para esa excepción está habilitada, un SIGFPE
Se enviará la señal y se cancelará el programa, lo que producirá un archivo central útil para
depuración. lista es una lista (posiblemente vacía) separada por comas de lo siguiente
excepciones: inválido (operación de coma flotante no válida, como "SQRT (-1.0)"), cero
(división por cero), desbordarse (desbordamiento en una operación de coma flotante), desbordamiento
(subdesbordamiento en una operación de punto flotante), falso (pérdida de precisión durante
operación), y desnormal (operación realizada sobre un valor desnormal). Los primeros cinco
las excepciones corresponden a las cinco excepciones IEEE 754, mientras que la última (desnormal)
no es parte del estándar IEEE 754 pero está disponible en algunas arquitecturas comunes
como x86.
Las tres primeras excepciones (inválido, ceroy desbordarse) a menudo indican graves
errores y, a menos que el programa tenga disposiciones para hacer frente a estas excepciones,
habilitar trampas para estas tres excepciones es probablemente una buena idea.
Muchas, si no la mayoría, de las operaciones de coma flotante incurren en pérdida de precisión debido al redondeo,
y, por tanto, es probable que "ffpe-trap = inexact" no resulte interesante en la práctica.
De forma predeterminada, no se habilitan trampas de excepción.
-ffpe-resumen =lista
Especifique una lista de excepciones de punto flotante, cuyo estado de bandera se imprime en
"ERROR_UNIT" al invocar "STOP" y "ERROR STOP". lista pueden ser cualquiera de los dos ninguna, todos o un
lista separada por comas de las siguientes excepciones: inválido, cero, desbordarse, desbordamiento,
falso y desnormal. (Véase -fpe-trampa para obtener una descripción de las excepciones).
De forma predeterminada, un resumen de todas las excepciones, pero falso se muestra.
-fno-retroceso
Cuando se encuentra un error de tiempo de ejecución grave o se emite una señal mortal
(falla de segmentación, instrucción ilegal, error de bus, excepción de punto flotante y la
otras señales POSIX que tienen la acción core), la biblioteca de tiempo de ejecución de Fortran intenta
generar un seguimiento del error. "-fno-backtrace" desactiva la generación de backtrace.
Esta opción solo tiene influencia para la compilación del programa principal de Fortran.
Opciones para directorio Buscar
Estas opciones afectan la forma en que GNU Fortran busca archivos especificados por "INCLUDE"
directiva y donde busca módulos previamente compilados.
También afecta a las rutas de búsqueda utilizadas por cpp cuando se usa para preprocesar la fuente Fortran.
-Idir
Estos afectan la interpretación de la directiva "INCLUDE" (así como de la directiva "#include"
directiva de la cpp preprocesador).
También tenga en cuenta que el comportamiento general de -I y "INCLUDE" es prácticamente lo mismo que en
-I con "#include" en el cpp preprocesador, con respecto a buscar encabezado.gcc
archivos y otras cosas similares.
Esta ruta también se utiliza para buscar .modificación archivos cuando los módulos previamente compilados son
requerido por una declaración "USE".
-Jdir
Esta opción especifica dónde poner .modificación archivos para módulos compilados. También se agrega
a la lista de directorios a buscar mediante una instrucción "USE".
El predeterminado es el directorio actual.
-ruta-módulos -fintrínsecos dir
Esta opción especifica la ubicación de los módulos intrínsecos precompilados, si no están
en la ubicación predeterminada esperada por el compilador.
Influencia las enlace paso
Estas opciones entran en juego cuando el compilador vincula archivos de objeto a un ejecutable.
archivo de salida. No tienen sentido si el compilador no realiza un paso de enlace.
-estático-libgfortran
En sistemas que proporcionan libgfortran como una biblioteca compartida y estática, esta opción
fuerza el uso de la versión estática. Si no hay una versión compartida de libgfortran fue construida
cuando se configuró el compilador, esta opción no tiene ningún efecto.
Influencia tiempo de ejecución comportamiento
Estas opciones afectan el comportamiento en tiempo de ejecución de los programas compilados con GNU Fortran.
-fconvert =conversión
Especifique la representación de datos para archivos sin formato. Valores válidos para conversión
son: nativo, el valor por defecto; intercambio, intercambio entre big- y little-endian; big endian, Utilizar
representación big-endian para archivos sin formato; ascendente hacia la izquierda, usa little-endian
representación para archivos sin formato.
Este opción tiene an efecto , solamente cuando usado in las principal . El "CONVERTIR" especificador
y las GFORTRAN_CONVERT_UNIT entorno variable anular las tu préstamo estudiantil especificado by
-fconvertir.
-frecord-marker =de largo
Especifique la longitud de los marcadores de registro para archivos sin formato. Valores válidos para de largo
son 4 y 8. El valor predeterminado es 4. Este is una experiencia diferente en anterior versiones of gfortran,
que especificaba una longitud de marcador de registro predeterminada de 8 en la mayoría de los sistemas. Si quieres
leer o escribir archivos compatibles con versiones anteriores de gfortran, Utilizar
-marcador-de-registro = 8.
-fmax-subrecord-length =de largo
Especifique la longitud máxima de un subregistro. El valor máximo permitido para la longitud es
2147483639, que también es el predeterminado. Solo realmente útil para el uso del gfortran
Banco de pruebas.
-fsign-cero
Cuando está habilitado, se escriben números de coma flotante de valor cero con el bit de signo establecido
como número negativo en la salida formateada y tratado como negativo en el "SIGN"
intrínseco. -fno-signo-cero no imprime el signo negativo de los valores cero (o valores
redondeado a cero para E / S) y considera cero como un número positivo en el "SIGN" intrínseco
para compatibilidad con Fortran 77. El valor predeterminado es -fsign-cero.
Opciones para código generación de AHSS convenciones
Estas opciones independientes de la máquina controlan las convenciones de interfaz utilizadas en el código.
generación.
La mayoría de ellos tienen formas tanto positivas como negativas; la forma negativa de -fuf sería
-fno-foo. En la siguiente tabla, solo se enumera uno de los formularios --- el que no es el
defecto. Puede averiguar la otra forma eliminando nO- o agregarlo.
-fno-automático
Trate cada unidad de programa (excepto las marcadas como RECURSIVAS) como si la declaración "SAVE"
se especificaron para cada variable local y matriz referenciada en ella. No afecta
bloques comunes. (Algunos compiladores de Fortran ofrecen esta opción con el nombre -estático or
-salvar.) El valor predeterminado, que es -fautomático, usa la pila para variables locales más pequeñas
que el valor dado por -fmax-stack-var-tamaño. Usa la opción -frecursivo no usar
memoria estática.
-ff2c
Genere código diseñado para ser compatible con el código generado por g77 y f2c.
Las convenciones de llamada utilizadas por g77 (implementado originalmente en f2c) requieren funciones
que devuelve el tipo predeterminado "REAL" para devolver realmente el tipo C "doble", y las funciones
que devuelve el tipo "COMPLEJO" para devolver los valores a través de un argumento adicional en la llamada
secuencia que apunta a dónde almacenar el valor de retorno. Bajo el GNU predeterminado
convenciones de llamada, tales funciones simplemente devuelven sus resultados como lo harían en GNU
C --- las funciones "REAL" predeterminadas devuelven el tipo C "flotante", y las funciones "COMPLEJAS" devuelven
el tipo GNU C "complejo". Además, esta opción implica la -fsecond-subrayado
opción, a menos que -fno-segundo-subrayado se solicita explícitamente.
Esto no afecta la generación de código que interactúa con el libgfortran
biblioteca.
Precaución: No es una buena idea mezclar código Fortran compilado con -ff2c con el código de
compilado con el predeterminado -fno-f2c llamar a convenciones como, llamar "COMPLEJO" o
funciones "REAL" por defecto entre las partes del programa que se compilaron con diferentes
las convenciones de llamada se romperán en el momento de la ejecución.
Precaución: Esto romperá el código que pasa funciones intrínsecas de tipo predeterminado "REAL"
o "COMPLEJO" como argumentos reales, ya que las implementaciones de la biblioteca utilizan el -fno-f2c
convenciones de llamadas.
-fno-subrayado
No transforme los nombres de las entidades especificadas en el archivo fuente de Fortran agregando
les subraya.
Con -puntuacion en efecto, GNU Fortran agrega un guión bajo a los nombres externos
sin guiones bajos. Esto se hace para asegurar la compatibilidad con el código producido por muchos
Compiladores de UNIX Fortran.
Precaución: El comportamiento predeterminado de GNU Fortran es incompatible con f2c y g77, Por favor
utilizar el -ff2c opción si desea que los archivos objeto compilados con GNU Fortran sean
compatible con el código objeto creado con estas herramientas.
El uso del sitio web de -fno-subrayado no se recomienda a menos que esté experimentando con problemas
como la integración de GNU Fortran en entornos de sistemas existentes (frente a
bibliotecas, herramientas, etc. existentes).
Por ejemplo, con -puntuacion, y asumiendo que "j ()" y "max_count ()" son
funciones externas mientras que "my_var" y "lvar" son variables locales, una declaración como
I = J () + MAX_COUNT (MI_VAR, LVAR)
se implementa como algo parecido a:
i = j_ () + conteo_máximo __ (& mi_var__, & lvar);
Con -fno-subrayado, la misma declaración se implementa como:
i = j () + conteo_máx (& my_var, & lvar);
El uso del sitio web de -fno-subrayado permite la especificación directa de nombres definidos por el usuario mientras
depuración y al interactuar el código GNU Fortran con otros lenguajes.
Tenga en cuenta que solo porque los nombres coinciden no significa que la interfaz implementada por
GNU Fortran para un nombre externo coincide con la interfaz implementada por algún otro
idioma para ese mismo nombre. Es decir, conseguir que el código producido por GNU Fortran se vincule a
El código producido por algún otro compilador utilizando este o cualquier otro método puede ser sólo un
una pequeña parte de la solución general --- obtener el código generado por ambos compiladores para
ponerse de acuerdo en cuestiones distintas a la denominación puede requerir un esfuerzo considerable y, a diferencia de la denominación
desacuerdos, los enlazadores normalmente no pueden detectar desacuerdos en estas otras áreas.
Además, tenga en cuenta que con -fno-subrayado, la falta de guiones bajos adjuntos introduce
la posibilidad muy real de que un nombre externo definido por el usuario entre en conflicto con un nombre
en una biblioteca del sistema, lo que podría hacer que la búsqueda de errores de referencia sin resolver
difícil en algunos casos --- pueden ocurrir durante el tiempo de ejecución del programa y aparecer sólo como
comportamiento de errores en tiempo de ejecución.
En futuras versiones de GNU Fortran, esperamos mejorar los problemas de nomenclatura y vinculación para que
La depuración siempre implica el uso de los nombres tal como aparecen en la fuente, incluso si el
Los nombres, tal como los ve el enlazador, están alterados para evitar enlaces accidentales entre
procedimientos con interfaces incompatibles.
-fsecond-subrayado
De forma predeterminada, GNU Fortran agrega un guión bajo a los nombres externos. Si esta opcion es
usado GNU Fortran agrega dos guiones bajos a los nombres con guiones bajos y un guión bajo
a nombres externos sin guiones bajos. GNU Fortran también agrega dos guiones bajos a
nombres internos con guiones bajos para evitar colisiones de nombres con nombres externos.
Esta opción no tiene ningún efecto si -fno-subrayado está en efecto. Está implícito en el
-ff2c .
De lo contrario, con esta opción, un nombre externo como "MAX_COUNT" se implementa como un
referencia al símbolo externo de tiempo de enlace "max_count__", en lugar de "max_count_".
Esto es necesario para la compatibilidad con g77 y f2c, y está implícito en el uso de la
-ff2c .
-fcoarray =
ninguna
Desactive el soporte de coarray; usando declaraciones de coarray y declaraciones de control de imágenes
producirá un error en tiempo de compilación. (Defecto)
soltero
El modo de imagen única, es decir, "num_images ()" es siempre uno.
lib Paralelización de coarray basada en biblioteca; una biblioteca de coarray GNU Fortran adecuada
necesita estar vinculado.
-fcheck =
Habilite la generación de comprobaciones en tiempo de ejecución; el argumento debe ser una lista delimitada por comas
de las siguientes palabras clave.
todos Habilite todas las pruebas en tiempo de ejecución de -fcomprobar.
temperaturas de matriz
Advierte en tiempo de ejecución cuando, para pasar un argumento real, se debe utilizar una matriz temporal.
generado. La información generada por esta advertencia a veces es útil en
optimización, con el fin de evitar tales temporales.
Nota: La advertencia solo se imprime una vez por ubicación.
límites
Habilite la generación de comprobaciones en tiempo de ejecución para subíndices de matriz y contra el declarado
valores mínimos y máximos. También verifica los índices de matriz para supuestos y diferidos
forma matrices contra los límites asignados reales y asegura que todas las cadenas
las longitudes son iguales para los constructores de matrices de caracteres sin una especificación de tipo explícita.
Algunos controles requieren que -fcheck = límites está configurado para la compilación de los principales
.
Nota: En el futuro, esto también puede incluir otras formas de verificación, por ejemplo, verificación
referencias de subcadena.
do Habilite la generación de comprobaciones en tiempo de ejecución para la modificación no válida de la iteración del bucle
variables.
Miembro Habilite la generación de comprobaciones en tiempo de ejecución para la asignación de memoria. Nota: esta opción
no afecta las asignaciones explícitas usando la instrucción "ALLOCATE", que será
siempre comprobado.
puntero
Habilite la generación de comprobaciones en tiempo de ejecución para punteros y asignables.
recursividad
Habilite la generación de comprobaciones en tiempo de ejecución para subrutinas llamadas recursivamente y
funciones que no están marcadas como recursivas. Ver también -frecursivo. Nota: este
check no funciona para programas OpenMP y está deshabilitado si se usa junto con
-frecursivo y -fopenmp.
-comprobación-de-límites
Alias obsoleto para -fcheck = límites.
-fcheck-array-temporales
Alias obsoleto para -fcheck = array-temps.
-fmax-array-constructor =n
Esta opción se puede utilizar para aumentar el límite superior permitido en los constructores de matrices.
El siguiente código requiere esta opción para expandir la matriz en tiempo de compilación.
prueba del programa
implícito ninguno
entero j
entero, parámetro :: n = 100000
entero, parámetro :: i (n) = (/ (2 * j, j = 1, n) /)
imprimir '(10 (I0,1X))', i
prueba del programa final
Precaución: Este opción podemos Lead a Corto compilar veces y excesivamente large objeto
archivos.
El valor predeterminado para n es 65535.
-fmax-stack-var-size =n
Esta opción especifica el tamaño en bytes de la matriz más grande que se colocará en el
apilar; si se excede el tamaño, se utiliza memoria estática (excepto en los procedimientos marcados como
RECURSIVO). Usa la opción -frecursivo para permitir procedimientos recursivos que no
tienen un atributo RECURSIVO o para programas paralelos. Usar -fno-automático para nunca usar
la pila.
Esta opción actualmente solo afecta a las matrices locales declaradas con límites constantes y puede
no se aplica a todas las variables de carácter. Las versiones futuras de GNU Fortran pueden mejorar esto
comportamiento.
El valor predeterminado para n es 32768.
-fstack-matrices
Agregar esta opción hará que el compilador de Fortran coloque todas las matrices locales, incluso las de
tamaño desconocido en la memoria de pila. Si su programa utiliza matrices locales muy grandes, es
posible que tenga que ampliar sus límites de tiempo de ejecución para la memoria de pila en algunos
sistemas operativos. Esta bandera está habilitada de forma predeterminada en el nivel de optimización. -Comida.
-fpack-derivado
Esta opción le dice a GNU Fortran que empaque los miembros de tipo derivados lo más cerca posible.
Es probable que el código compilado con esta opción sea incompatible con el código compilado sin
esta opción y puede ejecutarse más lentamente.
-frepack-matrices
En algunas circunstancias, GNU Fortran puede pasar secciones de matriz de formas asumidas a través de un
descriptor que describe un área de memoria no contigua. Esta opción agrega código al
prólogo de la función para volver a empaquetar los datos en un bloque contiguo en tiempo de ejecución.
Esto debería resultar en accesos más rápidos a la matriz. Sin embargo, puede introducir
una sobrecarga significativa para la llamada a la función, especialmente cuando los datos pasados son
no contiguo.
-f-enumeraciones cortas
Esta opción se proporciona para la interoperabilidad con el código C que se compiló con el
-f-enumeraciones cortas opción. Hará que GNU Fortran elija el tipo "INTEGER" más pequeño a
El conjunto de enumeradores dado encajará, y le dará a todos sus enumeradores este tipo.
-fexterno-blas
Esta opción hará gfortran generar llamadas a funciones BLAS para alguna matriz
operaciones como "MATMUL", en lugar de utilizar nuestros propios algoritmos, si el tamaño del
matrices involucradas es mayor que un límite dado (ver -fblas-matmul-límite). Esto podría ser
rentable si está disponible una biblioteca BLAS de proveedor optimizada. La biblioteca BLAS
deben especificarse en el momento del enlace.
-fblas-matmul-limit =n
Solo significativo cuando -fexterno-blas está en efecto. Multiplicación de matrices de matrices
con un tamaño mayor que (o igual a) n se realizará mediante llamadas a funciones BLAS,
mientras que otros serán manejados por gfortran algoritmos internos. Si las matrices involucradas
no son cuadrados, la comparación de tamaño se realiza utilizando la media geométrica del
dimensiones del argumento y matrices de resultado.
El valor predeterminado para n es 30.
-frecursivo
Permita la recursividad indirecta obligando a que todas las matrices locales se asignen a la pila.
Esta bandera no se puede utilizar junto con -fmax-stack-var-size = or -fno-automático.
-finit-local-cero
-finit-integer =n
-finit-real =
-finit-lógico =
-finit-character =n
El -finit-local-cero La opción indica al compilador que inicialice el "INTEGER" local,
Variables "REAL" y "COMPLEJO" a cero, variables "LÓGICAS" a falso y "CARÁCTER"
variables a una cadena de bytes nulos. Las opciones de inicialización más detalladas son
proporcionado por el -finit-integer =n, -finit-real = (lo cual también
inicializa las partes reales e imaginarias de las variables "COMPLEJAS" locales),
-finit-lógico =y -finit-character =n (dónde n es un carácter ASCII
valor) opciones. Estas opciones no se inicializan
* matrices asignables
* componentes de variables de tipo derivado
* variables que aparecen en una declaración de "EQUIVALENCIA".
(Estas limitaciones pueden eliminarse en versiones futuras).
Tenga en cuenta que -finit-real = nan La opción inicializa las variables "REAL" y "COMPLEX" con un
tranquilo NaN. Para un uso de NaN de señalización -finit-real = snan; tenga en cuenta, sin embargo, que el tiempo de compilación
Las optimizaciones pueden convertirlos en NaN silenciosos y que la captura debe estar habilitada.
(por ejemplo, a través de -fpe-trampa).
Por último, tenga en cuenta que habilitar cualquiera de las -finit- * opciones silenciarán las advertencias que
habría sido emitido por -Wuninicializado para las variables locales afectadas.
-falign-comunes
De forma predeterminada, gfortran impone la alineación adecuada de todas las variables en un bloque "COMÚN" mediante
acolchándolos según sea necesario. En ciertas plataformas esto es obligatorio, en otras aumenta
rendimiento. Si un bloque "COMÚN" no se declara con tipos de datos consistentes
en todas partes, este acolchado puede causar problemas y -fno-alinear-comunes puede ser usado para
desactivar la alineación automática. Se debe utilizar la misma forma de esta opción para todos los archivos.
que comparten un bloque "COMÚN". Para evitar posibles problemas de alineación en bloques "COMUNES",
se recomienda ordenar los objetos de mayor a menor.
-fno-proteger-parens
De forma predeterminada, los paréntesis en la expresión se respetan para todos los niveles de optimización, como
que el compilador no realiza ninguna re-asociación. Utilizando -fno-proteger-parens permite la
compilador para reordenar las expresiones "REAL" y "COMPLEX" para producir código más rápido. Tenga en cuenta que
para la optimización de la re-asociación -fno-ceros-firmados y -fno-trapping-matemáticas necesita
estar en efecto. La protección de paréntesis está habilitada de forma predeterminada, a menos que -Comida is
dado.
-frealloc-lhs
Un lado izquierdo asignable de una asignación intrínseca es automáticamente
(re) asignado si no está asignado o tiene una forma diferente. La opcion es
habilitado por defecto excepto cuando -std = f95 es dado. Ver también -Wrealloc-lhs.
-eliminación-de-función-agresiva
Las funciones con listas de argumentos idénticas se eliminan dentro de las declaraciones, independientemente
de si estas funciones están marcadas como "PURAS" o no. Por ejemplo, en
a = f (segundo, c) + f (segundo, c)
solo habrá una llamada a "f". Esta opción solo funciona si
-frontend-optimizar está en efecto.
-frontend-optimizar
Esta opción realiza una optimización de front-end, basada en la manipulación de partes del Fortran
árbol de análisis. Habilitado por defecto por cualquier -O opción. Optimizaciones habilitadas por este
La opción incluye la eliminación de llamadas a funciones idénticas dentro de expresiones, eliminando
llamadas innecesarias a "TRIM" en comparaciones y asignaciones y reemplazando TRIM (a) con
"a (1: LEN_TRIM (a))". Puede deseleccionarse especificando -fno-frontend-optimizar.
MEDIO AMBIENTE
El gfortran El compilador actualmente no hace uso de ninguna variable de entorno para controlar
su funcionamiento por encima y más allá de los que afectan el funcionamiento de gcc.
Use aarch64-linux-gnu-gfortran-5 en línea usando los servicios de onworks.net