dim created this revision.
dim added reviewers: rsmith, dexonsmith, sylvestre.ledru, mgorny.
Herald added subscribers: krytarowski, fhahn.

After a remark on a FreeBSD mailing list that the clang man page did
not have any list of possible values for the `-std=` flag, I have now
attempted to exhaustively list those, for each available language.

This also includes a number of deprecated aliases, but since some of
those are still used, we might as well include them.  They are marked
with '(deprecated)`.

I also documented the default standard for each language, if there was
more than one choice.

Suggestions on how to make the values and descriptions line up more
nicely in RST are welcome.


Repository:
  rC Clang

https://reviews.llvm.org/D45406

Files:
  docs/CommandGuide/clang.rst


Index: docs/CommandGuide/clang.rst
===================================================================
--- docs/CommandGuide/clang.rst
+++ docs/CommandGuide/clang.rst
@@ -98,9 +98,57 @@
 
  Treat subsequent input files as having type language.
 
-.. option:: -std=<language>
+.. option:: -std=<standard>
 
  Specify the language standard to compile for.
+
+ Supported options for the C language are:
+
+ - ``c89``, ``c90`` or ``iso9899:1990``: ISO C 1990
+ - ``iso9899:199409``: ISO C 1990 with amendment 1
+ - ``gnu89`` or ``gnu90``: ISO C 1990 with GNU extensions
+ - ``c99``, ``iso9899:1999``, ``c9x`` (deprecated) or ``iso9899:199x``
+   (deprecated): ISO C 1999
+ - ``gnu99`` or ``gnu9x`` (deprecated): ISO C 1999 with GNU extensions
+ - ``c11``, ``iso9899:2011``, ``c1x`` (deprecated) or ``iso9899:201x``
+   (deprecated): ISO C 2011
+ - ``gnu11`` or ``gnu1x`` (deprecated): ISO C 2011 with GNU extensions
+ - ``c17`` or ``iso9899:2017``: ISO C 2017
+ - ``gnu17``: ISO C 2017 with GNU extensions
+
+ The default C language standard is ``gnu11``, except on PS4, where it is
+ ``gnu99``.
+
+ Supported options for the C++ language are:
+
+ - ``c++98`` or ``c++03``: ISO C++ 1998 with amendments
+ - ``gnu++98`` or ``gnu++03``: ISO C++ 1998 with amendments and GNU extensions
+ - ``c++11`` or ``c++0x`` (deprecated): ISO C++ 2011 with amendments
+ - ``gnu++11`` or ``gnu++0x`` (deprecated): ISO C++ 2011 with amendments and
+   GNU extensions
+ - ``c++14`` or ``c++1y`` (deprecated): ISO C++ 2014 with amendments
+ - ``gnu++14`` or ``gnu++1y`` (deprecated): ISO C++ 2014 with amendments and
+   GNU extensions
+ - ``c++17`` or ``c++1z`` (deprecated): ISO C++ 2017 with amendments
+ - ``gnu++17`` or ``gnu++1z`` (deprecated): ISO C++ 2017 with amendments and
+   GNU extensions
+ - ``c++2a``: Working draft for ISO C++ 2020
+ - ``gnu++2a``: Working draft for ISO C++ 2020 with GNU extensions
+
+ The default C++ language standard is ``gnu++14``.
+
+ Supported options for the OpenCL language are:
+
+ - ``cl1.0`` or ``cl`` (deprecated): OpenCL 1.0
+ - ``cl1.1``: OpenCL 1.1
+ - ``cl1.2``: OpenCL 1.2
+ - ``cl2.0``: OpenCL 2.0
+
+ The default OpenCL language standard is ``cl1.0``.
+
+ Supported options for the CUDA language are:
+
+ - ``cuda``: NVIDIA CUDA(tm)
 
 .. option:: -stdlib=<library>
 


Index: docs/CommandGuide/clang.rst
===================================================================
--- docs/CommandGuide/clang.rst
+++ docs/CommandGuide/clang.rst
@@ -98,9 +98,57 @@
 
  Treat subsequent input files as having type language.
 
-.. option:: -std=<language>
+.. option:: -std=<standard>
 
  Specify the language standard to compile for.
+
+ Supported options for the C language are:
+
+ - ``c89``, ``c90`` or ``iso9899:1990``: ISO C 1990
+ - ``iso9899:199409``: ISO C 1990 with amendment 1
+ - ``gnu89`` or ``gnu90``: ISO C 1990 with GNU extensions
+ - ``c99``, ``iso9899:1999``, ``c9x`` (deprecated) or ``iso9899:199x``
+   (deprecated): ISO C 1999
+ - ``gnu99`` or ``gnu9x`` (deprecated): ISO C 1999 with GNU extensions
+ - ``c11``, ``iso9899:2011``, ``c1x`` (deprecated) or ``iso9899:201x``
+   (deprecated): ISO C 2011
+ - ``gnu11`` or ``gnu1x`` (deprecated): ISO C 2011 with GNU extensions
+ - ``c17`` or ``iso9899:2017``: ISO C 2017
+ - ``gnu17``: ISO C 2017 with GNU extensions
+
+ The default C language standard is ``gnu11``, except on PS4, where it is
+ ``gnu99``.
+
+ Supported options for the C++ language are:
+
+ - ``c++98`` or ``c++03``: ISO C++ 1998 with amendments
+ - ``gnu++98`` or ``gnu++03``: ISO C++ 1998 with amendments and GNU extensions
+ - ``c++11`` or ``c++0x`` (deprecated): ISO C++ 2011 with amendments
+ - ``gnu++11`` or ``gnu++0x`` (deprecated): ISO C++ 2011 with amendments and
+   GNU extensions
+ - ``c++14`` or ``c++1y`` (deprecated): ISO C++ 2014 with amendments
+ - ``gnu++14`` or ``gnu++1y`` (deprecated): ISO C++ 2014 with amendments and
+   GNU extensions
+ - ``c++17`` or ``c++1z`` (deprecated): ISO C++ 2017 with amendments
+ - ``gnu++17`` or ``gnu++1z`` (deprecated): ISO C++ 2017 with amendments and
+   GNU extensions
+ - ``c++2a``: Working draft for ISO C++ 2020
+ - ``gnu++2a``: Working draft for ISO C++ 2020 with GNU extensions
+
+ The default C++ language standard is ``gnu++14``.
+
+ Supported options for the OpenCL language are:
+
+ - ``cl1.0`` or ``cl`` (deprecated): OpenCL 1.0
+ - ``cl1.1``: OpenCL 1.1
+ - ``cl1.2``: OpenCL 1.2
+ - ``cl2.0``: OpenCL 2.0
+
+ The default OpenCL language standard is ``cl1.0``.
+
+ Supported options for the CUDA language are:
+
+ - ``cuda``: NVIDIA CUDA(tm)
 
 .. option:: -stdlib=<library>
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to