Patchwork [avr] Document __AVR_ARCH__

login
register
mail settings
Submitter Georg-Johann Lay
Date Oct. 18, 2012, 12:07 p.m.
Message ID <507FF115.8050800@gjlay.de>
Download mbox | patch
Permalink /patch/192308/
State New
Headers show

Comments

Georg-Johann Lay - Oct. 18, 2012, 12:07 p.m.
This documents __AVR_ARCH__ built-in macro that was missing up to now.

Pointer to --help=target is removed because the documentation of -mmcu= is
complete.

Ok to apply?

Johann


	* doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
	Note __AVR_<device>__ is not defined for cores.
	Don't point to --help=target.
Weddington, Eric - Oct. 19, 2012, 12:40 a.m.
> -----Original Message-----

> From: Georg-Johann Lay 

> Sent: Thursday, October 18, 2012 5:08 AM

> To: gcc-patches@gcc.gnu.org

> Cc: Denis Chertykov; Weddington, Eric

> Subject: [Patch,avr] Document __AVR_ARCH__

> 

> This documents __AVR_ARCH__ built-in macro that was missing up to now.

> 

> Pointer to --help=target is removed because the documentation of -mmcu= is

> complete.

> 

> Ok to apply?

> 


Approved, please apply! And Thanks!

Eric

Patch

Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi	(revision 192559)
+++ doc/invoke.texi	(working copy)
@@ -11239,9 +11239,6 @@  These options are defined for AVR implem
 @opindex mmcu
 Specify Atmel AVR instruction set architectures (ISA) or MCU type.
 
-For a complete list of @var{mcu} values that are supported by @command{avr-gcc},
-see the compiler output when called with the @option{--help=target}
-command line option.
 The default for this option is@tie{}@code{avr2}.
 
 GCC supports the following AVR devices and ISAs:
@@ -11532,6 +11529,23 @@  For even more AVR-specific built-in macr
 
 @table @code
 
+@item __AVR_ARCH__
+Build-in macro that resolves to a decimal number that identifies the
+architecture and depends on the @code{-mmcu=@var{mcu}} option.
+Possible values are:
+
+@code{2}, @code{25}, @code{3}, @code{31}, @code{35},
+@code{4}, @code{5}, @code{51}, @code{6}, @code{102}, @code{104},
+@code{105}, @code{106}, @code{107}
+
+for @var{mcu}=@code{avr2}, @code{avr25}, @code{avr3},
+@code{avr31}, @code{avr35}, @code{avr4}, @code{avr5}, @code{avr51},
+@code{avr6}, @code{avrxmega2}, @code{avrxmega4}, @code{avrxmega5},
+@code{avrxmega6}, @code{avrxmega7}, respectively.
+If @var{mcu} specifies a device, this built-in macro is set
+accordingly. For example, with @code{-mmcu=atmega8} the macro will be
+defined to @code{4}.
+
 @item __AVR_@var{Device}__
 Setting @code{-mmcu=@var{device}} defines this built-in macro which reflects
 the device's name. For example, @code{-mmcu=atmega8} defines the
@@ -11544,6 +11558,9 @@  the device name as from the AVR user man
 @var{Device} in the built-in macro and @var{device} in
 @code{-mmcu=@var{device}} is that the latter is always lowercase.
 
+If @var{device} is not a device but only a core architecture like
+@code{avr51}, this macro will not be defined.
+
 @item __AVR_HAVE_ELPM__
 The device has the the @code{ELPM} instruction.