On 05/06/2015 08:24 AM, Christian Bruel wrote:
diff '--exclude=.svn' -ruN gnu_trunk.p3/gcc/gcc/doc/extend.texi
gnu_trunk.p4/gcc/gcc/doc/extend.texi
--- gnu_trunk.p3/gcc/gcc/doc/extend.texi 2015-05-06 09:00:31.232943164
+0200
+++ gnu_trunk.p4/gcc/gcc/doc/extend.texi 2015-05-06 14:50:05.632612233
+0200
@@ -3419,6 +3419,25 @@
the compiler rejects attempts to specify an alternative.
@end table
+@item target (@var{options})
+@cindex @code{target} function attribute
+As discussed in @ref{Common Function Attributes}, this attribute
+allows specification of target-specific compilation options.
+
+On ARM, the following options are allowed:
+
+@table @samp
+@item thumb
+@cindex @code{target("thumb")} function attribute, ARM
+Force Thumb1 Thumb2 code generation depending on the architecture.
"Force Thumb or Thumb-2 code generation, depending on the architecture."
(I believe that's ARM's official terminology, rather than "Thumb1" or
"Thumb2".)
+
+@item arm
+@cindex @code{target("arm")} function attribute, ARM
+Force ARM code generation.
+@end table
+
+Functions from different modes can be inlined using the caller mode.
"...the caller's mode."
+
@node AVR Function Attributes
@subsection AVR Function Attributes
@@ -18436,8 +18455,9 @@
@xref{Function Attributes}, for more information about the
@code{target} attribute and the attribute syntax.
-The @code{#pragma GCC target} pragma is presently implemented for
-x86, PowerPC, and Nios II targets only.
+The @code{#pragma GCC target} pragma is implemented for
+ARM, x86, PowerPC, and Nios II targets.
+
@end table
@table @code
Please also add a cross-reference to ARM Function Attributes in the main
entry for @item target in Common Function Attributes, in this paragraph:
The options supported are specific to each target; refer to @ref{x86
Function Attributes}, @ref{PowerPC Function Attributes}, and
@ref{Nios II Function Attributes}, for details.
diff '--exclude=.svn' -ruN gnu_trunk.p3/gcc/gcc/doc/invoke.texi
gnu_trunk.p4/gcc/gcc/doc/invoke.texi
--- gnu_trunk.p3/gcc/gcc/doc/invoke.texi 2015-05-06 09:00:31.232943164
+0200
+++ gnu_trunk.p4/gcc/gcc/doc/invoke.texi 2015-05-06 14:36:32.331213593
+0200
@@ -13434,6 +13434,10 @@
configuring GCC with the @option{--with-mode=}@var{state}
configure option.
+You can also override the ARM and Thumb mode for each function
+by using the @code{target("thumb")} and @code{target("arm")} function
attributes
+(@pxref{Function Attributes}) or pragmas (@pxref{Function Specific Option
Pragmas}).
You can make the first reference point at the ARM Function Attributes
node, now that it exists, instead of the generic Function Attributes
section.
+
@item -mtpcs-frame
@opindex mtpcs-frame
Generate a stack frame that is compliant with the Thumb Procedure Call
-Sandra