public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std
@ 2013-11-18 4:13 thakis at chromium dot org
2013-11-18 10:28 ` [Bug c++/59165] " paolo.carlini at oracle dot com
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: thakis at chromium dot org @ 2013-11-18 4:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
Bug ID: 59165
Summary: gcc looks up begin(), end() for for-range loops for
ints in namespace std
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: thakis at chromium dot org
This compiles, but shouldn't:
$ cat gcc4.8bug.cc
// builds with gcc4.8, but shouldn't
namespace std {
int* begin(int i) { return (int*)0; }
int* end(int i) { return (int*)0; }
}
int main() {
for (int a : 10) { }
}
$ gcc-4.8.1 -c gcc4.8bug.cc -std=c++11
# works
The standard says that begin() and end() for foreach loops should be looked up
in the associated namespace of the type of the expression (6.5.4p1)
"""otherwise, begin-expr and end-expr are begin(__range) and end(__range),
respectively, where begin and end are looked up in the associated namespaces
(3.4.2). [ Note: Ordinary unqualified lookup (3.4.1) is not performed. — end
note ]"""
10 has type int, which is a fundamental type, and hence doesn't have an
associated namespace. So this shouldn't compile. (It doesn't compile in clang.)
$ gcc-4.8.1 --version
gcc-4.8.1 (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>From gcc-bugs-return-434828-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Nov 18 04:46:31 2013
Return-Path: <gcc-bugs-return-434828-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 310 invoked by alias); 18 Nov 2013 04:46:30 -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 32732 invoked by uid 48); 18 Nov 2013 04:46:25 -0000
From: "dongsheng.song at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
Date: Mon, 18 Nov 2013 04:46: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: dongsheng.song at gmail 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-57897-4-nlG0qh4GK7@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-57897-4@http.gcc.gnu.org/bugzilla/>
References: <bug-57897-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: 2013-11/txt/msg01605.txt.bz2
Content-length: 682
http://gcc.gnu.org/bugzilla/show_bug.cgi?idW897
--- Comment #6 from Dongsheng Song <dongsheng.song at gmail dot com> ---
After revert r192062, I can build gcc smoothly.
$ svn log -r 192062
------------------------------------------------------------------------
r192062 | uros | 2012-10-04 13:53:22 +0800 (Thu, 04 Oct 2012) | 4 lines
* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure: Regenerate.
------------------------------------------------------------------------
2012-10-04 Uros Bizjak <ubizjak@gmail.com>
* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure: Regenerate.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
@ 2013-11-18 10:28 ` paolo.carlini at oracle dot com
2013-11-18 10:46 ` redi at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-18 10:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
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> ---
Well, this changed only post-C++11 in
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1442 which is
simply unimplemented. Frankly, I'm not even sure we want to implement the
proposed resolution right now (for comparison, ICC doesn't). In case, changing
things like (in cp_parser_perform_range_for_lookup):
member_begin = perform_koenig_lookup (id_begin, vec,
/*include_std=*/true,
tf_warning_or_error);
would be easy, I guess.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
2013-11-18 10:28 ` [Bug c++/59165] " paolo.carlini at oracle dot com
@ 2013-11-18 10:46 ` redi at gcc dot gnu.org
2013-11-18 10:56 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2013-11-18 10:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to thakis from comment #0)
> This compiles, but shouldn't:
You add declarations to namespace std which is undefined behaviour, so any
result is valid.
The DR looks wrong to me, the point of treating std as an associated namespace
is that std::begin and std::end will be found for user-defined containers, not
just the standard containers. I don't know why core decided to change that.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
2013-11-18 10:28 ` [Bug c++/59165] " paolo.carlini at oracle dot com
2013-11-18 10:46 ` redi at gcc dot gnu.org
@ 2013-11-18 10:56 ` redi at gcc dot gnu.org
2013-11-20 9:48 ` daniel.kruegler at googlemail dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2013-11-18 10:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I think I remember the rationale now: std::begin and std::end only work if
c.begin() and c.end() xist, in which case range-based for will use those
members directly anyway.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
` (2 preceding siblings ...)
2013-11-18 10:56 ` redi at gcc dot gnu.org
@ 2013-11-20 9:48 ` daniel.kruegler at googlemail dot com
2013-12-10 10:36 ` paolo.carlini at oracle dot com
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2013-11-20 9:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
Daniel Krügler <daniel.kruegler at googlemail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler@googlemail.
| |com
--- Comment #4 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
(In reply to Jonathan Wakely from comment #3)
> I think I remember the rationale now: std::begin and std::end only work if
> c.begin() and c.end() xist, in which case range-based for will use those
> members directly anyway.
This is not really the *reason* for the language change. The actual reason
becomes a bit clearer when looking at the dup of CWG 1442:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1445
I remember that this dup was actually inspired by the observation that
BOOST_FOR_EACH behaved subtly different to the language for-each lookup rules,
albeit both constructs are intended to perform the same thing. CWG 1442 just
ensured that the lookup rule in for each corresponds to existing lookup rules
in other places and is thus easier to understand.
>From gcc-bugs-return-435198-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Nov 20 09:52:34 2013
Return-Path: <gcc-bugs-return-435198-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 8290 invoked by alias); 20 Nov 2013 09:52:34 -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 8261 invoked by uid 48); 20 Nov 2013 09:52:31 -0000
From: "daniel.kruegler at googlemail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/59204] Incorrect metaprogram evaluation in SFINAE context
Date: Wed, 20 Nov 2013 09:52: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: daniel.kruegler at googlemail 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-59204-4-ZZJM4aI6GX@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59204-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59204-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: 2013-11/txt/msg01975.txt.bz2
Content-length: 605
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59204
Daniel Krügler <daniel.kruegler at googlemail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler@googlemail.
| |com
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
This looks like a manifestation of the core language issue
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1558
to me.
>From gcc-bugs-return-435199-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Nov 20 10:15:29 2013
Return-Path: <gcc-bugs-return-435199-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 519 invoked by alias); 20 Nov 2013 10:15:28 -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 442 invoked by uid 48); 20 Nov 2013 10:15:21 -0000
From: "olegendo at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/59209] New: builtin memcpy in inlined function is not optimized away if count is derived from src pointer difference
Date: Wed, 20 Nov 2013 10:15:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: olegendo 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-59209-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: 2013-11/txt/msg01976.txt.bz2
Content-length: 2809
http://gcc.gnu.org/bugzilla/show_bug.cgi?idY209
Bug ID: 59209
Summary: builtin memcpy in inlined function is not optimized
away if count is derived from src pointer difference
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: olegendo at gcc dot gnu.org
This was originally reported here:
http://gcc.gnu.org/ml/gcc-help/2013-11/msg00137.html
I've reduced the case to the following.
This one works OK, because the 'count' constant seems to be propagated.
static void copy_func (const char* src, char* dst, int count)
{
__builtin_memmove (dst, src, count);
}
int test_copy (const char* x)
{
char r;
copy_func (x, &r, 1);
return r;
}
SH output (single byte read and return, as expected):
__Z9test_copyPKc:
.LFB2244:
rts
mov.b @r4,r0
However, if 'count' is derived from the src pointer difference (as it's done by
std::copy), the builtin memmove/memcpy is not optimized away and a call to
_memcpy remains:
static void copy_func2 (const char* src_start, const char* src_end, char* dst)
{
__builtin_memmove (dst, src_start, src_end - src_start);
}
int test_copy2 (const char* x)
{
char r;
copy_func2 (x, x + 1, &r);
return r;
}
It seems it's not really related to the memcpy built-in stuff itself. For
example this one has the same problem, where the count is actually known to be
constant '1' after inlining, but the loop is not eliminated:
static void copy_func3 (const char* src_start, const char* src_end, char* dst)
{
auto count = src_end - src_start;
while (count-- > 0)
*dst++ = *src_start++;
}
int test_copy3 (const char* x)
{
char r;
copy_func3 (x, x + 1, &r);
return r;
}
add #-4,r15
mov r15,r1 // r1 = &r
mov r4,r3 // r3 = r4 = x
add #3,r1 // r1 = &r + 3
add #1,r3 // r3 = x + 1
.L3:
mov.b @r4+,r2 // r2 = *src_start++
mov.b r2,@r1 // *dst = r2
cmp/eq r3,r4 // T = r3 == r4
add #1,r1 // dst += 1
bf .L3 // if (T == 0) goto L3
mov r15,r0
add #-12,r0
mov.b @(15,r0),r0
rts
add #4,r15
On the other hand, the following:
static void copy_func4 (const char* src_start, const char* src_end,
unsigned int* dst)
{
unsigned int count = src_end - src_start;
*dst = count;
}
unsigned int test_copy4 (const char* x)
{
unsigned int r;
copy_func3 (x, x + 1, &r);
return r;
}
results in the expected return of a constant '1':
rts
mov #1,r0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
` (3 preceding siblings ...)
2013-11-20 9:48 ` daniel.kruegler at googlemail dot com
@ 2013-12-10 10:36 ` paolo.carlini at oracle dot com
2014-01-03 11:11 ` paolo at gcc dot gnu.org
2014-01-03 11:13 ` paolo.carlini at oracle dot com
6 siblings, 0 replies; 8+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-12-10 10:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2013-12-10
Assignee|unassigned at gcc dot gnu.org |paolo.carlini at oracle dot com
Target Milestone|--- |4.9.0
Ever confirmed|0 |1
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Mine.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
` (4 preceding siblings ...)
2013-12-10 10:36 ` paolo.carlini at oracle dot com
@ 2014-01-03 11:11 ` paolo at gcc dot gnu.org
2014-01-03 11:13 ` paolo.carlini at oracle dot com
6 siblings, 0 replies; 8+ messages in thread
From: paolo at gcc dot gnu.org @ 2014-01-03 11:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
--- Comment #6 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Fri Jan 3 11:11:31 2014
New Revision: 206313
URL: http://gcc.gnu.org/viewcvs?rev=206313&root=gcc&view=rev
Log:
/cp
2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
Core DR 1442
PR c++/59165
* parser.c (cp_parser_perform_range_for_lookup): Don't pass true
as include_std to perform_koenig_lookup.
(cp_parser_postfix_expression): Adjust.
* pt.c (tsubst_copy_and_build): Likewise.
* semantics.c (perform_koenig_lookup): Remove bool parameter.
(omp_reduction_lookup): Adjust.
* name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
(lookup_arg_dependent): Likewise.
(lookup_function_nonclass): Adjust.
* name-lookup.h: Adjust declaration.
* cp-tree.h: Likewise.
/testsuite
2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
Core DR 1442
PR c++/59165
* g++.dg/cpp0x/range-for28.C: New.
* g++.dg/cpp0x/range-for3.C: Update.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/range-for28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/name-lookup.h
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/range-for3.C
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/59165] gcc looks up begin(), end() for for-range loops for ints in namespace std
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
` (5 preceding siblings ...)
2014-01-03 11:11 ` paolo at gcc dot gnu.org
@ 2014-01-03 11:13 ` paolo.carlini at oracle dot com
6 siblings, 0 replies; 8+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-01-03 11:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59165
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Done.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-01-03 11:13 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-18 4:13 [Bug c++/59165] New: gcc looks up begin(), end() for for-range loops for ints in namespace std thakis at chromium dot org
2013-11-18 10:28 ` [Bug c++/59165] " paolo.carlini at oracle dot com
2013-11-18 10:46 ` redi at gcc dot gnu.org
2013-11-18 10:56 ` redi at gcc dot gnu.org
2013-11-20 9:48 ` daniel.kruegler at googlemail dot com
2013-12-10 10:36 ` paolo.carlini at oracle dot com
2014-01-03 11:11 ` paolo at gcc dot gnu.org
2014-01-03 11:13 ` paolo.carlini at oracle dot com
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).