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;

Reply via email to