https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95788
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Thank you. Sorry for my laziness, but did you confirm this from the OP?
> Other stuff in `bits/ranges_uninitialized.h` may be similarly affected.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97476
Bug ID: 97476
Summary: Use of NTTP placeholder checked for CTAD before
instantiation
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/ocWhn8
Status:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93085
--- Comment #4 from Johel Ernesto Guerrero Peña ---
> GCC shouldn't even be trying to resolve `foo<42>()` until `G` has been
> instantiated.
That's right. I came across this bug report when reporting such an issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93085
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98486
Bug ID: 98486
Summary: Variable template specialization doesn't account for
primary's constraints
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/jon9ea
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98832
Bug ID: 98832
Summary: CTAD fails for alias template of aggregate with
specified undeducible template parameter
Product: gcc
Version: 11.0
URL:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98844
Bug ID: 98844
Summary: Deduction guides don't inhibit the aggregate deduction
candidate
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/EWs4rd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95434
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Known to work||11.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #5 from Johel Ernesto Guerrero Peña ---
Thank you. I was under the mistaken impression that the above was only a
partial solution. Adding the following deduction guide restores the ICE. See
https://godbolt.org/z/fej7WT.
```C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #13 from Johel Ernesto Guerrero Peña ---
You're right. I thought they were compiling against GCC trunk.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99586
--- Comment #4 from Johel Ernesto Guerrero Peña ---
Thank you.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #11 from Johel Ernesto Guerrero Peña ---
Thank you. But the first CE link: https://godbolt.org/z/cPWdGW, and with the
addition in Comment 2: https://godbolt.org/z/Gezh5h5W4, they still ICE.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98924
Bug ID: 98924
Summary: Ambiguous name in concept-id diagnosed as parser error
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/Txrvos
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96873
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99565
Bug ID: 99565
Summary: Bogus identical branches warning when returning
references to union members
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/9qaz9W
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99571
Bug ID: 99571
Summary: ICE for NTTP with pointer to array of union
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/rsc6fs
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99493
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Slightly simplified: https://godbolt.org/z/rv97Gh.
```C++
struct A{};
templateconstexpr const A*tpo{};
templatestruct B{};
B>b;
```
```
:4:10: error: the address of 'A{}' is not a valid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97476
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99586
Bug ID: 99586
Summary: Use of class template identifier checked for CTAD
before instantiation
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/4KWWjT
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99622
Bug ID: 99622
Summary: Materialized temporary is not usable in a constant
expression
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/M4Ya9h
Status:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Good point. How about 'conformance' for a keyword?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
Bug ID: 99631
Summary: decltype of non-type template-parameter shouldn't be
const
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/4YY5r3
Status:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99493
Bug ID: 99493
Summary: Address of template parameter object is not a valid
template argument
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/9zYo8f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99524
Bug ID: 99524
Summary: initializer_list storage considered a temporary when
accessed through NTTP
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/aWGr3P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95015
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99565
--- Comment #2 from Johel Ernesto Guerrero Peña ---
```
: In member function 'int& A::x()':
:6:23: warning: this condition has identical branches
[-Wduplicated-branches]
6 | int& x() { return 0 ? a : b; }
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83258
--- Comment #10 from Johel Ernesto Guerrero Peña ---
Another workaround, extended from Bug 92320's example. See
https://godbolt.org/z/69onWf.
You can wrap the closure object in a template function which itself invokes the
closure object and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83258
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97700
--- Comment #3 from Johel Ernesto Guerrero Peña ---
This seems to be a duplicate of Bug 83258.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99493
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Looks like you can get away by instead passing around a pointer to the address
of the template parameter object: https://godbolt.org/z/o3Paz1.
```C++
struct A{};
templateconstexpr const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99501
Bug ID: 99501
Summary: Can't forward declare partial specialization of
template with NTTP previously partially specialized
Product: gcc
Version: 11.0
URL:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99507
Bug ID: 99507
Summary: Can't return static address from immediate function
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/vnPToT
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99365
Bug ID: 99365
Summary: ICE on partial specialization with constrained
placeholder NTTP
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/nxTEaW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99366
Bug ID: 99366
Summary: Partial specialization with constrained placeholder
NTTP is not more specialized
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/ETjYfP
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99365
--- Comment #6 from Johel Ernesto Guerrero Peña ---
Thank you. Can confirm it's working for my use case.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99141
Bug ID: 99141
Summary: Name of deduced type unchecked in deduction guide
Product: gcc
Version: 11.0
URL: https://godbolt.org/z/bEhjsc
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102000
Bug ID: 102000
Summary: Defaulted consteval default constructor that performs
no initialization is not rejected
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102000
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Can https://bugs.llvm.org/show_bug.cgi?id=51560 be fixed as part of this?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96090
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Known to fail||10.3.0, 11.2.0, 12.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95797
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Resolution|--- |FIXED
Known to work|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99141
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Known to fail||11.0, 12.0
--- Comment #1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99507
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Known to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95977
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Status|NEW |RESOLVED
Known to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86105
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Denoised: https://godbolt.org/z/87fbMG6f5.
```C++
template concept is_static_castable = requires(From &&
(*from)()) { static_cast(from()); };
struct B { };
struct D : B { };
struct D2 : D, B {
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102050
Bug ID: 102050
Summary: Nonempty list-initialization rejects constructor with
defaulted std::initializer_list
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102137
Bug ID: 102137
Summary: class template argument deduction with template
template parameter allows explicit deduction guide
Product: gcc
Version: 12.0
Status:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102000
--- Comment #3 from Johel Ernesto Guerrero Peña ---
https://bugs.llvm.org/show_bug.cgi?id=51560#c1 points out
> I'm not sure what you think the problem is here. The constructor isn't
> getting called; see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102191
Bug ID: 102191
Summary: Can't return prvalue with potentially-throwing
destructor during constant evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102174
Bug ID: 102174
Summary: Unused result of undefined behavior arithmetic is
accepted during constant evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102249
Bug ID: 102249
Summary: Can't compare pointer to functions during constant
evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: rejects-valid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102258
Bug ID: 102258
Summary: dynamic_cast to derived type fails during constant
evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: rejects-valid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102258
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Workaround for my use-case: https://godbolt.org/z/5Woe8dvan.
```C++
#include
#include
#include
#include
#include
struct B { virtual ~B() = default; };
struct D : B { int x{1}; constexpr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102258
--- Comment #2 from Johel Ernesto Guerrero Peña ---
That still doesn't work because you can't compare (the addresses of) different
`std::type_info` objects.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82877
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102284
Bug ID: 102284
Summary: Can access object outside of its lifetime during
constant evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102284
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Fixed that: https://godbolt.org/z/YGf4GTP5P.
```C++
struct X { constexpr ~X() { } };
int main() {
[]() consteval {
X x{};
x.~X();
}();
}
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102284
--- Comment #1 from Johel Ernesto Guerrero Peña ---
There's also https://eel.is/c++draft/basic.life#9.sentence-1 to consider.
See https://godbolt.org/z/P97Kaqhv8.
```C++
struct X { int x; };
int main() {
[]() consteval {
X x{};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94716
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102267
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102284
--- Comment #4 from Johel Ernesto Guerrero Peña ---
If there is, I confirmed it's not in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102220
Bug ID: 102220
Summary: Conversion from cv void* to object-type* not rejected
during constant evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102267
Bug ID: 102267
Summary: Can't compare pointers to instantiated variables
during constant evaluation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102267
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Summary|Can't compare pointers to |Can't compare pointers to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101733
Bug ID: 101733
Summary: simple-requirement prefixed with typename interpreted
as type-requirement
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101725
Bug ID: 101725
Summary: simple requirement of parameter in defaulted non-type
template parameter considered non-dependent
Product: gcc
Version: 11.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101884
Bug ID: 101884
Summary: Generic lambda with auto in template parameter list
rejected
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: rejects-valid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101717
Bug ID: 101717
Summary: ICE capturing static member by ref within stateless
lambda
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101717
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Summary|ICE capturing static member |ICE capturing static
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101764
Bug ID: 101764
Summary: ICE for constexpr if within fold expression within
lambda expression within a template
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100583
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Please, add Bug 99227 to **Blocks:** for visibility.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99227
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102524
Bug ID: 102524
Summary: [modules] Missing diagnostic when an exported
namespace is empty
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: diagnostic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102536
Bug ID: 102536
Summary: [modules] ICE Error reporting routines re-entered
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102600
--- Comment #2 from Johel Ernesto Guerrero Peña ---
A workaround:
```C++
export using byte = // Workaround GCC bug 102600.
#if not defined(NDEBUG) or (defined(__clang__) or not defined(__GNUC__))
std::byte;
#else
unsigned char;
#endif
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102420
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Summary|null pointer dereference|null pointer dereference
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102420
Bug ID: 102420
Summary: null pointer dereference constant
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102576
--- Comment #1 from Johel Ernesto Guerrero Peña ---
`` is specified as including ``.
It doesn't with with that either:
```C++
import;
namespace {
constexpr void test() {
for (const int i : {0, 1, -1}) { }
```
```
error: deducing from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102576
Bug ID: 102576
Summary: [modules] Importing doesn't permit
implicit uses
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: rejects-valid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100583
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Thank you.
> The solution is to use the include and remove the gcm file altogether.
Is this still the case? I still get an ICE.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102600
Bug ID: 102600
Summary: [modules] ICE Segmentation fault during GIMPLE pass
evrp
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102607
Bug ID: 102607
Summary: [modules] option -g results in undefined reference to
`typeinfo for type`
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102607
--- Comment #1 from Johel Ernesto Guerrero Peña ---
A workaround is to define `B`'s destructor as
`constexpr virtual ~B() { }`.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102598
Bug ID: 102598
Summary: [modules] ICE in pp_string, at pretty-print.c
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102598
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Attempts to reduce another wrong-code bug lead to this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99377
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103468
Bug ID: 103468
Summary: [modules] ICE Segmentation fault during GIMPLE pass
walloca
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103876
Bug ID: 103876
Summary: Parameter pack not expanded in lambda within
static_assert in a fold-expression of a lambda
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103921
Bug ID: 103921
Summary: [modules] ICE requires in explicit-specifier of
instantiation of imported template
Product: gcc
Version: 12.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103921
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Simplified: https://godbolt.org/z/zzbjj7W3K.
mod.cpp:
```C++
export module mod;
export template struct quantity {
template
explicit(requires { 0; }) operator quantity() const;
};
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103921
--- Comment #4 from Johel Ernesto Guerrero Peña ---
For the above, when it's fixed:
```diff
- explicit(B) operator int() const;
+ explicit(B) operator int() { return 0; }
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103921
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Summary|[modules] ICE requires in |[modules] ICE dependent
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103921
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Simplified: https://godbolt.org/z/rnfKrzYaP.
mod.cpp:
```C++
export module mod;
export template struct Int {
explicit(B) operator int() const;
};
```
test.cpp:
```C++
import mod;
int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96840
--- Comment #4 from Johel Ernesto Guerrero Peña ---
Seems like this regressed. Do I open a new bug report?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96840
--- Comment #5 from Johel Ernesto Guerrero Peña ---
I think I was wrong and this has not regressed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99377
--- Comment #7 from Johel Ernesto Guerrero Peña ---
if (v == [] consteval { return std::numeric_limits::max() }()) break;
works too.
More generally, you can avoid the linker error if you don't require the symbol
at link time.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103341
Bug ID: 103341
Summary: ICE type of variable instantiation constrained on
template parameter
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103339
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Turns out that the error from Bug 99861 just happens occasionally when
compiling.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103339
--- Comment #1 from Johel Ernesto Guerrero Peña ---
In non-reduced code, I got the error from Bug 99861 which I solved with the
workaround above:
```
hash table checking failed: equal operator returns true for a pair of values
with a different
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103339
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Or not really. Removing a comment breaks it again, so I guess the compiler is
already in a bugged state that seems to work fine.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100687
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
1 - 100 of 217 matches
Mail list logo