Sun Studio 12: OpenMP API User's Guide

5.3.2 Autoscoping Rules for C/C++:

For C/C++, if a variable is autoscoped by an __auto or default(__auto) clause and the variable has a predetermined scope according to the OpenMP Specification, then the compiler will scope it according to that predetermined scope.

For C/C++, the following variables have predetermined scopes:

Autoscoping in C and C++ applies only to basic data types: integer, floating point, and pointer. If a user specifies a structure variable or class variable to be autoscoped, the compiler will scope the variable as shared and the enclosing parallel region will be executed by a single thread.