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= +.. option:: -std= 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=