Keil™, An ARM® Company

RealView Compiler Reference Guide

Technical Support

On-Line Manuals

RealView Compiler Reference Guide

Preface
Introduction
Compiler Command-line Options
Command-line options
‑Aopt
‑‑[no_]alternative_tokens
‑‑[no_]anachronisms
--apcs=qualifer...qualifier
‑‑arm
‑‑asm
‑‑[no_]autoinline
‑‑bigend
‑‑[no_]brief_diagnostics
--bss_threshold=num
‑c
‑C
‑‑c90
‑‑c99
‑‑[no_]code_gen
--[no_]compile_all_input
‑‑cpp
‑‑create_pch=filename
‑Dname[(parm-list)][=def]
‑‑[no_]data_reorder
‑‑[no_]debug
‑‑[no_]debug_macros
‑‑default_extension=ext
‑‑[no_]dep_name
‑‑depend=filename
‑‑depend_format=string
--[no_]depend_system_headers
‑‑device=list
‑‑device=name
--device_opt=option
‑‑diag_error=tag[,tag,...]
‑‑diag_remark=tag[,tag,... ]
‑‑diag_style={arm|ide|gnu}
‑‑diag_suppress=tag[,tag,...]
--diag_suppress=optimizations
‑‑diag_warning=tag[,tag,...]
--diag_warning=optimizations
‑‑[no_]dollar
‑‑dwarf2
‑‑dwarf3
‑E
‑‑enum_is_int
‑‑errors=filename
‑‑[no_]exceptions
‑‑[no_]exceptions_unwind
‑‑[no_]export_all_vtbl
‑‑[no_]export_defs_implicitly
--[no_]extended_initializers
‑‑feedback=filename
--[no_]force_new_nothrow
‑‑forceinline
‑‑fpmode=model
‑‑fpu=list
‑‑fpu=name
‑‑[no_]friend_injection
‑‑gnu
‑‑[no_]guiding_decls
‑‑help
‑‑[no_]hide_all
‑Idir[,dir,...]
‑‑[no_]implicit_include
--[no_]implicit_include_searches
‑‑[no_]implicit_typename
‑‑info=totals
‑‑[no_]inline
‑‑interleave
‑Jdir[,dir,...]
‑‑kandr_include
‑Lopt
‑‑library_interface=lib
--library_type=lib
‑‑list
‑‑littleend
‑‑locale=lang_country
‑‑loose_implicit_cast
‑‑[no_]lower_ropi
‑‑[no_]lower_rwpi
‑M
‑‑md
‑‑message_locale=lang_country[.codepage]
‑‑min_array_alignment=opt
‑‑[no_]multibyte_chars
‑‑[no_]multifile
‑‑[no_]nonstd_qualifier_deduction
‑o filename
‑Onum
‑‑[no_]old_specializations
-‑omf_browse
‑Ospace
‑Otime
‑‑[no_]parse_templates
‑‑pch
‑‑pch_dir=dir
‑‑[no_]pch_messages
‑‑[no_]pch_verbose
‑‑pending_instantiations=n
‑‑pointer_alignment=num
--[no_]project=filename
‑‑preinclude=filename
--[no_]reduce_paths
--reinitialize_workdir
‑‑remarks
‑‑[no_]restrict
‑‑[no_]rtti
‑S
‑‑[un]signed_bitfields
‑‑[un]signed_chars
‑‑show_cmdline
‑‑split_ldm
‑‑split_sections
‑‑[no_]strict
‑‑strict_warnings
‑‑sys_include
‑‑thumb
‑Uname
‑‑[no_]unaligned_access
‑‑use_pch=filename
‑‑[no_]using_std
‑‑[no_]vfe
‑‑via=filename
--[no_]vla
‑‑vsn
‑W
--wchar16
--wchar32
--workdir=directory
‑‑[no_]wrap_diagnostics
Language Extensions
Compiler-specific Features
C and C++ Implementation Details
Via File Syntax
Standard C Implementation Definition
Standard C++ Implementation Definition
C and C++ Compiler Implementation Limits

‑‑[no_]friend_injection

2.1.55. ‑‑[no_]friend_injection

This option controls the visibility of friend declarations in C++.

In C++, it controls whether or not the name of a class or function that is declared only in friend declarations is visible when using the normal lookup mechanisms.

When friend names are declared, they are visible to these lookups. When friend names are not declared as required by the standard, function names are visible only when using argument‑dependent lookup, and class names are never visible.

Note

The option --friend_injection is provided only as a migration aid for legacy source code that does not conform to the C++ standard. Its use is not recommended.

Mode

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

Default

The default is --no_friend_injection.

See also

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0376A