Options Not Supported by Clang-enhanced C++ Compilers
Go Up to Clang-enhanced C++ Compilers
Clang-enhanced C++ compilers do not support some features and options that are supported by BCC32. See the following lists for more information:
- BCC32 Features that Are Not Supported by Clang-enhanced C++ Compilers
- BCC32 Options that Are Not Supported by Clang-enhanced C++ Compilers
- BCC32 Warning Options that Are Not Supported by Clang-enhanced C++ Compilers
Contents
BCC32 Features that Are Not Supported by Clang-enhanced C++ Compilers
- Codeguard
- Bcc compatibility modes (see C++Builder Keyword Extensions and C++ Compiler Compatibility)
- C++11 attributes deprecated, final (C++), and noreturn ( See Workaround for C++11 Attributes (Clang-enhanced C++ Compilers) )
- export
- fastmath.h
- __RTTI
- typeof
- #pragma samecodeseg FUNC [, FUNC ...]
- #pragma hdrignore (obsolete)
- __fortran and _fortran
- cdecl (use __cdecl)
- pascal (use __pascal)
- __abs__(EXPR) (absolute value intrinsic)
- __int__(N) (system interrupt instruction .N.)
- __alloca__(SIZE) (alloca intrinsic)
- __strcmp__(ADDR, ADDR) (strcmp intrinsic)
- __strcpy__(ADDR, ADDR) (strcpy intrinsic)
- __memset__(ADDR, INT, SIZE (memset intrinsic)
- __thread (use __declspec(thread))
Note: These features are available only for the classic bcc32 compiler, not for the modern Clang-enhanced compiler.
BCC32 Options that Are Not Supported by Clang-enhanced C++ Compilers
- -savemem N
- -3 and -4 (generate code for 80386, 80486, 80586, and 80686)
- -5 (generate Pentium instructions)
- -6 (generate Pentium Pro instructions)
- -AF (use SUN Forte keywords and extensions)
- -AG (use GNU keywords and extensions)
- -AK (use Kernighan and Ritchie (K&R) keywords and extensions)
- -AU (use UNIX System V keywords and extensions)
- -Ax (reserve keywords for future C++-0x extensions)
- -B (compile to .ASM (-S), then assemble to .OBJ)
- -C (enable nested comments)
- -H (generate and use precompiled headers)
- -H= (set the name of the file to use for precompiled headers)
- -Hc (use cached precompiled header (must be used with -H or -H=FILE))
- -He (enable precompiled headers with external type files)
- -Hh= (stop precompiling after header file)
- -HrFILE=FILE (replace header name)
- -Hs (enable smart cached precompiled headers)
- -Hp (print headers as they are included)
- -Hu (use but do not generate precompiled headers)
- -J (template generation options)
- -Jgd (generate definitions for all template instances and merge duplicates)
- -Jgi (print out all requested instantiations, using C++ syntax)
- -Jgx (generate external references for all template instances)
- -Jqs (generate external references for all template instances)
- -Nd (macros get a value of "1" by default (-DX => -DX=1))
- -NmFILE (message catalog location)
- -Nt (GNU __typeof(SYM) support)
- -Nv (allow void& as a valid type)
- -O (optimize jumps; sub-options for '-O' can be combined into a single option (-XA -XB => -XAB))
- -Ob (dead store elimination)
- -Oc (eliminate duplicate expressions within basic blocks and functions)
- -Oi (expand (inline) common intrinsic functions))
- -OI=NN (maximum inlining cost [0=off, 100=no max.])
- -Or (use register variable)
- -Ov (enable loop induction variable and strength reduction)
- -OS (enable Pentium instruction scheduling)
- -Q (extended compiler error information)
- -R (include browser information in generated .OBJ files)
- -Rb (enable browser information support (IDE compiler only))
- -Rk (enable browser information support (IDE compiler only))
- -Rx (enable extended browser support (IDE compiler only))
- -RF[=NAME] (find all references [to symbol with mangled name NAME])
- -V (virtual table handling [always CF_VIRT_SDEF])
- -V0 (virtual table handling [always CF_VIRT_SDEF])
- -v1 (virtual table handling [always CF_VIRT_SDEF])
- -VA (generate all global functions in their own virtual/weak segment)
- -VC (do not mangle calling convention into symbols)
- -VF (MFC compatibility)
- -VF3 (MFC 3.2 compatibiliy)
- -VF4 (MFC 4.0 compatibiliy)
- -VI (MSC include compatibility)
- -VM (Microsoft Visual C++ compatibility)
- -Va (support old-style class arguments)
- -Vb (enable backward compatibility with Bcc versions 5.8.2 and earlier)
- -Vbc (don't collapse reference to reference and allow qualified references)
- -Vbe (allow old-style explicit template specialization
- -Vbi (follow C89 rules for immediates)
- -Vbn (allow calling of non-const or non-volatile member function for a const or volatile object)
- -Vbo (use old overload resolution rules (old Borland rules))
- -Vbr (allow non-const reference binding (old Borland rules))
- -Vbs (treat string literals as non-const)
- -Vbt (use old type rules for ternary operators (old Borland rules))
- -Vbu (use old rules for using in templates (old Borland rules))
- -Vbv (old rvalue reference rules)
- -Vbx (allow explicit template specialization as a member function
- -Vc (support constructor displacements)
- -Vd (use old C++ for-statement scoping rules)
- -Ve (zero-length empty base classes)
- -Vg (disable lexical digraph scanner)
- -Vi (old style <> include mangling (8.3-style-includes))
- -Vl (use old Borland class layout)
- -Vm (member pointer options)
- -Vmd (use the smallest possible representation for member pointers)
- -Vmm (support multiple inheritance for member pointers)
- -Vmp (honor declared precision of member pointers)
- -Vms (support single inheritance for member pointers)
- -Vmv (place no restrictions on where member pointers can point)
- -Vn (enable new operator names: and, or, and_eq, bitand, etc.)
- -Vo (set (almost) all compatibility flags; used with old code)
- -Vp (push 'this' first, as does Pascal)
- -Vr (reverse order for Multi-character constant)
- -Vs (virtual table handling (always CF_VIRT_SDEF))
- -Vt (put virtual table pointer at front of object layout
- -Vv (use 'slow' virtual base pointers
- -Vw (emit native code instead of Unicode for multi-byte character
- -Vx (zero-length empty class member functions (empty members take up no space))
- -X (disable compiler autodependency output)
- -Zd[=FILE] (output global definitions as DocBook specs)
- -Zf (enable hidden future features)
- -Zn (disable and/or don't define CodeGear builtins; clang: -f[no-]builtin--Recognize built-in functions)
- -Zr (in IDE, reverse include list; in command-line compiler, it's ignored)
- -Zx (output global definitions to XML file)
- -Zx=FILE (emit only types/declarations in FILE)
- -Zxf[=FILE] (skip base type members)
- -Zxf[=FILE] (emit macros)
- -Zxp[=FILE] (emit file & line position)
- -ff (fast floating point ON)
- -fp (correct Pentium FDIV flaw (IX86 target only); msvc: /Qlfdiv)
- -fq (use quiet floating point compare instruction (FUCOMP) ON (IX86 target only))
- -g (stop batch compilation after n warnings (default = 255))
- -i (set maximum significant identifier length (Default = 250))
- -iN (set maximum significant identifier length to N)
- -k (generate standard stack frames)
- -mm (ignore system header files while generating dependency information)
- -p (use Pascal calling convention)
- -pm (functions without an explicit calling convention to use __msfastcall)
- -s (use the slow linker (Win32 only))
- -u (generate underscores on symbol names)
- -v4 (generate CodeView4 compatible debug information)
- -vg (toggle the profiler (generate profiling calls); clang: -p--Enable function profiling)
- -vp (paradox style profiling)
- -vG (enable all code-guard options ; gcc: -fstack-check; clang: -fcatch-undefined-behavior)
- -vG- (disable all code-guard options)
- -vG. (restore code-guard defaults)
- -vGc (monitor inline pointer access)
- -vGd (monitor global and stack data accesses)
- -vGt (verify "this" pointer on member function entry)
- -vG0 (CodeGuard level 0)
- -vG1 (CodeGuard level 1)
- -vG2 (CodeGuard level 2)
- -vG3 (CodeGuard level 3)
- -vu (do not prefix underbars to exported symbol names)
- -xd (enable destructor cleanup)
- -xdg (use global destructor count (!PC_MAPPED_EXCEPTIONS))
- -xds (no DLL/MT destructor cleanup (!PC_MAPPED_EXCEPTIONS))
- -xf (enable fast exception prologs)
- -xp (enable exception location information (throw position information))
- -xs (enable slow exception epilogues (use fn calls))
- -xv (hide exception variables)
- -y (source line numbers in object)
- -zCNAME (set codeseg name (Windows only))
- -zPNAME (set codegrp name (Windows only))
- -zANAME (set codeclass name (Windows only))
- -zRNAME (set dataseg name (Windows only))
- -zSNAME (set datagrp name (Windows only))
- -zTNAME (set dataclass name (Windows only))
- -zUNAME (set constseg name (Windows only))
- -zVNAME (set constgrp name (Windows only))
- -zWNAME (set constclass name (Windows only))
- -zDNAME (set bssseg name (Windows only))
- -zGNAME (set bssgrp name (Windows only))
- -zBNAME (set bssclass name (Windows only))
BCC32 Warning Options that Are Not Supported by Clang-enhanced C++ Compilers
- -wamb (W8000)
- -wamp (W8001)
- -wasc (W8002)
- -wasm (W8003)
- -waus (W8004)
- -wali (W8086)
- -watr (W8100)
- -watr (W8110)
- -wadt (W8134)
- -wbbf (W8005)
- -wbei (W8006)
- -wbig (W8007)
- -wbex (W8120)
- -wbcx (W8126)
- -wccc (W8008)
- -wcln (W8009)
- -wcom (W8010)
- -wcpt (W8011)
- -wcsu (W8012)
- -wcod (W8093)
- -wcni (W8108)
- -wdef (W8013)
- -wdig (W8014)
- -wdpu (W8015)
- -wdsz (W8016)
- -wdup (W8017)
- -wdep (W8106)
- -wdtp (W8109)
- -wdpr (W8111)
- -wdex (W8112)
- -wdlx (W8127)
- -wdim (W8128)
- -wdgu (W8129)
- -wdiu (W8130)
- -wdin (W8131)
- -wdns (W8139. Support for declspec '%s' not implemented)
- -weas (W8018)
- -weff (W8019)
- -wext (W8020)
- -wexc (W8101)
- -weoi (W8125)
- -whch (W8021)
- -whid (W8022)
- -wias (W8023)
- -wibc (W8024)
- -will (W8025)
- -winl (W8026)
- -winl (W8027)
- -wifr (W8085)
- -wimp (W8102)
- -wiex (W8113)
- -winc (W8115)
- -wiip (W8118)
- -wiac (W8121)
- -wind (W8132)
- -witl (W8136)
- -wlin (W8028)
- -wlvc (W8029)
- -wlvc (W8030. Temporary used for parameter '%s' in call to '%s')
- -wlvc (W8031)
- -wlvc (W8032)
- -wmpc (W8033)
- -wmpd (W8034)
- -wmsg (W8035)
- -wmes (W8095)
- -wmcs (W8096)
- -wmcc (W8098)
- -wmls (W8104)
- -wmnc (W8105)
- -wmal (W8119)
- -wmtx (W8122)
- -wnak (W8036)
- -wncf (W8037)
- -wnci (W8038)
- -wncl (W8039)
- -wnfd (W8040)
- -wngu (W8041)
- -wnin (W8042)
- -wnma (W8043)
- -wnmu (W8044)
- -wnod (W8045)
- -wnop (W8046)
- -wnsf (W8047)
- -wnst (W8048)
- -wntd (W8049)
- -wnto (W8050)
- -wnvf (W8051)
- -wnpp (W8083)
- -wntn (W8107)
- -wnrm (W8124)
- -wobi (W8052)
- -wobs (W8053)
- -wofp (W8054)
- -wosh (W8055)
- -wovf (W8056)
- -wonr (W8097)
- -wpar (W8057)
- -wpch (W8058)
- -wpck (W8059)
- -wpia (W8060)
- -wpin (W8061)
- -wpow (W8062)
- -wpre (W8063)
- -wpro (W8064)
- -wpro (W8065)
- -wprc (W8084)
- -wpcm (W8094)
- -wpsb (W8099)
- -wptl (W8103)
- -wpnf (W8123)
- -wpun (W8135)
- -wpns (W8138. #pragma '%s' not supported on this platform)
- -wrch (W8066)
- -wret (W8067)
- -wrng (W8068)
- -wrpt (W8069)
- -wrvl (W8070)
- -wrlo (W8116)
- -wsig (W8071)
- -wspa (W8072)
- -wstu (W8073)
- -wstv (W8074)
- -wsus (W8075)
- -wstl (W8087)
- -wstl (W8089)
- -wstl (W8090)
- -wstl (W8091)
- -wstl (W8092)
- -wsmx (W8133)
- -wtai (W8076)
- -wtes (W8077)
- -wthr (W8078)
- -wtlb (W8137)
- -wucp (W8079)
- -wuse (W8080)
- -wucn (W8114)
- -wvoi (W8081)
- -wxxx (W8117)
- -wzdi (W8082)
See Also
- BCC32.EXE, the C++ 32-bit Command-Line Compiler
- BCC64.EXE, the C++ 64-bit Windows Compiler
- BCCIOSARM.EXE, the C++ Compiler for the 32-bit iOS Device
- BCCIOSARM64.EXE, the C++ Compiler for the 64-bit iOS Device
- BCCAARM.EXE, the C++ Compiler for Android
- Project Options Supported by Clang-enhanced C++ Compilers
- Precompiled Headers Command Line Options for Clang-enhanced C++ Compilers
- Errors and Warnings of Clang-enhanced C++ Compilers