On 25/11/15 19:55 +0000, Jonathan Wakely wrote:
On 25 November 2015 at 17:29, Alan Lawrence <alan.lawre...@arm.com> wrote:
On 16/11/15 21:04, Doug Evans wrote:
Hi.
Apologies for the delay.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67440
Tested with current trunk.
2015-11-16 Doug Evans <d...@google.com>
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
On gcc-5-branch, the debug.cc and simple.cc tests don't seem to compile, on
either x86_64-none-linux-gnu or aarch64-none-linux-gnu. I get errors like:
/work/alalaw01/src/gcc/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc:
In function 'int main()':
/work/alalaw01/src/gcc/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc:77:43:
error: in C++98 'const_intset' must be initialized by constructor, not by
'{...}'
const std::set<int> const_intset = {2, 3};
^
Which should have failed to compile on trunk as well, but we're
missing a -std=gnu++98 in the simple.cc testcase, so on trunk it uses
the -std=gnu++14 default. I'll add -std=gnu++98 to the test.
I've committed this to trunk, and will apply it to gcc-5-branch after
I finish testing it on the branch.
commit 0ee15827a1132aeb960ff613ecafd8351a2535e0
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Thu Nov 26 15:10:15 2015 +0000
Ensure pretty-printer test uses C++98 mode
* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
index 68c4d83..e1956bf 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
@@ -1,7 +1,7 @@
// If you modify this, please update simple11.cc and debug.cc as well.
// { dg-do run }
-// { dg-options "-g -O0" }
+// { dg-options "-g -O0 -std=gnu++98" }
// Copyright (C) 2011-2015 Free Software Foundation, Inc.
//
@@ -74,7 +74,10 @@ main()
// { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } }
// PR 67440
- const std::set<int> const_intset = {2, 3};
+ std::set<int> intset;
+ intset.insert(2);
+ intset.insert(3);
+ const std::set<int> const_intset = intset;
// { dg-final { note-test const_intset {std::set with 2 elements = {[0] = 2, [1] = 3}} } }
std::set<std::string> sp;