Chapter 4. GCC Command Options 29-Wsign-promo (C++ only)Warn when overload resolution chooses a promotion from unsigned or enumerated type to asigned type, over a conversion to an unsigned type of the same size. Previous versions of G++would try to preserve unsignedness, but the standard mandates the current behavior.-Wsynth (C++ only)Warn when G++’s synthesis behavior does not match that of cfront. For instance:struct A {operator int ();A& operator = (int);};main (){A a,b;a = b;}In this example, G++ will synthesize a default A& operator = (const A&);, while cfrontwill use the user-defined operator =.4.6. Options Controlling Objective-C Dialect(NOTE: This manual does not describe the Objective-C language itself. Seehttp://gcc.gnu.org/readings.html for references.)This section describes the command-line options that are only meaningful for Objective-C programs,but you can also use most of the GNU compiler options regardless of what language your program isin. For example, you might compile a file some_class.m like this:gcc -g -fgnu-runtime -O -c some_class.mIn this example, -fgnu-runtime is an option meant only for Objective-C programs; you can use theother options with any language supported by GCC.Here is a list of options that are only for compiling Objective-C programs:-fconstant-string-class=class-nameUse class-name as the name of the class to instantiate for each literal string specifiedwith the syntax @"...". The default class name is NXConstantString if the GNUruntime is being used, and NSConstantString if the NeXT runtime is being used(see below). The -fconstant-cfstrings option, if also present, will override the-fconstant-string-class setting and cause @"..." literals to be laid out as constantCoreFoundation strings.-fgnu-runtimeGenerate object code compatible with the standard GNU Objective-C runtime. This is the defaultfor most types of systems.-fnext-runtimeGenerate output compatible with the NeXT runtime. The macro __NEXT_RUNTIME__ is prede-fined if (and only if) this option is used.