https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118542
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118187
--- Comment #2 from Hubert Tong ---
(In reply to Patrick Palka from comment #1)
> The ttp's constraints can depend on outer template parameters, which I think
> prevents us from being able to check its constraints before instantiation in
> gener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100779
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #4
: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
https://wg21.link/temp.names#8 specifies that when
"&
: wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
According to the Itanium C++ ABI, the expression mangling for a function
parameter involves a
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC allows catch-by-copy for classes with deleted copy constructors but trivial
move constructors.
Online
: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC allows template argument deduction to succeed even when deducing an lvalue
reference
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116063
--- Comment #2 from Hubert Tong ---
If it is invalid, a diagnostic like this should appear:
```
warning: union cannot be made transparent
```
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Target: powerpc64le-unknown-linux-gnu
When generating optimized code for a powerpc64le Linux
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116011
--- Comment #10 from Hubert Tong ---
(In reply to Andrew Pinski from comment #9)
> (In reply to Hubert Tong from comment #8)
> > (In reply to Andrew Pinski from comment #7)
> > > Those are all unevulated context.that is sizeof and decltype are b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116011
--- Comment #8 from Hubert Tong ---
(In reply to Andrew Pinski from comment #7)
> Those are all unevulated context.that is sizeof and decltype are both
> considered unevulated context. In them, gcc does not think &(T::x) and &T::x
> act differen
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116011
Hubert Tong changed:
What|Removed |Added
Summary|accepting &(T::x) as a |Template declaration
|p
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116011
--- Comment #4 from Hubert Tong ---
(In reply to Andrew Pinski from comment #3)
> The reality of the issue comes down to accepting this:
> ```
> struct foo { int val; };
>
> int main() { decltype(&(foo::val)) ptr; }
> ```
Yes, which was added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116011
--- Comment #2 from Hubert Tong ---
The fix for Clang is in the works:
https://github.com/llvm/llvm-project/pull/89713#issuecomment-2240767267
An issue has been filed against the Itanium ABI:
https://github.com/itanium-cxx-abi/cxx-abi/issues/18
ONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the following, the definitions of two template functions that diffe
NCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Clearly the following function returns true. When calli
: accepts-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
It appears GCC implements a non-conforming extension that results
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49395
Hubert Tong changed:
What|Removed |Added
Status|SUSPENDED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107962
--- Comment #2 from Hubert Tong ---
https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2264 suggests that
the GCC behaviour may be the desired one because copies of
partially-initialized structures are allowed in C but cause undefined
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone
-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Lvalue-to-rvalue conversion of objects having indeterminate value is not
allowed during evaluation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102000
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #4
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
P0558 removed the "pointer specializations" of `atomic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105588
--- Comment #4 from Hubert Tong ---
(In reply to Jakub Jelinek from comment #3)
> _Alignof(expression) works like __alignof__(expression) which works like
> __alignof__(__typeof(expression)), while _Alignof(type_name) is mandated by
> the standa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105588
--- Comment #2 from Hubert Tong ---
(In reply to Andrew Pinski from comment #1)
> _Alignof(expression) is still an extension it can return what ever GCC
> decides
Sure, although why GCC should have corresponding C and C++ extensions that
b
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Target: x86_64-pc-linux-gnu
_Alignof(expression) on a dereference of a pointer to double of unknown value
NCONFIRMED
Keywords: accepts-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
As far as parsing is concerned, a
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC rejects block-scope extern declarations with the `thread_local` keyword in
constexpr bodies. The relevant wording (prior to removal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100641
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #2
Version: 12.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The "only for the constr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92060
--- Comment #3 from Hubert Tong ---
(In reply to Patrick Palka from comment #2)
> Hmm, I think treating A and Q as equivalent here is allowed by CWG 1286.
Looks like it; CWG 1286 as not been adopted by the committee though.
: accepts-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The unqualified lookup for `q` in the instantiation of the
-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the code below, GCC does not appear to perform the applicable lookup in the
appropriate class
: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
A local parameter of a requires-expression is not a local entity (the name is
not
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The following program ICEs with GCC.
The ICE appears to related to the lambda
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC appears to be treating the instantiated specialization of the abbreviated
function template `g` as if it is a
: accepts-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC treats an array marked `no_unique_address` and whose base
: accepts-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Target: x86_64-pc-linux-gnu
The following fully
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94100
--- Comment #2 from Hubert Tong ---
The following ICEs in a similar fashion:
internal compiler error: tree check: accessed elt 2 of 'tree_vec' with 1 elts
in tsubst, at cp/pt.c:15334
### SOURCE:
template struct ValListWithTypes {
template st
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
According to [dcl.align] in the 2020 DIS for C++, an alignment-specifier shall
not be applied to a bit-field. GCC allows such alignment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83138
Hubert Tong changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94066
--- Comment #7 from Hubert Tong ---
(In reply to Jakub Jelinek from comment #6)
> The standard seems to say a union member becomes active when the constructor
> finishes, not when it starts, so what wording prevents changing the active
> member d
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The following case, which (during constant expression evaluation) starts the
lifetime of a union member
ty: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The following produces substitution text in an error message that is indicative
of missing format-for-message handling.
### SOURCE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86009
--- Comment #2 from Hubert Tong ---
After adding "auto" for "Concept auto":
template concept C0 = true;
template concept C1 = true;
void f(C0 auto *) { }
template void f(wchar_t *);
We now get:
:5:15: error: template-id 'f' for 'void
f(wchar_
: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the following, the alias template `Q` merely acts as a deducible template
: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Given the following:
void f(void), f [[noreturn]](void);
GCC does not produce any message
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The issue reported by PR 66735 still exists. GCC would not bind const-reference
init-captures to prvalues or
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87637
--- Comment #2 from Hubert Tong ---
(In reply to Jonathan Wakely from comment #1)
> Dup of PR 57510 ?
Looks like this could be the same as the return statement in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57510#c9. The scope of PR 57510
looks
: wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the following program, the initialization of the A subobject of the B
temporary associated
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
mersenne_twister_engines whose textual representation should be equal should
also compare equal.
The following program has
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
When a partial-concept-id is formed with a constrained-type-specifier as an
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79751
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #1
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
When a partial-concept-id is formed for a concept with a template prototype
template parameter, GCC ICEs.
### SOURCE
: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The address of label extension breaks well-formed C++ programs.
GCC confuses the logical AND
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
When a concept with a non-type prototype parameter is used as a variable
template in a context where the most vexing
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the following, the operator= used by Q's defaulted copy assignment operator
for the "d"
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Trivial copy assignment operator not considered such
GCC stops considering a trivial copy assignment operator to be trivial when a
non-trivial
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79064
--- Comment #1 from Hubert Tong ---
This appears to have been fixed on trunk.
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
For the following case, given that the constrained and unconstrained parameters
are similar in their
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Given the self-contained source below, GCC ICEs with a segmentation fault.
This
-invalid, rejects-valid, wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the C++17 DIS subclause 16.3.1.1.2 [over.call.object] paragraph 3,
it
++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
The source below attempts to compile "_[[.left-square-bracket.]]_" as a egrep
regex pattern.
The collating symbol, [.left-square-bracket.], is only valid if
"left-squar
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67969
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #2
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Having more than one partial specialization with, ignoring constraints, the
same arguments results in a cryptic error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81028
Hubert Tong changed:
What|Removed |Added
Keywords||wrong-code
Version|7.0
: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80746
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #3
++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
### Source ():
template
concept bool C0() { return true; }
void f(C0<0>);
### Compiler invocation:
g++ -x c++ -std=c++1y -fconcepts -c -o /dev/null -
### Compiler output:
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
### Source ():
template
concept bool f() { return true; }
static_assert((&f)());
### Compiler invocation:
g++ -std=c++1z -fconcepts -c -o /dev/null -x c++ -
### Comp
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Given the following source, the normalized constraints of the foo() returning
int contains predicate constraints:
N
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
### SOURCE ():
template
struct A {
template
requires U::happyA
static void foo();
//template
//requires U::happyB
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the case below, the signatures of the two member templates are distinct.
GCC appears to have a problem
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71968
--- Comment #2 from Hubert Tong ---
(In reply to Markus Trippelsdorf from comment #1)
> clang mangles differently and therefore avoids the issue:
>
> markus@x4 /tmp % clang++ -c b.cc && nm -C b.o
> U abort
> T b
: wrong-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
GCC produces symbols for entities which cannot possibly be referenced from
another translation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53931
--- Comment #2 from Hubert Tong ---
Needs a resolution for CWG 1521.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51817
Hubert Tong changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
Created attachment 36527
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36527&action=edit
Script to create REVNUL
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
Target Milestone: ---
In the call to "f" from "h" below, the deduction for T@0 should find both
"fptype" an
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
When multiple instances of the aligned attribute are applied to the same
entity, the handling for types uses the last value whereas the handling for
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
In the test case below, C++14 specifies that aggregate initialization is
performed in subclause 8.5.4 [dcl.init.list] paragraph 3 for the braced-init-
list
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
GCC does not wait until a (dependent) function call is substituted with
arguments before reporting a hard error in the case below.
It
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
In N3290 subclause 5.3.4 [expr.new] paragraph 21, the leeway to reuse the same
copy of the initialized parameter for both the call to the
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1 shows
that support for ISO/IEC DTR 19768
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60958
--- Comment #2 from Hubert Tong ---
(In reply to Jonathan Wakely from comment #1)
> Yes, I have a patch for this somewhere, but why are you including
> anyway? It's completely useless and doesn't work.
I am trying to use a code base which used a
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
The header tr1/regex contains code which is either ill-formed or has undefined
behaviour.
Various C++ language tools choke on this file because of
iority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
The following is reduced from the example in N3290 subclause 5.1.1
[expr.prim.general] paragraph 5:
class Outer {
void f() {
struct Inner {
int c[sizeof(*this)]; //
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58337
Hubert Tong changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
The C++ ABI document (available at
http://mentorembedded.github.io/cxx-abi/abi.html#mangle.expr-primary) specifies
a mangling for the nullptr literal.
The mangling that GCC produces is not consistent
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57610
--- Comment #9 from Hubert Tong ---
CWG 1604 may address the issues with performance and slicing mentioned in CWG
1287 which led to CWG 1650.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57610
Hubert Tong changed:
What|Removed |Added
CC||hstong at ca dot ibm.com
--- Comment #8
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58062
--- Comment #1 from Hubert Tong ---
Compiler invocation was:
g++ -std='c++11' main.cpp -Wall -Wextra -pedantic -c
++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
In the case below, the __func__ identifier appears within a lambda body at
namespace scope.
GCC seems to find __func__ from somewhere, but the behaviour does not appear to
be supported by the Standard
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58052
--- Comment #2 from Hubert Tong ---
(In reply to Paolo Carlini from comment #1)
> Not having spent a lot of time on this, I doubt it's a bug: the latest clang
> and icc behave exactly like gcc.
I had a vague recollection why I found the code weir
: 4.8.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
I have a reduced test case.
MSVC seems to work fine (online compiler test: http://rise4fun.com
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hstong at ca dot ibm.com
GCC does not consistently fail deduction for type mismatch of a non-type
template parameter and the corresponding deduced argument.
See
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56039
--- Comment #8 from Hubert Tong 2013-01-20 17:50:50
UTC ---
(In reply to comment #7)
> That is, whether the "body" of the lambda expression is valid or not valid
> is not affected by unknowns such as what types it would be instantiated wit
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56039
--- Comment #7 from Hubert Tong 2013-01-20 16:45:13
UTC ---
(In reply to comment #6)
> I wonder why you think this would belong to the "immediate context". Actually
> it seems to me as if the instantiation of the body of a lambda expressio
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56039
--- Comment #4 from Hubert Tong 2013-01-19 20:10:59
UTC ---
(In reply to comment #3)
I seem to find that the expression in question
>
> false && [](){}
>
is valid because there is a implicit conversion sequence consisting of a
user-d
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56039
--- Comment #2 from Hubert Tong 2013-01-19 16:38:31
UTC ---
(In reply to comment #1)
re: 5.19 p2 b8
5.19 p2 (before the referenced bullet list) reads:
..., but subexpressions of logical AND (5.14), logical OR (5.15) and
conditional (5.
1 - 100 of 121 matches
Mail list logo