diff --git a/docs/UsersManual.rst b/docs/UsersManual.rst index ce2c7ab1b98af0b42d1facf752e2bd55b1673a3c..fb5cda5059d2c574a281f86bca50157c7d266e28 100644 --- a/docs/UsersManual.rst +++ b/docs/UsersManual.rst @@ -1233,23 +1233,23 @@ Microsoft extensions -------------------- clang has some experimental support for extensions from Microsoft Visual -C++; to enable it, use the -fms-extensions command-line option. This is +C++; to enable it, use the ``-fms-extensions`` command-line option. This is the default for Windows targets. Note that the support is incomplete. -Some constructs such as dllexport on classes are ignored with a warning, +Some constructs such as ``dllexport`` on classes are ignored with a warning, and others such as `Microsoft IDL annotations <http://msdn.microsoft.com/en-us/library/8tesw2eh.aspx>`_ are silently ignored. -clang has a -fms-compatibility flag that makes clang accept enough +clang has a ``-fms-compatibility`` flag that makes clang accept enough invalid C++ to be able to parse most Microsoft headers. For example, it allows `unqualified lookup of dependent base class members <http://clang.llvm.org/compatibility.html#dep_lookup_bases>`_, which is a common compatibility issue with clang. This flag is enabled by default for Windows targets. --fdelayed-template-parsing lets clang delay all template instantiation -until the end of a translation unit. This flag is enabled by default for -Windows targets. +``-fdelayed-template-parsing`` lets clang delay parsing of function template +definitions until the end of a translation unit. This flag is enabled by +default for Windows targets. - clang allows setting ``_MSC_VER`` with ``-fmsc-version=``. It defaults to 1700 which is the same as Visual C/C++ 2012. Any number is supported @@ -1275,8 +1275,8 @@ C++ Language Features ===================== clang fully implements all of standard C++98 except for exported -templates (which were removed in C++11), and `many C++11 -features <http://clang.llvm.org/cxx_status.html>`_ are also implemented. +templates (which were removed in C++11), and all of standard C++11 +and the current draft standard for C++1y. Controlling implementation limits --------------------------------- @@ -1328,8 +1328,8 @@ Darwin (Mac OS/X), Linux, FreeBSD, and Dragonfly BSD: it has been tested to correctly compile many large C, C++, Objective-C, and Objective-C++ codebases. -On ``x86_64-mingw32``, passing i128(by value) is incompatible to Microsoft -x64 calling conversion. You might need to tweak +On ``x86_64-mingw32``, passing i128(by value) is incompatible with the +Microsoft x64 calling conversion. You might need to tweak ``WinX86_64ABIInfo::classify()`` in lib/CodeGen/TargetInfo.cpp. ARM @@ -1380,7 +1380,8 @@ None Windows ^^^^^^^ -Experimental supports are on Cygming. +Clang has experimental support for targeting "Cygming" (Cygwin / MinGW) +platforms. See also :ref:`Microsoft Extensions <c_ms>`.