8.51 --dep_name, --no_dep_name

Enables and disables dependent name processing in C++.

The C++ standard states that lookup of names in templates occurs:

  • At the time the template is parsed, if the name is nondependent.

  • At the time the template is parsed, or at the time the template is instantiated, if the name is dependent.

When the option --no_dep_name is selected, the lookup of dependent names in templates can occur only at the time the template is instantiated. That is, the lookup of dependent names at the time the template is parsed is disabled.

Note:

The option --no_dep_name is provided only as a migration aid for legacy source code that does not conform to the C++ standard. ARM does not recommend its use.

Mode

This option is effective only if the source language is C++.

Default

The default is --dep_name.

Restrictions

The option --dep_name cannot be combined with the option --no_parse_templates, because parsing is done by default when dependent name processing is enabled.

Errors

When the options --dep_name and --no_parse_templates are combined, the compiler generates an error.

Non-ConfidentialPDF file icon PDF versionARM DUI0472M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.