diff options
| author | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-06 16:47:57 +0000 |
|---|---|---|
| committer | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-06 16:47:57 +0000 |
| commit | 3eec35ecbdaffe99b42770254e192ede7a343a6d (patch) | |
| tree | 20e00e391633f389a71e2a613bf3986cb4c89a1d | |
| parent | 02be9205b6ce4e2df27a29adc828e9d0907c432a (diff) | |
| download | ppe42-gcc-3eec35ecbdaffe99b42770254e192ede7a343a6d.tar.gz ppe42-gcc-3eec35ecbdaffe99b42770254e192ede7a343a6d.zip | |
* doc/extend.texi (pcs): Document new attribute for ARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150531 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/doc/extend.texi | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eb457ba8e1b..578b682403e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2009-08-06 Richard Earnshaw <rearnsha@arm.com> + * doc/extend.texi (pcs): Document new attribute for ARM. + +2009-08-06 Richard Earnshaw <rearnsha@arm.com> + * arm.c (pcs_attribute_args): Comment out unsupported attribute variants. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index b545c328e2c..3435e2c1087 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2830,6 +2830,28 @@ compiled with more aggressive optimization options that produce faster and larger code, while other functions can be called with less aggressive options. +@item pcs +@cindex @code{pcs} function attribute + +The @code{pcs} attribute can be used to control the calling convention +used for a function on ARM. The attribute takes an argument that specifies +the calling convention to use. + +When compiling using the AAPCS ABI (or a variant of that) then valid +values for the argument are @code{"aapcs"} and @code{"aapcs-vfp"}. In +order to use a variant other than @code{"aapcs"} then the compiler must +be permitted to use the appropriate co-processor registers (i.e., the +VFP registers must be available in order to use @code{"aapcs-vfp"}). +For example, + +@smallexample +/* Argument passed in r0, and result returned in r0+r1. */ +double f2d (float) __attribute__((pcs("aapcs"))); +@end smallexample + +Variadic functions always use the @code{"aapcs"} calling convention and +the compiler will reject attempts to specify an alternative. + @item pure @cindex @code{pure} function attribute Many functions have no effects except the return value and their |

