Skip to content
Snippets Groups Projects
Commit 86d8bfe9 authored by Richard Smith's avatar Richard Smith
Browse files

Update user manual to note that implementation for C++11 and C++1y is...

Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197120 91177308-0d34-0410-b5e6-96231b3b80d8
parent d0c5ff4a
No related branches found
No related tags found
No related merge requests found
...@@ -1233,23 +1233,23 @@ Microsoft extensions ...@@ -1233,23 +1233,23 @@ Microsoft extensions
-------------------- --------------------
clang has some experimental support for extensions from Microsoft Visual 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. 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 and others such as `Microsoft IDL annotations
<http://msdn.microsoft.com/en-us/library/8tesw2eh.aspx>`_ are silently <http://msdn.microsoft.com/en-us/library/8tesw2eh.aspx>`_ are silently
ignored. 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 invalid C++ to be able to parse most Microsoft headers. For example, it
allows `unqualified lookup of dependent base class members allows `unqualified lookup of dependent base class members
<http://clang.llvm.org/compatibility.html#dep_lookup_bases>`_, which is <http://clang.llvm.org/compatibility.html#dep_lookup_bases>`_, which is
a common compatibility issue with clang. This flag is enabled by default a common compatibility issue with clang. This flag is enabled by default
for Windows targets. for Windows targets.
-fdelayed-template-parsing lets clang delay all template instantiation ``-fdelayed-template-parsing`` lets clang delay parsing of function template
until the end of a translation unit. This flag is enabled by default for definitions until the end of a translation unit. This flag is enabled by
Windows targets. default for Windows targets.
- clang allows setting ``_MSC_VER`` with ``-fmsc-version=``. It defaults to - 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 1700 which is the same as Visual C/C++ 2012. Any number is supported
...@@ -1275,8 +1275,8 @@ C++ Language Features ...@@ -1275,8 +1275,8 @@ C++ Language Features
===================== =====================
clang fully implements all of standard C++98 except for exported clang fully implements all of standard C++98 except for exported
templates (which were removed in C++11), and `many C++11 templates (which were removed in C++11), and all of standard C++11
features <http://clang.llvm.org/cxx_status.html>`_ are also implemented. and the current draft standard for C++1y.
Controlling implementation limits Controlling implementation limits
--------------------------------- ---------------------------------
...@@ -1328,8 +1328,8 @@ Darwin (Mac OS/X), Linux, FreeBSD, and Dragonfly BSD: it has been tested ...@@ -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++ to correctly compile many large C, C++, Objective-C, and Objective-C++
codebases. codebases.
On ``x86_64-mingw32``, passing i128(by value) is incompatible to Microsoft On ``x86_64-mingw32``, passing i128(by value) is incompatible with the
x64 calling conversion. You might need to tweak Microsoft x64 calling conversion. You might need to tweak
``WinX86_64ABIInfo::classify()`` in lib/CodeGen/TargetInfo.cpp. ``WinX86_64ABIInfo::classify()`` in lib/CodeGen/TargetInfo.cpp.
ARM ARM
...@@ -1380,7 +1380,8 @@ None ...@@ -1380,7 +1380,8 @@ None
Windows Windows
^^^^^^^ ^^^^^^^
Experimental supports are on Cygming. Clang has experimental support for targeting "Cygming" (Cygwin / MinGW)
platforms.
See also :ref:`Microsoft Extensions <c_ms>`. See also :ref:`Microsoft Extensions <c_ms>`.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment