Skip to content

Commit 75444b6

Browse files
anporumbTylerMSFT
andauthored
Update compiler-limits.md (#4505)
* Update compiler-limits.md with the introduction of the conformant preprocessor the number of arguments has been bumped to 32767 (an int16_t) * Update compiler-limits.md incorp tech review * Update compiler-limits.md --------- Co-authored-by: Tyler Whitney <[email protected]>
1 parent 3c279aa commit 75444b6

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

docs/cpp/compiler-limits.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
---
22
description: "Learn more about: Compiler Limits"
33
title: "Compiler Limits"
4-
ms.date: "05/06/2019"
4+
ms.date: "06/05/2023"
55
helpviewer_keywords: ["cl.exe compiler, limits for language constructs"]
6-
ms.assetid: f1fa59c6-55b4-414b-80c5-3df72952160d
76
---
87
# Compiler Limits
98

109
The C++ standard recommends limits for various language constructs. The following is a list of cases where the Microsoft C++ compiler does not implement the recommended limits. The first number is the limit that is established in the ISO C++ 11 standard (INCITS/ISO/IEC 14882-2011[2012], Annex B) and the second number is the limit implemented by the Microsoft C++ compiler:
1110

1211
- Nesting levels of compound statements, iteration control structures, and selection control structures - C++ standard: 256, Microsoft C++ compiler: depends on the combination of statements that are nested, but generally between 100 and 110.
1312

14-
- Parameters in one macro definition - C++ standard: 256, Microsoft C++ compiler: 127.
13+
- Parameters in one macro definition - C++ standard: 256, Microsoft C++ compiler using `/Zc:preprocessor-`:127 or using `/Zc:preprocessor`:32767.
1514

16-
- Arguments in one macro invocation - C++ standard: 256, Microsoft C++ compiler 127.
15+
- Arguments in one macro invocation - C++ standard: 256, Microsoft C++ compiler using `/Zc:preprocessor-`:127 or using `/Zc:preprocessor`:32767.
1716

1817
- Characters in a character string literal or wide string literal (after concatenation) - C++ standard: 65536, Microsoft C++ compiler: 65535 single-byte characters, including the NULL terminator, and 32767 double-byte characters, including the NULL terminator.
1918

0 commit comments

Comments
 (0)