[PATCH C++] - SD-6 Implementation Part 3 - .
Ed Smith-Rowland
3dw4rd@verizon.net
Thu Oct 2 08:08:00 GMT 2014
On 10/02/2014 02:51 AM, Ed Smith-Rowland wrote:
> On 10/01/2014 11:28 AM, Jonathan Wakely wrote:
>> On 02/09/14 10:24 +0100, Jonathan Wakely wrote:
>>> On 01/09/14 21:46 -0400, Ed Smith-Rowland wrote:
>>>> Index: include/bits/stl_function.h
>>>> ===================================================================
>>>> --- include/bits/stl_function.h (revision 214680)
>>>> +++ include/bits/stl_function.h (working copy)
>>>> @@ -217,6 +217,10 @@
>>>> };
>>>>
>>>> #if __cplusplus > 201103L
>>>> +
>>>> +#define __cpp_lib_transparent_operators 201210
>>>> +#define __cpp_lib_generic_associative_lookup 201304
>>>
>>> The generic associative lookup feature is not supported.
>>>
>>>> Index: testsuite/experimental/feat-lib-fund.cc
>>>> ===================================================================
>>>> --- testsuite/experimental/feat-lib-fund.cc (revision 0)
>>>> +++ testsuite/experimental/feat-lib-fund.cc (working copy)
>>>> @@ -0,0 +1,25 @@
>>>> +// { dg-options "-std=gnu++14" }
>>>> +// { dg-do compile }
>>>> +
>>>> +#include <experimental/optional>
>>>> +#include <experimental/string_view>
>>>> +
>>>> +#if !__has_include(<experimental/optional>)
>>>> +# error "<experimental/optional>"
>>>> +#endif
>>>> +
>>>> +//#if !__has_include(<experimental/net>)
>>>> +//# error "<experimental/net>"
>>>> +//#endif
>>>> +
>>>> +//#if !__has_include(<experimental/any>)
>>>> +//# error "<experimental/any>"
>>>> +//#endif
>>>
>>> This can be uncommented, <experimental/any> is available.
>>>
>>> OK with those changes.
>>
>> Ed, the commit at http://gcc.gnu.org/r215752 doesn't have the
>> corrections I asked for above and causes a number of test failures,
>> could you look into it please?
>>
>>
> OK,
>
> Here is the patch.
>
> Built and tested on x86_64-linux.
>
> OK?
>
> Ed
>
> FWIW, I remember a svn tree corruption while getting this patch ready.
> I should have retested everything in the new tree.
> Sorry everyone!
>
Here is a front-end test patch.
Built and tested on x86_64-linux.
OK?
Ed
-------------- next part --------------
2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp1y/feat-cxx98-neg.C: Fix double negative thinko and
add many more tests.
-------------- next part --------------
Index: g++.dg/cpp1y/feat-cxx98-neg.C
===================================================================
--- g++.dg/cpp1y/feat-cxx98-neg.C (revision 215793)
+++ g++.dg/cpp1y/feat-cxx98-neg.C (working copy)
@@ -1,6 +1,99 @@
// { dg-do compile { target c++98_only } }
// { dg-options "-ansi" }
-#ifdef __cpp_runtime_arrays
+#ifndef __cpp_runtime_arrays
# error "__cpp_runtime_arrays" // { dg-error "error" }
#endif
+
+#ifndef __cpp_unicode_characters
+# error "__cpp_unicode_characters" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_raw_strings
+# error "__cpp_raw_strings" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_unicode_literals
+# error "__cpp_unicode_literals" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_user_defined_literals
+# error "__cpp_user_defined_literals" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_lambdas
+# error "__cpp_lambdas" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_constexpr
+# error "__cpp_constexpr" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_static_assert
+# error "__cpp_static_assert" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_decltype
+# error "__cpp_decltype" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_attributes
+# error "__cpp_attributes" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_rvalue_reference
+# error "__cpp_rvalue_reference" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_variadic_templates
+# error "__cpp_variadic_templates" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_alias_templates
+# error "__cpp_alias_templates" // { dg-error "error" }
+#endif
+
+// C++14
+
+// C++98 gets binary literals.
+//#ifndef __cpp_binary_literals
+//# error "__cpp_binary_literals"
+//#endif
+
+#ifndef __cpp_init_captures
+# error "__cpp_init_captures" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_generic_lambdas
+# error "__cpp_generic_lambdas" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_decltype_auto
+# error "__cpp_decltype_auto" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_return_type_deduction
+# error "__cpp_return_type_deduction" // { dg-error "error" }
+#endif
+
+// Aggregate initializers not in yet.
+//#ifdef __cpp_aggregate_nsdmi
+//# error "__cpp_aggregate_nsdmi"
+//#endif
+
+#ifndef __cpp_variable_templates
+# error "__cpp_variable_templates" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_digit_separators
+# error "__cpp_digit_separators" // { dg-error "error" }
+#endif
+
+#ifndef __cpp_attribute_deprecated
+# error "__cpp_attribute_deprecated" // { dg-error "error" }
+#endif
+
+// Sized deallocation not in yet.
+//#ifdef __cpp_sized_deallocation
+//# error "__cpp_sized_deallocation"
+//#endif
More information about the Libstdc++
mailing list