public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out
@ 2014-05-10 23:46 felix at fontein dot de
  2014-05-11  7:30 ` [Bug libstdc++/61143] " felix at fontein dot de
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: felix at fontein dot de @ 2014-05-10 23:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

            Bug ID: 61143
           Summary: Arithmetic exception on emplacing into unordered_map
                    moved out
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: felix at fontein dot de

Created attachment 32775
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32775&action=edit
Preprocessed sample code.

If I try to emplace a new element into an unordered_map<> whose content was
moved out before, a floating point exception is raised. Sample code:

#include <unordered_map>

int main()
{
    std::unordered_map<int, int> a;
    a.emplace(1, 1);
    std::unordered_map<int, int> b = std::move(a);
    a.emplace(1, 1);
}

The problem is that apparently the number of buckets is set to zero, and
std::__detail::_Hash_code_base<...>::_M_bucket_index tries to compute the hash
code modulo the number of buckets.

Tested with GCC version 4.9.0. If I recall correctly, the above example did
work with an older version of GCC/libstdc++ (I think GCC 4.8.x).

Details: GCC 4.9 on Arch Linux; gcc -v yields:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc/src/gcc-4.9-20140507/configure --prefix=/usr
--libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--disable-libssp --enable-gnu-unique-object --enable-linker-build-id
--enable-cloog-backend=isl --disable-cloog-version-check --enable-lto
--enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu
--disable-multilib --disable-werror --enable-checking=release
Thread model: posix
gcc version 4.9.0 20140507 (prerelease) (GCC) 

Command line to trigger bug: g++ -std=c++11 -g -o test test.cpp
(and subsequent execution of ./test)


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
@ 2014-05-11  7:30 ` felix at fontein dot de
  2014-05-11 10:03 ` [Bug libstdc++/61143] [4.9/4.10 Regression] " redi at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: felix at fontein dot de @ 2014-05-11  7:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #1 from Felix Fontein <felix at fontein dot de> ---
Changing the example by adding a.clear() before the second emplace does not
improve the situation:

#include <unordered_map>

int main()
{
    std::unordered_map<int, int> a;
    a.emplace(1, 1);
    std::unordered_map<int, int> b = std::move(a);
    a.clear();
    a.emplace(1, 1); // floating point exception
}

>From my understanding of the standard (and from the discussion here:
http://stackoverflow.com/questions/9168823/reusing-a-moved-container) both
examples should not result in a crash.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
  2014-05-11  7:30 ` [Bug libstdc++/61143] " felix at fontein dot de
@ 2014-05-11 10:03 ` redi at gcc dot gnu.org
  2014-05-11 11:02 ` daniel.kruegler at googlemail dot com
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-11 10:03 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-05-11
      Known to work|                            |4.8.2
   Target Milestone|---                         |4.9.1
            Summary|Arithmetic exception on     |[4.9/4.10 Regression]
                   |emplacing into              |Arithmetic exception on
                   |unordered_map moved out     |emplacing into
                   |                            |unordered_map moved out
     Ever confirmed|0                           |1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
  2014-05-11  7:30 ` [Bug libstdc++/61143] " felix at fontein dot de
  2014-05-11 10:03 ` [Bug libstdc++/61143] [4.9/4.10 Regression] " redi at gcc dot gnu.org
@ 2014-05-11 11:02 ` daniel.kruegler at googlemail dot com
  2014-05-11 14:06 ` redi at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2014-05-11 11:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler@googlemail.
                   |                            |com

--- Comment #2 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
The problem also occurs in gcc 4.10 trunk and I can confirm that this wasn't
the case for 4.7.3, 4.8.1, 4.8.2.
>From gcc-bugs-return-451247-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun May 11 12:28:55 2014
Return-Path: <gcc-bugs-return-451247-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 21735 invoked by alias); 11 May 2014 12:28:54 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 21449 invoked by uid 48); 11 May 2014 12:28:46 -0000
From: "olegendo at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug bootstrap/25672] [4.7/4.8/4.9/4.10 Regression] cross build's libgcc picks up CFLAGS
Date: Sun, 11 May 2014 12:28:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: bootstrap
X-Bugzilla-Version: 4.1.0
X-Bugzilla-Keywords: build, patch
X-Bugzilla-Severity: normal
X-Bugzilla-Who: olegendo at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P2
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.7.4
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-25672-4-krLwy6ZQ0b@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-25672-4@http.gcc.gnu.org/bugzilla/>
References: <bug-25672-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg00939.txt.bz2
Content-length: 859

http://gcc.gnu.org/bugzilla/show_bug.cgi?id%672

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |olegendo at gcc dot gnu.org

--- Comment #35 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Just ran into the same issue with trunk r210305, while building a cross SH on
OSX.  The newly merged wide-int code contains some things, which clang
considers an error.  Setting
export CFLAGS="-fheinous-gnu-extensions"
export CXXFLAGS="-fheinous-gnu-extensions"

fixes that, but then one need also to set e.g.
export CFLAGS_FOR_TARGET="-O2"
export CXXFLAGS_FOR_TARGET="-O2"

or else -fheinous-gnu-extensions will be passed to the xgcc.
This really should be documented somewhere...


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (2 preceding siblings ...)
  2014-05-11 11:02 ` daniel.kruegler at googlemail dot com
@ 2014-05-11 14:06 ` redi at gcc dot gnu.org
  2014-05-12  6:43 ` fdumont at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-11 14:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Without actually looking into it, one option would be something like:

  if (__builtin_expect(_M_bucket_count==0, 0))
     _M_recreate_buckets();

in loads of places, but I hope we can avoid that.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (3 preceding siblings ...)
  2014-05-11 14:06 ` redi at gcc dot gnu.org
@ 2014-05-12  6:43 ` fdumont at gcc dot gnu.org
  2014-05-12 10:01 ` redi at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fdumont at gcc dot gnu.org @ 2014-05-12  6:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #4 from François Dumont <fdumont at gcc dot gnu.org> ---
I simply considered that the moved container instance wouldn't be reused this
way, just potentially for some immutable operations. I should have checked the
Standard regarding the meaning of "valid by unspecified state".

There are indeed numerous places to consider to make this code and any other
mutable code valid. I would also prefer to avoid those checks but I remember
that I needed to leave the container in this state for exception guaranty
reasons in some move operations. I will recall rational of this as soon as I
can take a look to the code.
>From gcc-bugs-return-451281-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon May 12 07:43:07 2014
Return-Path: <gcc-bugs-return-451281-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 21489 invoked by alias); 12 May 2014 07:43:07 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 21326 invoked by uid 48); 12 May 2014 07:43:02 -0000
From: "glisse at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/61150] wrong code at -O3 on x86_64-linux
Date: Mon, 12 May 2014 07:43:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.10.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: glisse at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61150-4-htz3XTvJen@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61150-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61150-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg00973.txt.bz2
Content-length: 219

http://gcc.gnu.org/bugzilla/show_bug.cgi?ida150

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
Same issue as PR 61140, the patch at
http://gcc.gnu.org/ml/gcc-patches/2014-05/msg00695.html fixes it.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (4 preceding siblings ...)
  2014-05-12  6:43 ` fdumont at gcc dot gnu.org
@ 2014-05-12 10:01 ` redi at gcc dot gnu.org
  2014-05-12 10:07 ` glisse at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-12 10:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to François Dumont from comment #4)
> I simply considered that the moved container instance wouldn't be reused
> this way, just potentially for some immutable operations. I should have
> checked the Standard regarding the meaning of "valid by unspecified state".

Objects can definitely be re-used after being moved from. This has to work.

> There are indeed numerous places to consider to make this code and any other
> mutable code valid. I would also prefer to avoid those checks but I remember
> that I needed to leave the container in this state for exception guaranty
> reasons in some move operations. I will recall rational of this as soon as I
> can take a look to the code.

We wanted the move constructor to be noexcept. That's important, but so is
being able to reuse the object again.
>From gcc-bugs-return-451302-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon May 12 10:03:12 2014
Return-Path: <gcc-bugs-return-451302-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 18292 invoked by alias); 12 May 2014 10:03:12 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 18231 invoked by uid 48); 12 May 2014 10:03:08 -0000
From: "paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/6273] [DR 502] Dependency of nested enumerations and enumerators
Date: Mon, 12 May 2014 10:03:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 2.95.3
X-Bugzilla-Keywords: rejects-valid
X-Bugzilla-Severity: normal
X-Bugzilla-Who: paolo.carlini at oracle dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-6273-4-JLHchhCq9w@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-6273-4@http.gcc.gnu.org/bugzilla/>
References: <bug-6273-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg00994.txt.bz2
Content-length: 201

http://gcc.gnu.org/bugzilla/show_bug.cgi?idb73

--- Comment #17 from Paolo Carlini <paolo.carlini at oracle dot com> ---
... of course I meant that dependent_type_p returns true for enum E therein.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (5 preceding siblings ...)
  2014-05-12 10:01 ` redi at gcc dot gnu.org
@ 2014-05-12 10:07 ` glisse at gcc dot gnu.org
  2014-05-13  9:19 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: glisse at gcc dot gnu.org @ 2014-05-12 10:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> ---
There was that whole discussion on how much sense it makes to make move
constructors noexcept when default constructors aren't...


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (6 preceding siblings ...)
  2014-05-12 10:07 ` glisse at gcc dot gnu.org
@ 2014-05-13  9:19 ` redi at gcc dot gnu.org
  2014-05-13  9:32 ` redi at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-13  9:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hrehfeld@uni-koblenz.de

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
*** Bug 61167 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (7 preceding siblings ...)
  2014-05-13  9:19 ` redi at gcc dot gnu.org
@ 2014-05-13  9:32 ` redi at gcc dot gnu.org
  2014-05-13 15:26 ` felix at fontein dot de
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-13  9:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |major

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The best workaround for now is to reset the container to a good state after
moving from it:

    std::unordered_map<int, int> b = std::move(a);
    a = {};
    a.emplace(1, 1);


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (8 preceding siblings ...)
  2014-05-13  9:32 ` redi at gcc dot gnu.org
@ 2014-05-13 15:26 ` felix at fontein dot de
  2014-05-13 20:14 ` fdumont at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: felix at fontein dot de @ 2014-05-13 15:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #9 from Felix Fontein <felix at fontein dot de> ---
Another workaround is to use reserve(), as in:

    std::unordered_map<int, int> b = std::move(a);
    a.reserve(1); // any number > 0 will do
    a.emplace(1, 1);


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (9 preceding siblings ...)
  2014-05-13 15:26 ` felix at fontein dot de
@ 2014-05-13 20:14 ` fdumont at gcc dot gnu.org
  2014-05-13 20:48 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fdumont at gcc dot gnu.org @ 2014-05-13 20:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

François Dumont <fdumont at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |fdumont at gcc dot gnu.org

--- Comment #10 from François Dumont <fdumont at gcc dot gnu.org> ---
My plan is to leave the unordered container in a usable state without any
allocation thanks to an additional bucket, not allocated, in the container. So
after move the container will have a bucket count of 1 and I will be able to
remove all tests on it being 0. Drawback is that sizeof container will increase
from one pointer. I should be able to propose a patch tomorrow.
>From gcc-bugs-return-451543-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue May 13 20:24:23 2014
Return-Path: <gcc-bugs-return-451543-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 32118 invoked by alias); 13 May 2014 20:24:22 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 32044 invoked by uid 48); 13 May 2014 20:24:18 -0000
From: "paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/61182] Forming pointer to qualified function type
Date: Tue, 13 May 2014 20:24:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: paolo.carlini at oracle dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-61182-4-53yyyA921V@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61182-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61182-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg01235.txt.bz2
Content-length: 546

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida182

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> ---
I don't understand how this is legal, but certainly the behavior of the
front-end changed with r198160, committed to resolve c++/48665. Adding Jason in
CC.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (10 preceding siblings ...)
  2014-05-13 20:14 ` fdumont at gcc dot gnu.org
@ 2014-05-13 20:48 ` redi at gcc dot gnu.org
  2014-05-21 19:51 ` fdumont at gcc dot gnu.org
  2014-05-23 19:35 ` fdumont at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2014-05-13 20:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Thanks, François
>From gcc-bugs-return-451551-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue May 13 20:57:11 2014
Return-Path: <gcc-bugs-return-451551-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 4025 invoked by alias); 13 May 2014 20:57:11 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 3986 invoked by uid 48); 13 May 2014 20:57:07 -0000
From: "paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/61182] Forming pointer to qualified function type
Date: Tue, 13 May 2014 20:57:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: paolo.carlini at oracle dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61182-4-kT0LYTV3jS@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61182-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61182-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg01243.txt.bz2
Content-length: 221

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida182

--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> ---
In fact, icc, clang, and SolarisStudio appear to accept pointers to qualified
function types?!?


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (11 preceding siblings ...)
  2014-05-13 20:48 ` redi at gcc dot gnu.org
@ 2014-05-21 19:51 ` fdumont at gcc dot gnu.org
  2014-05-23 19:35 ` fdumont at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: fdumont at gcc dot gnu.org @ 2014-05-21 19:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #12 from François Dumont <fdumont at gcc dot gnu.org> ---
Author: fdumont
Date: Wed May 21 19:51:05 2014
New Revision: 210726

URL: http://gcc.gnu.org/viewcvs?rev=210726&root=gcc&view=rev
Log:
2014-05-21  François Dumont  <fdumont@gcc.gnu.org>

    PR libstdc++/61143
    * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
    usable state.
    * testsuite/23_containers/unordered_set/61143.cc: New.
    * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.

Added:
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/hashtable.h
>From gcc-bugs-return-452201-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed May 21 19:56:50 2014
Return-Path: <gcc-bugs-return-452201-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27466 invoked by alias); 21 May 2014 19:56:49 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 27396 invoked by uid 48); 21 May 2014 19:56:45 -0000
From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/61215] [4.9/4.10 Regression] ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19
Date: Wed, 21 May 2014 19:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.1
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: vmakarov at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.1
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61215-4-MVMlNQTOdo@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61215-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61215-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg01893.txt.bz2
Content-length: 376

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida215

--- Comment #4 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
Subreg functions in simplify_subreg transform (subreg:hi (plus:si argp 8)) into
(plus:hi (subreg:hi argp) 8). I'll investigate how to avoid this transformation
as LRA works fine if transformation is not done.

I hope to have a patch until the weekend.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
  2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
                   ` (12 preceding siblings ...)
  2014-05-21 19:51 ` fdumont at gcc dot gnu.org
@ 2014-05-23 19:35 ` fdumont at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: fdumont at gcc dot gnu.org @ 2014-05-23 19:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

--- Comment #13 from François Dumont <fdumont at gcc dot gnu.org> ---
Author: fdumont
Date: Fri May 23 19:35:12 2014
New Revision: 210876

URL: http://gcc.gnu.org/viewcvs?rev=210876&root=gcc&view=rev
Log:
2014-05-23  François Dumont  <fdumont@gcc.gnu.org>

    PR libstdc++/61143
    * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
    usable state.
    * testsuite/23_containers/unordered_set/61143.cc: New.
    * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.

Added:
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc
Modified:
    branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_9-branch/libstdc++-v3/include/bits/hashtable.h
>From gcc-bugs-return-452410-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri May 23 19:56:45 2014
Return-Path: <gcc-bugs-return-452410-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 14871 invoked by alias); 23 May 2014 19:56:44 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 14825 invoked by uid 48); 23 May 2014 19:56:40 -0000
From: "fdumont at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libstdc++/61143] [4.9/4.10 Regression] Arithmetic exception on emplacing into unordered_map moved out
Date: Fri, 23 May 2014 19:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libstdc++
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: major
X-Bugzilla-Who: fdumont at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: fdumont at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.1
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-61143-4-gx9RT87NQQ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61143-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61143-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg02102.txt.bz2
Content-length: 455

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61143

François Dumont <fdumont at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #14 from François Dumont <fdumont at gcc dot gnu.org> ---
Problem now solved.
>From gcc-bugs-return-452411-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri May 23 20:03:39 2014
Return-Path: <gcc-bugs-return-452411-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 19194 invoked by alias); 23 May 2014 20:03:38 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 19148 invoked by uid 55); 23 May 2014 20:03:34 -0000
From: "dave.anglin at bell dot net" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/60925] [4.9/4.10 Regression] hppa: can't find a register in class 'R1_REGS' while reloading 'asm'
Date: Fri, 23 May 2014 20:03:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: dave.anglin at bell dot net
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.1
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-60925-4-ZOIs6KdovQ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-60925-4@http.gcc.gnu.org/bugzilla/>
References: <bug-60925-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-05/txt/msg02103.txt.bz2
Content-length: 1653

https://gcc.gnu.org/bugzilla/show_bug.cgi?id`925

--- Comment #5 from dave.anglin at bell dot net ---
On 5/23/2014 2:00 PM, aaro.koskinen at iki dot fi wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id`925
>
> Aaro Koskinen <aaro.koskinen at iki dot fi> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                   CC|                            |danglin at gcc dot gnu.org
>
> --- Comment #4 from Aaro Koskinen <aaro.koskinen at iki dot fi> ---
> I bisected this on gcc-4_8_branch to:
>
> e990a321ced7f9b02c4065a2779bbf9eaa6c774f is the first bad commit
> commit e990a321ced7f9b02c4065a2779bbf9eaa6c774f
> Author: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date:   Wed Jan 8 02:01:50 2014 +0000
>
>          PR target/59652
>          * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
>          for 14-bit register offsets when INT14_OK_STRICT is false.
>
This is useful info but I don't believe that reverting this change is
the fix.  You are just swapping bugs.

The change only indirectly affects register allocation for %r1 by
changing the insn mix present prior to
reload.  It does not deal with asms.

This bug is a duplicate of PR middle-end/35193:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id5193

There is a patch to work around this issue installed in the Debian hppa
patch list which you
should look at.

The problem in some way is caused by the inlining of asms.  If the asm
is put in a noinline
function, the error doesn't occur.

Preprocessed source needs to be simplified.

Dave


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-05-23 19:35 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-10 23:46 [Bug libstdc++/61143] New: Arithmetic exception on emplacing into unordered_map moved out felix at fontein dot de
2014-05-11  7:30 ` [Bug libstdc++/61143] " felix at fontein dot de
2014-05-11 10:03 ` [Bug libstdc++/61143] [4.9/4.10 Regression] " redi at gcc dot gnu.org
2014-05-11 11:02 ` daniel.kruegler at googlemail dot com
2014-05-11 14:06 ` redi at gcc dot gnu.org
2014-05-12  6:43 ` fdumont at gcc dot gnu.org
2014-05-12 10:01 ` redi at gcc dot gnu.org
2014-05-12 10:07 ` glisse at gcc dot gnu.org
2014-05-13  9:19 ` redi at gcc dot gnu.org
2014-05-13  9:32 ` redi at gcc dot gnu.org
2014-05-13 15:26 ` felix at fontein dot de
2014-05-13 20:14 ` fdumont at gcc dot gnu.org
2014-05-13 20:48 ` redi at gcc dot gnu.org
2014-05-21 19:51 ` fdumont at gcc dot gnu.org
2014-05-23 19:35 ` fdumont at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).