Index: avr-libc/include/avr/io90pwm161.h
===================================================================
--- avr-libc/include/avr/io90pwm161.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm161.h	(working copy)
@@ -670,6 +670,13 @@
 #define PRPSCR  5
 #define PRPSC2  7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRPSCR)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSCR
+#define __AVR_HAVE_PRR_PRPSC2
+
 #define PLLCSR  _SFR_MEM8(0x87)
 #define PLOCK   0
 #define PLLE    1
Index: avr-libc/include/avr/io90pwm1.h
===================================================================
--- avr-libc/include/avr/io90pwm1.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm1.h	(working copy)
@@ -473,6 +473,15 @@
 #define PRSPI   2   /* Power Reduction Serial Peripheral Interface */
 #define PRADC   0   /* Power Reduction ADC */
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 /* Reserved [0x65] */
 
 /* Oscillator Calibration Value */
Index: avr-libc/include/avr/io90pwm216.h
===================================================================
--- avr-libc/include/avr/io90pwm216.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm216.h	(working copy)
@@ -443,6 +443,16 @@
 #define PRPSC1  6   /* Power Reduction PSC1 */
 #define PRPSC2  7   /* Power Reduction PSC2 */
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 /* Oscillator Calibration Value */
 #define OSCCAL  _SFR_MEM8(0x66)
 #define CAL0    0
Index: avr-libc/include/avr/io90pwm2b.h
===================================================================
--- avr-libc/include/avr/io90pwm2b.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm2b.h	(working copy)
@@ -409,6 +409,16 @@
 #define PRPSC1 6
 #define PRPSC2 7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/io90pwm316.h
===================================================================
--- avr-libc/include/avr/io90pwm316.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm316.h	(working copy)
@@ -443,6 +443,16 @@
 #define PRPSC1  6   /* Power Reduction PSC1 */
 #define PRPSC2  7   /* Power Reduction PSC2 */
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 /* Oscillator Calibration Value */
 #define OSCCAL  _SFR_MEM8(0x66)
 #define CAL0    0
Index: avr-libc/include/avr/io90pwm3b.h
===================================================================
--- avr-libc/include/avr/io90pwm3b.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm3b.h	(working copy)
@@ -409,6 +409,16 @@
 #define PRPSC1 6
 #define PRPSC2 7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/io90pwm81.h
===================================================================
--- avr-libc/include/avr/io90pwm81.h	(revision 2454)
+++ avr-libc/include/avr/io90pwm81.h	(working copy)
@@ -857,6 +857,13 @@
 #define PRPSCR 5
 #define PRPSC2 7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRPSCR)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSCR
+#define __AVR_HAVE_PRR_PRPSC2
+
 #define PLLCSR _SFR_MEM8(0x87)
 #define PLOCK 0
 #define PLLE 1
Index: avr-libc/include/avr/io90pwmx.h
===================================================================
--- avr-libc/include/avr/io90pwmx.h	(revision 2454)
+++ avr-libc/include/avr/io90pwmx.h	(working copy)
@@ -496,6 +496,16 @@
 #define PRUSART PRUSART0 /* Define to maintain backward-compatibility */
 #define PRADC   0   /* Power Reduction ADC */
 
+#define __AVR_HAVE_PRR ((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRPSC0
+#define __AVR_HAVE_PRR_PRPSC1
+#define __AVR_HAVE_PRR_PRPSC2
+
 /* Oscillator Calibration Value */
 #define OSCCAL  _SFR_MEM8(0x66)
 /* OSCCAL */
Index: avr-libc/include/avr/io90scr100.h
===================================================================
--- avr-libc/include/avr/io90scr100.h	(revision 2454)
+++ avr-libc/include/avr/io90scr100.h	(working copy)
@@ -460,6 +460,14 @@
 #define PRTIM2 6
 #define PRTWI 7
 
+#define __AVR_HAVE_PRR0 ((1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI))
+#define __AVR_HAVE_PRR0_PRUSART0
+#define __AVR_HAVE_PRR0_PRSPI
+#define __AVR_HAVE_PRR0_PRTIM1
+#define __AVR_HAVE_PRR0_PRTIM0
+#define __AVR_HAVE_PRR0_PRTIM2
+#define __AVR_HAVE_PRR0_PRTWI
+
 #define PRR1 _SFR_MEM8(0x65)
 #define PRUSBH 0
 #define PRUSB 1
@@ -468,6 +476,14 @@
 #define PRAES 4
 #define PRKB 5
 
+#define __AVR_HAVE_PRR1 ((1<<PRUSBH)|(1<<PRUSB)|(1<<PRHSSPI)|(1<<PRSCI)|(1<<PRAES)|(1<<PRKB))
+#define __AVR_HAVE_PRR1_PRUSBH
+#define __AVR_HAVE_PRR1_PRUSB
+#define __AVR_HAVE_PRR1_PRHSSPI
+#define __AVR_HAVE_PRR1_PRSCI
+#define __AVR_HAVE_PRR1_PRAES
+#define __AVR_HAVE_PRR1_PRKB
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/ioa5272.h
===================================================================
--- avr-libc/include/avr/ioa5272.h	(revision 2454)
+++ avr-libc/include/avr/ioa5272.h	(working copy)
@@ -295,6 +295,14 @@
 #define PRSPI   4
 #define PRLIN   5
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRLIN
+
 /* Reserved [0x65] */
 
 #define OSCCAL  _SFR_MEM8(0x66)
Index: avr-libc/include/avr/ioa5505.h
===================================================================
--- avr-libc/include/avr/ioa5505.h	(revision 2454)
+++ avr-libc/include/avr/ioa5505.h	(working copy)
@@ -295,6 +295,14 @@
 #define PRSPI   4
 #define PRLIN   5
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRLIN
+
 /* Reserved [0x65] */
 
 #define OSCCAL  _SFR_MEM8(0x66)
Index: avr-libc/include/avr/ioa5790.h
===================================================================
--- avr-libc/include/avr/ioa5790.h	(revision 2454)
+++ avr-libc/include/avr/ioa5790.h	(working copy)
@@ -439,10 +439,24 @@
 #define PRDS    6
 #define PRVM    7
 
+#define __AVR_HAVE_PRR0	((1<<PRLFR)|(1<<PRT1)|(1<<PRT2)|(1<<PRT3)|(1<<PRTM)|(1<<PRCU)|(1<<PRDS)|(1<<PRVM))
+#define __AVR_HAVE_PRR0_PRLFR
+#define __AVR_HAVE_PRR0_PRT1
+#define __AVR_HAVE_PRR0_PRT2
+#define __AVR_HAVE_PRR0_PRT3
+#define __AVR_HAVE_PRR0_PRTM
+#define __AVR_HAVE_PRR0_PRCU
+#define __AVR_HAVE_PRR0_PRDS
+#define __AVR_HAVE_PRR0_PRVM
+
 #define PRR1    _SFR_MEM8(0x64)
 #define PRCI    0
 #define PRSPI   1
 
+#define __AVR_HAVE_PRR1	((1<<PRCI)|(1<<PRSPI))
+#define __AVR_HAVE_PRR1_PRCI
+#define __AVR_HAVE_PRR1_PRSPI
+
 #define SRCCAL  _SFR_MEM8(0x65)
 
 #define FRCCAL  _SFR_MEM8(0x66)
Index: avr-libc/include/avr/ioa5795.h
===================================================================
--- avr-libc/include/avr/ioa5795.h	(revision 2454)
+++ avr-libc/include/avr/ioa5795.h	(working copy)
@@ -397,10 +397,23 @@
 #define PRDS    6
 #define PRVM    7
 
+#define __AVR_HAVE_PRR0	((1<<PRT1)|(1<<PRT2)|(1<<PRT3)|(1<<PRTM)|(1<<PRCU)|(1<<PRDS)|(1<<PRVM))
+#define __AVR_HAVE_PRR0_PRT1
+#define __AVR_HAVE_PRR0_PRT2
+#define __AVR_HAVE_PRR0_PRT3
+#define __AVR_HAVE_PRR0_PRTM
+#define __AVR_HAVE_PRR0_PRCU
+#define __AVR_HAVE_PRR0_PRDS
+#define __AVR_HAVE_PRR0_PRVM
+
 #define PRR1    _SFR_MEM8(0x64)
 #define PRCI    0
 #define PRSPI   1
 
+#define __AVR_HAVE_PRR1	((1<<PRCI)|(1<<PRSPI))
+#define __AVR_HAVE_PRR1_PRCI
+#define __AVR_HAVE_PRR1_PRSPI
+
 #define SRCCAL  _SFR_MEM8(0x65)
 
 #define FRCCAL  _SFR_MEM8(0x66)
Index: avr-libc/include/avr/iotn10.h
===================================================================
--- avr-libc/include/avr/iotn10.h	(revision 2454)
+++ avr-libc/include/avr/iotn10.h	(working copy)
@@ -302,6 +302,10 @@
 #define PRTIM0 0
 #define PRADC 1
 
+#define __AVR_HAVE_PRR	((1<<PRTIM0)|(1<<PRADC))
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRADC
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn13a.h
===================================================================
--- avr-libc/include/avr/iotn13a.h	(revision 2454)
+++ avr-libc/include/avr/iotn13a.h	(working copy)
@@ -191,6 +191,10 @@
 #define PRADC 0
 #define PRTIM0 1
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRTIM0))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRTIM0
+
 #define CLKPR _SFR_IO8(0x26)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn1634.h
===================================================================
--- avr-libc/include/avr/iotn1634.h	(revision 2454)
+++ avr-libc/include/avr/iotn1634.h	(working copy)
@@ -382,6 +382,15 @@
 #define PRTIM1  5
 #define PRTWI   6
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRUSART1
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRTWI
+
 #define MCUSR   _SFR_IO8(0x35)
 #define PORF    0
 #define EXTRF   1
Index: avr-libc/include/avr/iotn167.h
===================================================================
--- avr-libc/include/avr/iotn167.h	(revision 2454)
+++ avr-libc/include/avr/iotn167.h	(working copy)
@@ -352,6 +352,14 @@
 #define PRSPI 4
 #define PRLIN 5
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRLIN
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/iotn20.h
===================================================================
--- avr-libc/include/avr/iotn20.h	(revision 2454)
+++ avr-libc/include/avr/iotn20.h	(working copy)
@@ -503,6 +503,13 @@
 #define PRSPI 3
 #define PRTWI 4
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTWI
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn2313a.h
===================================================================
--- avr-libc/include/avr/iotn2313a.h	(revision 2454)
+++ avr-libc/include/avr/iotn2313a.h	(working copy)
@@ -105,6 +105,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRUSART)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRUSART
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define BODCR _SFR_IO8(0x007)
 #define BPDSE 0
 #define BPDS 1
Index: avr-libc/include/avr/iotn24a.h
===================================================================
--- avr-libc/include/avr/iotn24a.h	(revision 2454)
+++ avr-libc/include/avr/iotn24a.h	(working copy)
@@ -57,6 +57,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define DIDR0 _SFR_IO8(0x01)
 #define ADC0D 0
 #define ADC1D 1
Index: avr-libc/include/avr/iotn261a.h
===================================================================
--- avr-libc/include/avr/iotn261a.h	(revision 2454)
+++ avr-libc/include/avr/iotn261a.h	(working copy)
@@ -556,6 +556,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define SPMCSR _SFR_IO8(0x37)
 #define SPMEN 0
 #define PGERS 1
Index: avr-libc/include/avr/iotn40.h
===================================================================
--- avr-libc/include/avr/iotn40.h	(revision 2454)
+++ avr-libc/include/avr/iotn40.h	(working copy)
@@ -490,6 +490,13 @@
 #define PRSPI 3
 #define PRTWI 4
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTWI
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn4313.h
===================================================================
--- avr-libc/include/avr/iotn4313.h	(revision 2454)
+++ avr-libc/include/avr/iotn4313.h	(working copy)
@@ -105,6 +105,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRUSART)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRUSART
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define BODCR _SFR_IO8(0x007)
 #define BPDSE 0
 #define BPDS 1
Index: avr-libc/include/avr/iotn43u.h
===================================================================
--- avr-libc/include/avr/iotn43u.h	(revision 2454)
+++ avr-libc/include/avr/iotn43u.h	(working copy)
@@ -57,6 +57,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define DIDR0 _SFR_IO8(0x01)
 #define ADC0D  0
 #define ADC1D  1
Index: avr-libc/include/avr/iotn44a.h
===================================================================
--- avr-libc/include/avr/iotn44a.h	(revision 2454)
+++ avr-libc/include/avr/iotn44a.h	(working copy)
@@ -57,6 +57,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define DIDR0 _SFR_IO8(0x01)
 #define ADC0D 0
 #define ADC1D 1
Index: avr-libc/include/avr/iotn461a.h
===================================================================
--- avr-libc/include/avr/iotn461a.h	(revision 2454)
+++ avr-libc/include/avr/iotn461a.h	(working copy)
@@ -556,6 +556,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define SPMCSR _SFR_IO8(0x37)
 #define SPMEN 0
 #define PGERS 1
Index: avr-libc/include/avr/iotn48.h
===================================================================
--- avr-libc/include/avr/iotn48.h	(revision 2454)
+++ avr-libc/include/avr/iotn48.h	(working copy)
@@ -375,6 +375,13 @@
 #define PRTIM0 5
 #define PRTWI 7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTWI
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/iotn4.h
===================================================================
--- avr-libc/include/avr/iotn4.h	(revision 2454)
+++ avr-libc/include/avr/iotn4.h	(working copy)
@@ -269,6 +269,10 @@
 #define PRTIM0 0
 #define PRADC 1
 
+#define __AVR_HAVE_PRR	((1<<PRTIM0)|(1<<PRADC))
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRADC
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn5.h
===================================================================
--- avr-libc/include/avr/iotn5.h	(revision 2454)
+++ avr-libc/include/avr/iotn5.h	(working copy)
@@ -302,6 +302,10 @@
 #define PRTIM0 0
 #define PRADC 1
 
+#define __AVR_HAVE_PRR	((1<<PRTIM0)|(1<<PRADC))
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRADC
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotn828.h
===================================================================
--- avr-libc/include/avr/iotn828.h	(revision 2454)
+++ avr-libc/include/avr/iotn828.h	(working copy)
@@ -340,6 +340,14 @@
 #define PRTIM0  5
 #define PRTWI   7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSART0
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTWI
+
 /* Reserved [0x65] */
 
 #define OSCCAL0 _SFR_MEM8(0x66)
Index: avr-libc/include/avr/iotn84a.h
===================================================================
--- avr-libc/include/avr/iotn84a.h	(revision 2454)
+++ avr-libc/include/avr/iotn84a.h	(working copy)
@@ -57,6 +57,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define DIDR0 _SFR_IO8(0x01)
 #define ADC0D 0
 #define ADC1D 1
Index: avr-libc/include/avr/iotn861a.h
===================================================================
--- avr-libc/include/avr/iotn861a.h	(revision 2454)
+++ avr-libc/include/avr/iotn861a.h	(working copy)
@@ -556,6 +556,12 @@
 #define PRTIM0 2
 #define PRTIM1 3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define SPMCSR _SFR_IO8(0x37)
 #define SPMEN 0
 #define PGERS 1
Index: avr-libc/include/avr/iotn87.h
===================================================================
--- avr-libc/include/avr/iotn87.h	(revision 2454)
+++ avr-libc/include/avr/iotn87.h	(working copy)
@@ -351,6 +351,14 @@
 #define PRSPI 4
 #define PRLIN 5
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)|(1<<PRLIN))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRLIN
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/iotn88.h
===================================================================
--- avr-libc/include/avr/iotn88.h	(revision 2454)
+++ avr-libc/include/avr/iotn88.h	(working copy)
@@ -375,6 +375,13 @@
 #define PRTIM0 5
 #define PRTWI 7
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTWI))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRSPI
+#define __AVR_HAVE_PRR_PRTIM1
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTWI
+
 #define OSCCAL _SFR_MEM8(0x66)
 #define CAL0 0
 #define CAL1 1
Index: avr-libc/include/avr/iotn9.h
===================================================================
--- avr-libc/include/avr/iotn9.h	(revision 2454)
+++ avr-libc/include/avr/iotn9.h	(working copy)
@@ -269,6 +269,10 @@
 #define PRTIM0 0
 #define PRADC 1
 
+#define __AVR_HAVE_PRR	((1<<PRTIM0)|(1<<PRADC))
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRADC
+
 #define CLKPSR _SFR_IO8(0x36)
 #define CLKPS0 0
 #define CLKPS1 1
Index: avr-libc/include/avr/iotnx4.h
===================================================================
--- avr-libc/include/avr/iotnx4.h	(revision 2454)
+++ avr-libc/include/avr/iotnx4.h	(working copy)
@@ -55,6 +55,12 @@
 #define PRUSI   1
 #define PRADC   0
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define DIDR0    _SFR_IO8(0x01)
 #define ADC7D   7
 #define ADC6D   6
Index: avr-libc/include/avr/iotnx5.h
===================================================================
--- avr-libc/include/avr/iotnx5.h	(revision 2454)
+++ avr-libc/include/avr/iotnx5.h	(working copy)
@@ -189,6 +189,12 @@
 #define PRUSI   1
 #define PRADC   0
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define WDTCR   _SFR_IO8(0x21)
 #define WDIF    7
 #define WDIE    6
Index: avr-libc/include/avr/iotnx61.h
===================================================================
--- avr-libc/include/avr/iotnx61.h	(revision 2454)
+++ avr-libc/include/avr/iotnx61.h	(working copy)
@@ -394,6 +394,12 @@
 #define PRTIM0  2
 #define PRTIM1  3
 
+#define __AVR_HAVE_PRR	((1<<PRADC)|(1<<PRUSI)|(1<<PRTIM0)|(1<<PRTIM1))
+#define __AVR_HAVE_PRR_PRADC
+#define __AVR_HAVE_PRR_PRUSI
+#define __AVR_HAVE_PRR_PRTIM0
+#define __AVR_HAVE_PRR_PRTIM1
+
 #define SPMCSR  _SFR_IO8(0x37)
 #define SPMEN   0
 #define PGERS   1
Index: avr-libc/include/avr/iousbxx2.h
===================================================================
--- avr-libc/include/avr/iousbxx2.h	(revision 2454)
+++ avr-libc/include/avr/iousbxx2.h	(working copy)
@@ -340,10 +340,19 @@
 #define PRTIM1  3
 #define PRSPI   2
 
+#define __AVR_HAVE_PRR0	((1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0))
+#define __AVR_HAVE_PRR0_PRSPI
+#define __AVR_HAVE_PRR0_PRTIM1
+#define __AVR_HAVE_PRR0_PRTIM0
+
 #define PRR1    _SFR_MEM8(0x65)
 #define PRUSB   7
 #define PRUSART1 0
 
+#define __AVR_HAVE_PRR1	((1<<PRUSART1)|(1<<PRUSB))
+#define __AVR_HAVE_PRR1_PRUSART1
+#define __AVR_HAVE_PRR1_PRUSB
+
 #define OSCCAL  _SFR_MEM8(0x66)
 
 /* Reserved [0x67] */
Index: avr-libc/include/avr/iousbxx6_7.h
===================================================================
--- avr-libc/include/avr/iousbxx6_7.h	(revision 2454)
+++ avr-libc/include/avr/iousbxx6_7.h	(working copy)
@@ -461,11 +461,24 @@
 #define PRSPI   2
 #define PRADC   0
 
+#define __AVR_HAVE_PRR0	((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI))
+#define __AVR_HAVE_PRR0_PRADC
+#define __AVR_HAVE_PRR0_PRSPI
+#define __AVR_HAVE_PRR0_PRTIM1
+#define __AVR_HAVE_PRR0_PRTIM0
+#define __AVR_HAVE_PRR0_PRTIM2
+#define __AVR_HAVE_PRR0_PRTWI
+
 #define PRR1    _SFR_MEM8(0x65)
 #define PRUSB   7
 #define PRTIM3  3
 #define PRUSART1 0
 
+#define __AVR_HAVE_PRR1	((1<<PRUSART1)|(1<<PRTIM3)|(1<<PRUSB))
+#define __AVR_HAVE_PRR1_PRUSART1
+#define __AVR_HAVE_PRR1_PRTIM3
+#define __AVR_HAVE_PRR1_PRUSB
+
 #define OSCCAL  _SFR_MEM8(0x66)
 
 /* Reserved [0x67] */
