• Home

Dev C%2b%2b 11 Support

 

Clang fully implements all published ISO C++ standards(C++98 / C++03,C++11,C++14, andC++17), and some of the upcoming C++20 standard.

If you must use Dev C, try the following: 1. Click to Tools Compiler Options. Click to Settings Code Generation. Change the value of Language Standard (-std) to ISO C11. Because the upstream GCC community development does not guarantee C11 ABI compatibility across major versions of GCC, the same applies to use of C11 with Red Hat Developer Toolset. Consequently, using the -std=c11 option is supported in Red Hat Developer Toolset 3.x only when all C objects compiled with that flag have been built using. Created by LolRiTTeR#1258. Welcome to 2b2t.dev! Check out the stuff I made so far: Priority Queue LolRiTTeRBot API 2b2t Tablist. Visual C 2012 (also known as Visual C 11.0) was released on August 15, 2012. It features improved C11 support, and support for Windows Runtime development. Visual C 2013 (also known as Visual C 12.0) was released on October 17, 2013. It features further C11 and C99 support.

The Clang community is continually striving to improve C++ standardscompliance between releases by submitting and tracking C++ Defect Reports and implementing resolutionsas they become available.

Experimental work is also under way to implement C++ TechnicalSpecifications that will help drive the future of the C++ programminglanguage.

The LLVM bug tracker contains ClangC++ components that track known bugs with Clang's language conformance ineach language mode.

C++98 implementation status

Clang implements all of the ISO C++ 1998 standard (including the defects addressed in the ISO C++ 2003 standard) except for export (which was removed in C++11).

C++11 implementation status

Clang 3.3 and later implement all of the ISO C++ 2011 standard.

By default, Clang builds C++ code according to the C++98 standard, with manyC++11 features accepted as extensions. You can use Clang in C++11 mode with the-std=c++11 option. Clang's C++11 mode can be usedwith libc++ or with gcc's libstdc++.

List of features and minimum Clang version with support
Language FeatureC++11 ProposalAvailable in Clang?
Rvalue referencesN2118Clang 2.9
P1825R0 (DR)No
Rvalue references for *thisN2439Clang 2.9
Initialization of class objects by rvaluesN1610Clang 2.9
Non-static data member initializersN2756Clang 3.0
Variadic templatesN2242Clang 2.9
Extending variadic template template parametersN2555Clang 2.9
Initializer listsN2672Clang 3.1
P1009R2 (DR)Clang 9
P1957R2 (DR)Clang 11
Static assertionsN1720Clang 2.9
auto-typed variablesN1984Clang 2.9
Multi-declarator autoN1737Clang 2.9
Removal of auto as a storage-class specifierN2546Clang 2.9
New function declarator syntaxN2541Clang 2.9
Lambda expressionsN2927Clang 3.1
P0588R1 (DR)No
Declared type of an expressionN2343Clang 2.9
Incomplete return typesN3276Clang 3.1
Right angle bracketsN1757Clang 2.9
Default template arguments for function templatesDR226Clang 2.9
Solving the SFINAE problem for expressionsDR339Clang 2.9
Alias templatesN2258Clang 3.0
Extern templatesN1987Clang 2.9
Null pointer constantN2431Clang 3.0
Strongly-typed enumsN2347Clang 2.9
Forward declarations for enumsN2764
DR1206
Clang 3.1
Standardized attribute syntaxN2761Clang 3.3 (1)
Generalized constant expressionsN2235Clang 3.1
P0859R0 (DR)Clang 8
Alignment supportN2341Clang 3.3
Conditionally-support behaviorN1627Clang 2.9
Changing undefined behavior into diagnosable errorsN1727Clang 2.9
Delegating constructorsN1986Clang 3.0
Inheriting constructorsN2540Clang 3.3
P0136R1 (DR)Clang 3.9
Explicit conversion operatorsN2437Clang 3.0
New character typesN2249Clang 2.9
Unicode string literalsN2442Clang 3.0
Raw string literalsN2442Clang 3.0
Universal character names in literalsN2170Clang 3.1
User-defined literalsN2765Clang 3.1
Standard Layout TypesN2342Clang 3.0
Defaulted functionsN2346Clang 3.0
P1286R2 (DR)Clang 9
Deleted functionsN2346Clang 2.9
Extended friend declarationsN1791Clang 2.9
Extending sizeofN2253
DR850
Clang 3.1
Inline namespacesN2535Clang 2.9
Unrestricted unionsN2544Clang 3.1
Local and unnamed types as template argumentsN2657Clang 2.9
Range-based forN2930Clang 3.0
P0962R1 (DR)Clang 8
Explicit virtual overridesN2928
N3206
N3272
Clang 3.0
Minimal support for garbage collection and reachability-based leak detectionN2670N/A (2)
Allowing move constructors to throw [noexcept]N3050Clang 3.0
Defining move special member functionsN3053Clang 3.0
Concurrency
Sequence pointsN2239Clang 3.3
Atomic operationsN2427Clang 3.1
Strong Compare and ExchangeN2748Clang 3.1 (3)
Bidirectional FencesN2752Clang 3.1
Memory modelN2429Clang 3.2
Data-dependency ordering: atomics and memory modelN2664Clang 3.2 (4)
Propagating exceptionsN2179Clang 2.9
Allow atomics use in signal handlersN2547Clang 3.1
Thread-local storageN2659Clang 3.3 (5)
Dynamic initialization and destruction with concurrencyN2660Clang 2.9
C99 Features in C++11
__func__ predefined identifierN2340Clang 2.9
C99 preprocessorN1653Clang 2.9
long longN1811Clang 2.9
Extended integral typesN1988N/A (6)

(1): The [[carries_dependency]] attributehas no effect.
(2): No compiler changes are required for an implementationsuch as Clang that does not provide garbage collection.
(3): All compare-exchange operations are emitted asstrong compare-exchanges.
(4): memory_order_consume is lowered tomemory_order_acquire.
(5): thread_local supportrequires a C++ runtime library providing __cxa_thread_atexit, suchas libc++abi 3.6 or later,or libsupc++ 4.8 or later.
(6): No compiler changes are required for an implementationsuch as Clang that does not provide any extended integer types.__int128 is not treated as an extended integer type,because changing intmax_t would be an ABI-incompatiblechange.

C++14 implementation status

Clang 3.4 and later implement all of the ISO C++ 2014 standard. z ro crack album

You can use Clang in C++14 mode with the -std=c++14 option(use -std=c++1y in Clang 3.4 and earlier).

List of features and minimum Clang version with support
Language FeatureC++14 ProposalAvailable in Clang?
Tweak to certain C++ contextual conversionsN3323Clang 3.4
Binary literalsN3472Clang 2.9
decltype(auto)N3638Clang 3.3
Return type deduction for normal functionsClang 3.4
Initialized lambda capturesN3648Clang 3.4
Generic lambdasN3649Clang 3.4
Variable templatesN3651Clang 3.4
Relaxing requirements on constexpr functionsN3652Clang 3.4
Member initializers and aggregatesN3653Clang 3.3
Clarifying memory allocationN3664Clang 3.4
[[deprecated]] attributeN3760Clang 3.4
Single quotation mark as digit separatorN3781Clang 3.4
C++ Sized DeallocationN3778Clang 3.4 (7)

(7): In Clang 3.7 and later, sized deallocation is only enabledif the user passes the -fsized-deallocation flag. The user mustsupply definitions of the sized deallocation functions, either by providing themexplicitly or by using a C++ standard library that does. libstdc++added these functions in version 5.0, and libc++ added them inversion 3.7.

Support

C++17 implementation status

Clang 5 and later implement all the features of theISO C++ 2017 standard.

You can use Clang in C++17 mode with the -std=c++17 option(use -std=c++1z in Clang 4 and earlier). Android 2.2 froyo sdk emulator for pc download.

List of features and minimum Clang version with support
Language FeatureC++17 ProposalAvailable in Clang?
static_assert with no messageN3928Clang 3.5
Disabling trigraph expansion by defaultN4086Clang 3.5
typename in a template template parameterN4051Clang 3.5
New auto rules for direct-list-initialization N3922Clang 3.8 (8)
Fold expressionsN4295Clang 3.6
P0036R0Clang 3.9
u8 character literalsN4267Clang 3.6
Nested namespace definitionN4230Clang 3.6
Attributes for namespaces and enumeratorsN4266Clang 3.6
Allow constant evaluation for all non-type template argumentsN4268Clang 3.6
Remove deprecated register storage classP0001R1Clang 3.8
Remove deprecated bool incrementP0002R1Clang 3.8
Make exception specifications part of the type systemP0012R1Clang 4
__has_include in preprocessor conditionalsP0061R1Yes
[[fallthrough]] attributeP0188R1Clang 3.9
[[nodiscard]] attributeP0189R1Clang 3.9
P1771R1 (DR)Clang 9
[[maybe_unused]] attributeP0212R1Clang 3.9
Aggregate initialization of classes with base classesP0017R1Clang 3.9
constexpr lambda expressionsP0170R1Clang 5
Differing begin and end types in range-based forP0184R0Clang 3.9
Lambda capture of *thisP0018R3Clang 3.9
Direct-list-initialization of enumsP0138R2Clang 3.9
Hexadecimal floating-point literalsP0245R1Yes
Using attribute namespaces without repetitionP0028R4Clang 3.9
Dynamic memory allocation for over-aligned dataP0035R4Clang 4
Template argument deduction for class templatesP0091R3Clang 5
P0512R0
P0620R0 (DR)Clang 7
P0702R1 (DR)Clang 6
Non-type template parameters with auto typeP0127R2Clang 4
Guaranteed copy elisionP0135R1Clang 4
Stricter expression evaluation orderP0145R3Clang 4 (9)
P0400R0
Requirement to ignore unknown attributesP0283R2Yes
constexprif-statementsP0292R2Clang 3.9
Inline variablesP0386R2Clang 3.9
Structured bindingsP0217R3Clang 4
P0961R1 (DR)Clang 8
P0969R0 (DR)Clang 8
Separate variable and condition for if and switchP0305R1Clang 3.9
Matching template template parameters to compatible argumentsP0522R0Partial (10)
Removing deprecated dynamic exception specificationsP0003R5Clang 4
Pack expansions in using-declarationsP0195R2Clang 4

(8): This is a backwards-incompatible change that is applied toall language versions that allow type deduction from auto(per the request of the C++ committee).In Clang 3.7, a warning is emitted for all cases that would change meaning.
(9): Under the MS ABI, function parameters are destroyed fromleft to right in the callee. As a result, function parameters in calls tooperator<<, operator>>, operator->*,operator&&, operator , and operator,functions using expression syntax are no longer guaranteed to be destroyed inreverse construction order in that ABI.This is not fully supported during constant expression evaluation until Clang 12.
(10): Despite being the resolution to a Defect Report, thisfeature is disabled by default in all language versions, and can be enabledexplicitly with the flag -frelaxed-template-template-args in Clang 4onwards.The change to the standard lacks a corresponding change for template partialordering, resulting in ambiguity errors for reasonable and previously-validcode. This issue is expected to be rectified soon.

C++20 implementation status

Clang has support for some of the features of theISO C++ 2020 Draft International Standard.

You can use Clang in C++20 mode with the -std=c++20 option(use -std=c++2a in Clang 9 and earlier).

List of features and minimum Clang version with support
Language FeatureC++20 ProposalAvailable in Clang?
Default member initializers for bit-fieldsP0683R1Clang 6
const&-qualified pointers to membersP0704R1Clang 6
Allow lambda-capture[=, this]P0409R2Clang 6
__VA_OPT__ for preprocessor comma elisionP0306R4Clang 6
P1042R1Clang 9
Designated initializersP0329R4Clang 10
template-parameter-list for generic lambdasP0428R2Clang 9
ConceptsP0734R0Clang 10
P0857R0Partial
P1084R2Clang 10
P1141R2
P0848R3No
P1616R1Clang 10
P1452R2
P1972R0No
P1980R0
P2103R0
P2092R0
P2113R0
Range-based for statements with initializerP0614R1Clang 8
ADL and function templates that are not visibleP0846R0Clang 9
const mismatch with defaulted copy constructorP0641R2Clang 8
Consistent comparison (operator<=>)P0515R3Clang 10
P0905R1
P1120R0
P1185R2
P1186R3
P1630R1
P1946R0
P1959R0
P2002R1Partial
P2085R0No
Access checking on specializationsP0692R1Partial
Default constructible and assignable stateless lambdasP0624R2Clang 8
Lambdas in unevaluated contextsP0315R4No
[[no_unique_address]] attributeP0840R2Clang 9
[[likely]] and [[unlikely]] attributesP0479R5Clang 12
typename optional in more contextsP0634R3No
Pack expansion in lambda init-captureP0780R2Clang 9
Class types as non-type template parametersP0732R2Clang 12
P1907R1
Destroying operator deleteP0722R3Clang 6
Relaxations of constexpr restrictionsP1064R0Clang 9
P1002R1Clang 8
P1327R1Clang 9
P1330R0
P1331R2Clang 10
P1668R1
P0784R7
Prohibit aggregates with user-declared constructorsP1008R1Clang 8
Feature test macrosP0941R2(see below)
explicit(bool)P0892R2Clang 9
Signed integers are two's complementP1236R1Clang 9
char8_tP0482R6Clang 7 (11)
Immediate functions (consteval)P1073R3No
P1937R2
std::is_constant_evaluatedP0595R2Clang 9
Nested inline namespacesP1094R2Clang 8
Structured binding extensionsP1091R3Partial
P1381R1
Stronger Unicode requirementsP1041R4Yes
P1139R2
Parenthesized initialization of aggregatesP0960R3No
P1975R0
ModulesP1103R3Partial
P1766R1 (DR)Clang 11
P1811R0No
P1703R1
P1874R1Partial
P1979R0No
P1779R3
P1857R3
P2115R0Partial
P1815R2No
CoroutinesP0912R5Partial
Deprecate a[b,c]P1161R3Clang 9
Deprecate some problematic uses of volatileP1152R4Clang 10
[[nodiscard('with reason')]]P1301R4Clang 9
using enumP1099R5No
Class template argument deduction for aggregatesP1816R0No
P2082R1
Class template argument deduction for alias templatesP1814R0No
Permit conversions to arrays of unknown boundP0388R4No
constinitP1143R2Clang 10
Pseudo-destructors end object lifetimesP0593R6 (DR)Clang 11

(11): Prior to Clang 8, this feature is not enabled by-std=c++20, but can be enabled with -fchar8_t.

Defect reports

Clang generally aims to implement resolutions to Defect Reports (bug fixesagainst prior standards) retroactively, in all prior standard versions wherethe fix is meaningful. Significant Defect Report changes to language featuresafter the publication of the relevant standard are marked (DR) in the abovetable.

Clang also has a test suite for conformance to resolutions for issues on theC++ core issues list,most of which are considered Defect Reports.Implementation status for C++ core issues based onthat test suite is tracked on a separate page.

Technical specifications and standing documents

ISO C++ also publishes a number of documents describing additional languageand library features that are not part of standard C++.

List of features and minimum Clang version with support
DocumentLatest draftCompiler flagAvailable in Clang?
SD-6: SG10 feature test recommendationsSD-6N/A Clang 3.4 (N3745)
Clang 3.6 (N4200)
Clang 4 (P0096R3)
Clang 5 (P0096R4)
Clang 7 (P0096R5)
Clang 9 (P1353R0)
Clang 10 (P1902R1)
[TS] ConceptsP0121R0Superseded by P0734R0
[TS] CoroutinesN4663-fcoroutines-ts
-stdlib=libc++
Clang 5
-std=c++20
-stdlib=libc++
Superseded by P0912R5
[TS] Library Fundamentals, Version 1 (invocation type traits)N4480N/ANo
[TS] Library Fundamentals, Version 2 (source_location)N4617N/AClang 9 (documentation)
[TS] ModulesN4720-fmodules-tsSuperseded by P1103R3
[DRAFT TS] ReflectionN4818No
[TS] Transactional MemoryN4514No

#7916closedenhancement (fixed)

Dev C 2b 2b 11 Support Manual

Reported by:Owned by:
Priority: normal Milestone: R1
Component: Build System Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Change History (6)

comment:1 by , 9 years ago

Owner: changed from to
Status:newassigned
Type:bugenhancement
Version:R1/alpha3R1/Development

comment:2 by , 7 years ago

Summary:mutex compiler support in gcc 4.5.3C++11 thread support is broken.

comment:3 by , 7 years ago

Dev C 2b 2b 11 Support Download

comment:4 by , 7 years ago

comment:5 by , 7 years ago

Dev C 2b 2b 11 Support Software

comment:6 by , 7 years ago

Dev C 2b 2b 11 Support Tool

Note: See TracTickets for help on using tickets.