1--- src/VBox/Runtime/common/log/logcom.cpp
2+++ src/VBox/Runtime/common/log/logcom.cpp
3@@ -121,6 +121,6 @@
4     for (pu8 = (const uint8_t *)pach; cb-- > 0; pu8++)
5     {
6-        register unsigned cMaxWait;
7-        register uint8_t  u8;
8+        unsigned cMaxWait;
9+        uint8_t  u8;
10
11         /* expand \n -> \r\n */
12--- src/VBox/Runtime/common/table/avl_Range.cpp.h
13+++ src/VBox/Runtime/common/table/avl_Range.cpp.h
14@@ -36,7 +36,7 @@
15  * @param     Key     The Key to find matching range for.
16  */
17-KAVL_DECL(PKAVLNODECORE) KAVL_FN(RangeGet)(PPKAVLNODECORE ppTree, register KAVLKEY Key)
18+KAVL_DECL(PKAVLNODECORE) KAVL_FN(RangeGet)(PPKAVLNODECORE ppTree, KAVLKEY Key)
19 {
20-    register PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
21+    PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
22     if (pNode)
23     {
24--- src/VBox/Runtime/common/table/avl_GetBestFit.cpp.h
25+++ src/VBox/Runtime/common/table/avl_GetBestFit.cpp.h
26@@ -44,5 +44,5 @@
27 KAVL_DECL(PKAVLNODECORE) KAVL_FN(GetBestFit)(PPKAVLNODECORE ppTree, KAVLKEY Key, bool fAbove)
28 {
29-    register PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
30+    PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
31     if (pNode)
32     {
33--- src/VBox/Runtime/common/table/avl_Get.cpp.h
34+++ src/VBox/Runtime/common/table/avl_Get.cpp.h
35@@ -38,5 +38,5 @@
36 KAVL_DECL(PKAVLNODECORE) KAVL_FN(Get)(PPKAVLNODECORE ppTree, KAVLKEY Key)
37 {
38-    register PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
39+    PKAVLNODECORE  pNode = KAVL_GET_POINTER_NULL(ppTree);
40
41     if (pNode)
42--- src/VBox/Runtime/common/table/avl_Base.cpp.h
43+++ src/VBox/Runtime/common/table/avl_Base.cpp.h
44@@ -267,5 +267,5 @@
45         else
46         {
47-            register unsigned char uchHeight = (unsigned char)(KMAX(uchLeftHeight, uchRightHeight) + 1);
48+            unsigned char uchHeight = (unsigned char)(KMAX(uchLeftHeight, uchRightHeight) + 1);
49             if (uchHeight == pNode->uchHeight)
50                 break;
51@@ -301,8 +301,8 @@
52     KAVLSTACK               AVLStack;
53     PPKAVLNODECORE          ppCurNode = ppTree;
54-    register PKAVLNODECORE  pCurNode;
55-    register KAVLKEY        Key = pNode->Key; NOREF(Key);
56+    PKAVLNODECORE  pCurNode;
57+    KAVLKEY        Key = pNode->Key; NOREF(Key);
58 #ifdef KAVL_RANGE
59-    register KAVLKEY        KeyLast = pNode->KeyLast; NOREF(KeyLast);
60+    KAVLKEY        KeyLast = pNode->KeyLast; NOREF(KeyLast);
61 #endif
62
63@@ -401,5 +401,5 @@
64     KAVLSTACK                AVLStack;
65     PPKAVLNODECORE           ppDeleteNode = ppTree;
66-    register PKAVLNODECORE   pDeleteNode;
67+    PKAVLNODECORE   pDeleteNode;
68
69     AVLStack.cEntries = 0;
70@@ -428,5 +428,5 @@
71         const unsigned          iStackEntry = AVLStack.cEntries;
72         PPKAVLNODECORE          ppLeftLeast = &pDeleteNode->pLeft;
73-        register PKAVLNODECORE  pLeftLeast = KAVL_GET_POINTER(ppLeftLeast);
74+        PKAVLNODECORE  pLeftLeast = KAVL_GET_POINTER(ppLeftLeast);
75
76         while (pLeftLeast->pRight != KAVL_NULL)
77--- src/VBox/Runtime/common/string/utf-16.cpp
78+++ src/VBox/Runtime/common/string/utf-16.cpp
79@@ -195,5 +195,5 @@
80
81
82-RTDECL(int) RTUtf16Cmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
83+RTDECL(int) RTUtf16Cmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
84 {
85     if (pwsz1 == pwsz2)
86@@ -206,6 +206,6 @@
87     for (;;)
88     {
89-        register RTUTF16  wcs = *pwsz1;
90-        register int     iDiff = wcs - *pwsz2;
91+        RTUTF16  wcs = *pwsz1;
92+        int     iDiff = wcs - *pwsz2;
93         if (iDiff || !wcs)
94             return iDiff;
95--- src/VBox/Runtime/common/string/utf-16-case.cpp
96+++ src/VBox/Runtime/common/string/utf-16-case.cpp
97@@ -40,5 +40,5 @@
98
99
100-RTDECL(int) RTUtf16ICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
101+RTDECL(int) RTUtf16ICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
102 {
103     if (pwsz1 == pwsz2)
104@@ -52,7 +52,7 @@
105     for (;;)
106     {
107-        register RTUTF16  wc1 = *pwsz1;
108-        register RTUTF16  wc2 = *pwsz2;
109-        register int     iDiff = wc1 - wc2;
110+        RTUTF16  wc1 = *pwsz1;
111+        RTUTF16  wc2 = *pwsz2;
112+        int     iDiff = wc1 - wc2;
113         if (iDiff)
114         {
115@@ -107,5 +107,5 @@
116
117
118-RTDECL(int) RTUtf16BigICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
119+RTDECL(int) RTUtf16BigICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
120 {
121     if (pwsz1 == pwsz2)
122@@ -119,7 +119,7 @@
123     for (;;)
124     {
125-        register RTUTF16  wc1 = *pwsz1;
126-        register RTUTF16  wc2 = *pwsz2;
127-        register int     iDiff = wc1 - wc2;
128+        RTUTF16  wc1 = *pwsz1;
129+        RTUTF16  wc2 = *pwsz2;
130+        int     iDiff = wc1 - wc2;
131         if (iDiff)
132         {
133@@ -217,5 +217,5 @@
134
135
136-RTDECL(int) RTUtf16NICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2, size_t cwcMax)
137+RTDECL(int) RTUtf16NICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2, size_t cwcMax)
138 {
139     if (pwsz1 == pwsz2)
140@@ -229,7 +229,7 @@
141     while (cwcMax-- > 0)
142     {
143-        register RTUTF16  wc1 = *pwsz1;
144-        register RTUTF16  wc2 = *pwsz2;
145-        register int     iDiff = wc1 - wc2;
146+        RTUTF16  wc1 = *pwsz1;
147+        RTUTF16  wc2 = *pwsz2;
148+        int     iDiff = wc1 - wc2;
149         if (iDiff)
150         {
151@@ -290,5 +290,5 @@
152
153
154-RTDECL(int) RTUtf16BigNICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2, size_t cwcMax)
155+RTDECL(int) RTUtf16BigNICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2, size_t cwcMax)
156 {
157     if (pwsz1 == pwsz2)
158@@ -302,7 +302,7 @@
159     while (cwcMax-- > 0)
160     {
161-        register RTUTF16  wc1 = *pwsz1;
162-        register RTUTF16  wc2 = *pwsz2;
163-        register int     iDiff = wc1 - wc2;
164+        RTUTF16  wc1 = *pwsz1;
165+        RTUTF16  wc2 = *pwsz2;
166+        int     iDiff = wc1 - wc2;
167         if (iDiff)
168         {
169--- src/VBox/HostDrivers/VBoxUSB/USBLib.cpp.orig
170+++ src/VBox/HostDrivers/VBoxUSB/USBLib.cpp
171@@ -45,11 +45,11 @@ USBLIB_DECL(uint64_t) USBLibHashSerial(const char *psz
172     if (!pszSerial)
173         pszSerial = "";
174
175-    register const uint8_t *pu8 = (const uint8_t *)pszSerial;
176-    register uint64_t u64 = UINT64_C(14695981039346656037);
177+    const uint8_t *pu8 = (const uint8_t *)pszSerial;
178+    uint64_t u64 = UINT64_C(14695981039346656037);
179     for (;;)
180     {
181-        register uint8_t u8 = *pu8;
182+        uint8_t u8 = *pu8;
183         if (!u8)
184             break;
185         u64 = (u64 * UINT64_C(1099511628211)) ^ u8;
186--- src/VBox/Runtime/common/checksum/crc32-zlib.cpp.orig
187+++ src/VBox/Runtime/common/checksum/crc32-zlib.cpp
188@@ -51,7 +51,7 @@ static uint32_t rtCrc32ProcessTooBig(uint32_t uCRC32,
189     return uCRC32;
190 }
191
192-RTDECL(uint32_t) RTCrc32(const void *pv, register size_t cb)
193+RTDECL(uint32_t) RTCrc32(const void *pv, size_t cb)
194 {
195     uint32_t uCrc = crc32(0, NULL, 0);
196     if (RT_UNLIKELY((uInt)cb == cb))
197--- src/VBox/Devices/Network/DevPCNet.cpp.orig
198+++ src/VBox/Devices/Network/DevPCNet.cpp
199@@ -1242,8 +1242,8 @@ static void pcnetSoftReset(PPCNETSTATE pThis)
200  */
201 static void pcnetUpdateIrq(PPCNETSTATE pThis)
202 {
203-    register int      iISR = 0;
204-    register uint16_t csr0 = pThis->aCSR[0];
205+    int      iISR = 0;
206+    uint16_t csr0 = pThis->aCSR[0];
207
208     csr0 &= ~0x0080; /* clear INTR */
209
210--- src/VBox/VMM/VMMAll/PGMAllGst.h.orig
211+++ src/VBox/VMM/VMMAll/PGMAllGst.h
212@@ -92,7 +92,7 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
213         return PGM_GST_NAME(WalkReturnNotPresent)(pVCpu, pWalk, 8);
214 # endif
215
216-    uint32_t register fEffective = X86_PTE_RW | X86_PTE_US | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_A | 1;
217+    uint32_t fEffective = X86_PTE_RW | X86_PTE_US | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_A | 1;
218     {
219 # if PGM_GST_TYPE == PGM_TYPE_AMD64
220         /*
221@@ -102,9 +102,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
222         if (RT_SUCCESS(rc)) { /* probable */ }
223         else return PGM_GST_NAME(WalkReturnBadPhysAddr)(pVCpu, pWalk, 4, rc);
224
225-        PX86PML4E register  pPml4e;
226+        PX86PML4E pPml4e;
227         pWalk->pPml4e  = pPml4e  = &pWalk->pPml4->a[(GCPtr >> X86_PML4_SHIFT) & X86_PML4_MASK];
228-        X86PML4E  register  Pml4e;
229+        X86PML4E  Pml4e;
230         pWalk->Pml4e.u = Pml4e.u = pPml4e->u;
231
232         if (Pml4e.n.u1Present) { /* probable */ }
233@@ -131,9 +131,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
234     }
235     {
236 # if PGM_GST_TYPE == PGM_TYPE_AMD64 || PGM_GST_TYPE == PGM_TYPE_PAE
237-        PX86PDPE register   pPdpe;
238+        PX86PDPE pPdpe;
239         pWalk->pPdpe  = pPdpe  = &pWalk->pPdpt->a[(GCPtr >> GST_PDPT_SHIFT) & GST_PDPT_MASK];
240-        X86PDPE  register   Pdpe;
241+        X86PDPE  Pdpe;
242         pWalk->Pdpe.u = Pdpe.u = pPdpe->u;
243
244         if (Pdpe.n.u1Present) { /* probable */ }
245@@ -164,7 +164,7 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
246 # endif
247     }
248     {
249-        PGSTPDE register    pPde;
250+        PGSTPDE pPde;
251         pWalk->pPde  = pPde  = &pWalk->pPd->a[(GCPtr >> GST_PD_SHIFT) & GST_PD_MASK];
252         GSTPDE              Pde;
253         pWalk->Pde.u = Pde.u = pPde->u;
254@@ -221,9 +221,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
255         else return PGM_GST_NAME(WalkReturnBadPhysAddr)(pVCpu, pWalk, 1, rc);
256     }
257     {
258-        PGSTPTE register    pPte;
259+        PGSTPTE pPte;
260         pWalk->pPte  = pPte  = &pWalk->pPt->a[(GCPtr >> GST_PT_SHIFT) & GST_PT_MASK];
261-        GSTPTE  register    Pte;
262+        GSTPTE  Pte;
263         pWalk->Pte.u = Pte.u = pPte->u;
264
265         if (Pte.n.u1Present) { /* probable */ }
266--- include/VBox/HostServices/Service.h.orig
267+++ include/VBox/HostServices/Service.h
268@@ -358,11 +358,11 @@ class AbstractService: public RTCNonCopyable (public)
269             else
270             {
271                 RT_GCC_NO_WARN_DEPRECATED_BEGIN
272-                std::auto_ptr<AbstractService> apService;
273+                std::unique_ptr<AbstractService> apService;
274                 /* No exceptions may propagate outside. */
275                 try
276                 {
277-                    apService = std::auto_ptr<AbstractService>(new T(pTable->pHelpers));
278+                    apService = std::unique_ptr<AbstractService>(new T(pTable->pHelpers));
279                 } catch (int rcThrown)
280                 {
281                     rc = rcThrown;
282--- src/VBox/Main/src-server/PerformanceImpl.cpp.orig
283+++ src/VBox/Main/src-server/PerformanceImpl.cpp
284@@ -699,7 +699,7 @@ void PerformanceCollector::samplerCallback(uint64_t iT
285      * Those should be destroyed now.
286      */
287     Log7Func(("{%p}: before remove_if: toBeCollected.size()=%d\n", this, toBeCollected.size()));
288-    toBeCollected.remove_if(std::mem_fun(&pm::BaseMetric::isUnregistered));
289+    toBeCollected.remove_if(std::mem_fn(&pm::BaseMetric::isUnregistered));
290     Log7Func(("{%p}: after remove_if: toBeCollected.size()=%d\n", this, toBeCollected.size()));
291     Log7Func(("{%p}: before remove_if: m.baseMetrics.size()=%d\n", this, m.baseMetrics.size()));
292     for (it = m.baseMetrics.begin(); it != m.baseMetrics.end();)
293@@ -720,7 +720,7 @@ void PerformanceCollector::samplerCallback(uint64_t iT
294
295     /* Finally, collect the data */
296     std::for_each(toBeCollected.begin(), toBeCollected.end(),
297-                  std::mem_fun(&pm::BaseMetric::collect));
298+                  std::mem_fn(&pm::BaseMetric::collect));
299     Log4Func(("{%p}: LEAVE\n", this));
300 }
301
302