Talk:Project Options Supported by Clang-enhanced C++ Compilers

From RAD Studio
Jump to: navigation, search

Verifying the UI options (need to make sure they are in IDE, and where exactly):

Note: All the C++ compilers, including BCC64. support the options that appear on the C++ (Shared Options) page.

C++ Project Options Supported Only on 64-bit Windows

BCC64 Command Line Option Definition Project > Options Page
-D =<macro>

Predefine the specified macro

'Conditional defines' on C++ (Shared Options)

-I =<directory>

Add directory to include search path

"Include file search path" on C++ Compiler Directories and Conditionals

-ferror-limit =<N>	

Set the maximum number of errors to emit before stopping (0 = no limit)

C++ Compiler

-fno-access-control

Disable C++ access control

C++ Compiler

-fshort-enums 

Allocate to an enum type only as many bytes as it needs for the declared range of possible values

C++ Compiler

Force C++ compile

Causes the compiler to compile all source files as C++ files, regardless of their extension.

C++ Compiler

-g	

Generate source level debug information UI Option

C++ Compiler Debugging

-isystem =<directory>   

Add directory to SYSTEM include search path

C++ Compiler Directories and Conditionals

-nostdsysteminc	

Disable standard system #include directories

C++ Compiler Directories and Conditionals

-o =<path>

Specify output file

"Object file output directory" on C++ Compiler Directories and Conditionals

-w	

Suppress all warnings

C++ Compiler Warnings


Questions

-U =<macro>	

Undefine the specified macro UI Option - is this "Undefine any previous definitons of name" ? - on C++ Compiler Directories and Conditionals


Hidden Usage? Are these silently supported?

-emit-obj	

Emit native object files HIDDEN Usage - Is this true?

-fborland-extensions	

Accept non-standard constructs supported by the Borland compiler HIDDEN Usage - Is this true?

-nobuiltininc	

Disable builtin #include directories HIDDEN Usage -??

Answered / Excluded

-Os	Optimize for size	UI Option 
-Oz	Optimize for size, regardless of performance	UI Option  
-O =<value>	Optimization level	UI Option 

Not being externalized Are these three -O options related to 'Generate smallest possible code' - on C++ Compiler Optimizations ??

-fno-rtti	

Disable generation of rtti information Not being externalized (C++ rtti) (C++ Compiler contains a 32-bit option for enabling rtti)

-triple =<value>	

Specify target triple (e.g. i686-apple-darwin9) Not being externalized

How to Know the Platforms Supported by Specific C++ Project Options

There are many Project Options that are supported by more than one of the three C++ compilers: BCC32, BCC64, AND BCCOSX. Examples: 'Conditional defines' and 'Include file search path' (on the C++ Compiler Directories and Conditionals page) are supported by all three C++ compilers.

To peruse the Project Options in your installation, select Project > Options. At the top of the compiler-related Project Options pages, you can select the Target platform for the build (such as 32-bit Windows, 64-bit Windows, or Mac OS X). The page displays the options that are supported on the selected Target platform.

For example, in the following screenshot (showing the C++ Compiler Directories and Conditionals page):

  • The selected Target is set to All configurations - All platforms:
    This Target means that the page is displaying options supported for every C++ compiler in the product.
  • Two options are supported only on 64-bit Windows:
    For these options, '(64-bit Windows )' is displayed after the option.
  • One option is supported on 64-bit Windows and 32-bit Windows
    For this option, '(64-bit Windows, 32-bit Windows)' is displayed after the option.
  • Four options are supported for all C++ compilers:
    For these options, no platform is specified, meaning that all platforms are supported.

Dirscondals.png