-fvisibility-ms-compat @gol
-Wabi -Wctor-dtor-privacy @gol
-Wnon-virtual-dtor -Wreorder @gol
--Weffc++ -Wno-deprecated -Wstrict-null-sentinel @gol
+-Weffc++ -Wstrict-null-sentinel @gol
-Wno-non-template-friend -Wold-style-cast @gol
-Woverloaded-virtual -Wno-pmf-conversions @gol
-Wsign-promo}
-w -Wextra -Wall -Waddress -Waggregate-return -Warray-bounds @gol
-Wno-attributes -Wc++-compat -Wc++0x-compat -Wcast-align -Wcast-qual @gol
-Wchar-subscripts -Wclobbered -Wcomment @gol
--Wconversion -Wcoverage-mismatch -Wno-deprecated-declarations @gol
--Wdisabled-optimization -Wno-div-by-zero @gol
+-Wconversion -Wcoverage-mismatch -Wno-deprecated @gol
+-Wno-deprecated-declarations -Wdisabled-optimization -Wno-div-by-zero @gol
-Wempty-body -Wno-endif-labels @gol
-Werror -Werror=* @gol
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-fdump-noaddr -fdump-unnumbered -fdump-translation-unit@r{[}-@var{n}@r{]} @gol
-fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol
-fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline @gol
+-fdump-statistics @gol
-fdump-tree-all @gol
-fdump-tree-original@r{[}-@var{n}@r{]} @gol
-fdump-tree-optimized@r{[}-@var{n}@r{]} @gol
-fdump-tree-nrv -fdump-tree-vect @gol
-fdump-tree-sink @gol
-fdump-tree-sra@r{[}-@var{n}@r{]} @gol
--fdump-tree-salias @gol
-fdump-tree-fre@r{[}-@var{n}@r{]} @gol
-fdump-tree-vrp@r{[}-@var{n}@r{]} @gol
-ftree-vectorizer-verbose=@var{n} @gol
-ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im @gol
-ftree-loop-distribution @gol
-ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol
--ftree-parallelize-loops=@var{n} -ftree-pre -ftree-reassoc -ftree-salias @gol
+-ftree-parallelize-loops=@var{n} -ftree-pre -ftree-reassoc @gol
-ftree-sink -ftree-sra -ftree-store-ccp -ftree-ter @gol
-ftree-vect-loop-version -ftree-vectorize -ftree-vrp -funit-at-a-time @gol
-funroll-all-loops -funroll-loops -funsafe-loop-optimizations @gol
-mno-id-shared-library -mshared-library-id=@var{n} @gol
-mleaf-id-shared-library -mno-leaf-id-shared-library @gol
-msep-data -mno-sep-data -mlong-calls -mno-long-calls @gol
--mfast-fp -minline-plt}
+-mfast-fp -minline-plt -mmulticore -mcorea -mcoreb -msdram}
@emph{CRIS Options}
@gccoptlist{-mcpu=@var{cpu} -march=@var{cpu} -mtune=@var{cpu} @gol
headers do not obey all of these guidelines; use @samp{grep -v}
to filter out those warnings.
-@item -Wno-deprecated @r{(C++ and Objective-C++ only)}
-@opindex Wno-deprecated
-@opindex Wdeprecated
-Do not warn about usage of deprecated features. @xref{Deprecated Features}.
-
@item -Wstrict-null-sentinel @r{(C++ and Objective-C++ only)}
@opindex Wstrict-null-sentinel
@opindex Wno-strict-null-sentinel
@option{-Wall} turns on the following warning flags:
@gccoptlist{-Waddress @gol
--Warray-bounds @r{(some checks, but more complete with} @option{-O2}@r{)} @gol
+-Warray-bounds @r{(only with} @option{-O2}@r{)} @gol
-Wc++0x-compat @gol
-Wchar-subscripts @gol
-Wimplicit-int @gol
@item -Warray-bounds
@opindex Wno-array-bounds
@opindex Warray-bounds
-This option detects some cases of out-of-bounds accesses in unoptimized
-compilations. More cases are detected when @option{-ftree-vrp} is enabled.
-(The @option{-ftree-vrp} option is enabled automatically when compiling with
-@option{-O2} or higher optimization options.)
+This option is only active when @option{-ftree-vrp} is active
+(default for -O2 and above). It warns about subscripts to arrays
+that are always out of bounds. This warning is enabled by @option{-Wall}.
@item -Wno-div-by-zero
@opindex Wno-div-by-zero
@item -Wframe-larger-than=@var{len}
@opindex Wframe-larger-than
-Warn whenever the size of a function frame is larger than @var{len} bytes.
+Warn if the size of a function frame is larger than @var{len} bytes.
+The computation done to determine the stack frame size is approximate
+and not conservative.
+The actual requirements may be somewhat greater than @var{len}
+even if you do not get a warning. In addition, any space allocated
+via @code{alloca}, variable-length arrays, or related constructs
+is not included by the compiler when determining
+whether or not to issue a warning.
@item -Wunsafe-loop-optimizations
@opindex Wunsafe-loop-optimizations
useful as a local coding convention if the programming environment is
unable to be fixed to display these characters distinctly.
+@item -Wno-deprecated
+@opindex Wno-deprecated
+@opindex Wdeprecated
+Do not warn about usage of deprecated features. @xref{Deprecated Features}.
+
@item -Wno-deprecated-declarations
@opindex Wno-deprecated-declarations
@opindex Wdeprecated-declarations
@end table
+@item -fdump-statistics-@var{option}
+@opindex -fdump-statistics
+Enable and control dumping of pass statistics in a separate file. The
+file name is generated by appending a suffix ending in @samp{.statistics}
+to the source file name. If the @samp{-@var{option}} form is used,
+@samp{-stats} will cause counters to be summed over the whole compilation unit
+while @samp{-details} will dump every event as the passes generate them.
+The default with no option is to sum counters for each function compiled.
+
@item -fdump-tree-@var{switch}
@itemx -fdump-tree-@var{switch}-@var{options}
@opindex fdump-tree
Enable showing line numbers for statements.
@item uid
Enable showing the unique ID (@code{DECL_UID}) for each variable.
+@item verbose
+Enable showing the tree dump for each statement.
@item all
-Turn on all options, except @option{raw}, @option{slim} and @option{lineno}.
+Turn on all options, except @option{raw}, @option{slim}, @option{verbose}
+and @option{lineno}.
@end table
The following tree dumps are possible:
Dump SSA related information to a file. The file name is made by appending
@file{.ssa} to the source file name.
-@item salias
-@opindex fdump-tree-salias
-Dump structure aliasing variable information to a file. This file name
-is made by appending @file{.salias} to the source file name.
-
@item alias
@opindex fdump-tree-alias
Dump aliasing information for each function. The file name is made by
copy operations. This flag is enabled by default at @option{-O} and
higher.
-@item -ftree-salias
-@opindex ftree-salias
-Perform structural alias analysis on trees. This flag
-is enabled by default at @option{-O} and higher.
-
@item -fipa-pure-const
@opindex fipa-pure-const
Discover which functions are pure or constant.
@var{name} are given in the following table:
@table @gcctabopt
-@item salias-max-implicit-fields
-The maximum number of fields in a variable without direct
-structure accesses for which structure aliasing will consider trying
-to track each field. The default is 5
-
-@item salias-max-array-elements
-The maximum number of elements an array can have and its elements
-still be tracked individually by structure aliasing. The default is 4
-
@item sra-max-structure-size
The maximum structure size, in bytes, at which the scalar replacement
of aggregates (SRA) optimization will perform block copies. The
Increasing values mean more aggressive optimization, making the compile time
increase with probably slightly better performance. The default value is 500.
-@item max-flow-memory-locations
-Similar as @option{max-cselib-memory-locations} but for dataflow liveness.
-The default value is 100.
-
@item reorder-blocks-duplicate
@itemx reorder-blocks-duplicate-feedback
@opindex minline-plt
Enable inlining of PLT entries in function calls to functions that are
not known to bind locally. It has no effect without @option{-mfdpic}.
-@end table
+@item -mmulticore
+@opindex mmulticore
+Build standalone application for multicore Blackfin processor. Proper
+start files and link scripts will be used to support multicore.
+This option defines @code{__BFIN_MULTICORE}. It can only be used with
+@option{-mcpu=bf561@r{[}-@var{sirevision}@r{]}}. It can be used with
+@option{-mcorea} or @option{-mcoreb}. If it's used without
+@option{-mcorea} or @option{-mcoreb}, single application/dual core
+programming model is used. In this model, the main function of Core B
+should be named as coreb_main. If it's used with @option{-mcorea} or
+@option{-mcoreb}, one application per core programming model is used.
+If this option is not used, single core application programming
+model is used.
+
+@item -mcorea
+@opindex mcorea
+Build standalone application for Core A of BF561 when using
+one application per core programming model. Proper start files
+and link scripts will be used to support Core A. This option
+defines @code{__BFIN_COREA}. It must be used with @option{-mmulticore}.
+
+@item -mcoreb
+@opindex mcoreb
+Build standalone application for Core B of BF561 when using
+one application per core programming model. Proper start files
+and link scripts will be used to support Core B. This option
+defines @code{__BFIN_COREB}. When this option is used, coreb_main
+should be used instead of main. It must be used with
+@option{-mmulticore}.
+
+@item -msdram
+@opindex msdram
+Build standalone application for SDRAM. Proper start files and
+link scripts will be used to put the application into SDRAM.
+Loader should initialize SDRAM before loading the application
+into SDRAM. This option defines @code{__BFIN_SDRAM}.
+@end table
+
@node CRIS Options
@subsection CRIS Options
@cindex CRIS Options