Lines Matching +full:mixed +full:- +full:mode

6 C++ is a general-purpose object-oriented programming language that is based on
49 * OS-specific C++ standard library classes (e.g. ``std::thread``,
86 the applications that implement their own (non-standard) class library and do
101 pre-built C++ standard library included in the C++ compiler toolchain.
103 To enable C++ standard library, select an applicable toolchain-specific C++
141 These compatibility issues affect header files dis-proportionally. Not
145 headers organization`_ that is typical in real-world projects. So, header
154 practices" and lessons learned in a Zephyr-specific context. While a lot
155 of the information here is not Zephyr-specific, this section is not a
160 -------
167 quickly over a range of ``-std`` parameters: ``-std=c++98``,
168 ``-std=c++11``, etc.
173 -----------------------
179 their C90 mode.
182 error-prone, more readable and more flexible. On the other hand, C99
186 be mixed, etc.
194 Interestingly, the new restrictions in C++20 can cause ``gcc -std=c++20``
196 ``gcc -std=c++17``. For example, ``gcc -std=c++17`` and older allow the
197 C-style mix of initializers and bare expressions. This fails to compile
198 with using ``gcc -std=c++20`` *with the same GCC version*.
202 should follow all C++20 rules and restrictions. Non-designated, pre-C99
205 style. In any case, both styles must never be mixed in the same
210 unspecified in C99! It is the (expected) left-to-right order in
215 ----------------
228 - Do *not* enclose *designated* initializers with braces. This is
232 - Do enclose *bare* expressions with braces. This is required by C.
235 does allow omitting most braces in initializer expressions - but not
239 Some pre-C11 GCC versions support some form of anonymous unions. They
244 <https://github.com/zephyrproject-rtos/zephyr/commit/c15f029a7108>`_ and
252 https://github.com/zephyrproject-rtos/zephyr/issues/41543
254 https://gcc.gnu.org/pipermail/gcc-patches/2017-November/487584.html