### Checking for Standard C and Standard C++ Conformity

The ANSI Strict setting affects several C language extensions made by the Carbide C compiler:

- C++ Comments
- Unnamed Arguments in Function Definitions
- A # Not Followed by a Macro Argument
- Using an Identifier After #endif
- Using Typecasted Pointers as lvalues
- Converting Pointers to Types of the Same Size
- Arrays of Zero Length in Structures
- The “D” Constant Suffix

If you enable the ANSI Strict setting, the compiler disables all of the above ANSI C language extensions. You cannot enable individual extensions that are controlled by the ANSI Strict setting.

This setting might affect how the compiler handles enumerated constants. See Enumerated Types for more information. It might also affect the declaration of the main() function for C++ programs. See “Implicit Return Statement for main()”.

The ANSI Strict setting corresponds to the pragma ANSI_strict. To check this setting, use __option (ANSI_strict). See also “ANSI_strict” and Checking Settings.