cpp_extensions

Controls language extensions to ISO/IEC 14882:2003 C++.

Syntax
#pragma cpp_extensions on | off | reset
Remarks

If you enable this pragma, you can use the following extensions to the ISO/IEC 14882:2003 C++ standard that would otherwise be invalid:

#pragma cpp_extensions on
void func()
{
  union {
    long  hilo;
    struct { short hi, lo; }; //  anonymous struct
  };
  hi=0x1234; 
  lo=0x5678;  //  hilo==0x12345678      
}
#pragma cpp_extensions on
struct RecA { void f(); }
void RecA::f()
{
  void (RecA::*ptmf1)() = &RecA::f; // ALWAYS OK

  void (RecA::*ptmf2)() = f; // OK if you enable cpp_extensions.
}

By default, this pragma is disabled.

Related information
access_errors
always_inline
arg_dep_lookup
ARM_conform
ARM_scoping
array_new_delete
auto_inline
bool
cplusplus
cpp1x
debuginline
def_inherited
defer_codegen
defer_defarg_parsing
direct_destruction
direct_to_som
dont_inline
ecplusplus
exceptions
inline_bottom_up
inline_bottom_up_once
inline_depth
inline_max_auto_size
inline_max_size
inline_max_total_size
internal
iso_templates
new_mangler
no_conststringconv
no_static_dtors
nosyminline
old_friend_lookup
old_pods
old_vtable
opt_classresults
parse_func_templ
parse_mfunc_templ
RTTI
suppress_init_code
template_depth
thread_safe_init
warn_hidevirtual
warn_no_explicit_virtual
warn_no_typename
warn_notinlined
warn_structclass
wchar_type