From 6a8afa21a6cb29aca2319e6ef37f7615d7e00148 Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Sat, 28 Jan 2017 00:35:19 -0500 Subject: [PATCH] Bug 511108 - Update the set of supported feature reported in __has_feature Since the last update, C++14 relaxed constexpr and a few new type traits have been implemented. Change-Id: I6fb780973c113820bfecf6a2bc7f1b7f5b1494e9 --- .../internal/core/parser/scanner/CPreprocessor.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/CPreprocessor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/CPreprocessor.java index c41a11b112d..6dfce181535 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/CPreprocessor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/CPreprocessor.java @@ -2141,7 +2141,7 @@ public class CPreprocessor implements ILexerLog, IScanner, IAdaptable { // missing: cxx_decltype_auto (bug 408470) // missing: cxx_generic_lambdas // missing: cxx_init_captures (bug 413527) - // missing: cxx_relaxed_constexpr (bug 490475) + sSupportedFeatures.add("cxx_relaxed_constexpr"); // missing: cxx_return_type_deduction (bug 408470) sSupportedFeatures.add("cxx_variable_templates"); @@ -2174,7 +2174,7 @@ public class CPreprocessor implements ILexerLog, IScanner, IAdaptable { // missing: is_constructible // missing: is_convertible_to // missing: is_destructible - // missing: is_empty + addTypeTraitPrimitive("is_empty", GCCKeywords.cp__is_empty); addTypeTraitPrimitive("is_enum", GCCKeywords.cp__is_enum); addTypeTraitPrimitive("is_final", GCCKeywords.cp__is_final); // missing: is_interface_class @@ -2184,11 +2184,11 @@ public class CPreprocessor implements ILexerLog, IScanner, IAdaptable { // missing: is_nothrow_destructible addTypeTraitPrimitive("is_pod", GCCKeywords.cp__is_pod); addTypeTraitPrimitive("is_polymorphic", GCCKeywords.cp__is_polymorphic); - // missing: is_standard_layout - // missing: is_trivial + addTypeTraitPrimitive("is_standard_layout", GCCKeywords.cp__is_standard_layout); + addTypeTraitPrimitive("is_trivial", GCCKeywords.cp__is_trivial); // missing: is_trivially_assignable // missing: is_trivially_constructible - // missing: is_trivially_copyable + addTypeTraitPrimitive("is_trivially_copyable", GCCKeywords.cp__is_trivially_copyable); addTypeTraitPrimitive("is_union", GCCKeywords.cp__is_union); addTypeTraitPrimitive("underlying_type", GCCKeywords.cp__underlying_type); }