https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119863
--- Comment #4 from Pilar Latiesa ---
Thanks Nathaniel.
I could workaround this issue in my usecase by simply granting friendship to
the particular instantiation that needed it.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119864
--- Comment #3 from Pilar Latiesa ---
The original testcase also ICEs with G++ 14. However, simpler omp constructs
(such as #pragma opm parallel for) work with G++-14 + -fmodules-ts.
G++-15 fails to compile anything if the combo -fmodules -fope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119864
--- Comment #2 from Pilar Latiesa ---
It seems that as is failing because of a duplicate symbol.
This is the content of m.s generated with -save-temps:
.file "m.cpp"
.text
.globl _ZGIW1m
.type _ZGIW1m, @fu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119864
Pilar Latiesa changed:
What|Removed |Added
Known to work||14.2.0
Summary|[modules] ICE
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ cat p1.cpp
export module p1;
export
template
struct T
{
double d;
T &operator +=(T const &x) { d += x.d; return *this; }
};
export
template
T sum(T
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ cat Test.cpp
export module m;
template
class T;
template
class U
{
template
friend class T;
};
template
class T
{
U x
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114134
--- Comment #8 from Pilar Latiesa ---
I'm observing a slight improvement with current trunk for the testcase in
comment #5:
struct T { int i, j, k, w; };
T f(int x)
{ return {x, 0, x, 0}; }
With 14.3 I get:
movabsq $-429496729
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
I believe there's a missing dereference here:
https://github.com/gcc-mirror/gcc/blob/bc6e336cb7c85094ddc77757be97c3d8588f35ca/libstdc%2B%2B-v3/include
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98881
--- Comment #5 from Pilar Latiesa ---
(In reply to Pilar Latiesa from comment #4)
> I can no longer reproduce the issue with 11.3 or 12.1
Because those were releases that didn't have checking enabled.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114134
--- Comment #5 from Pilar Latiesa ---
Another testcase:
struct TKey { int i, j, k, w; };
TKey Key(int x)
{ return {x, 0, x, 0}; }
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114134
--- Comment #3 from Pilar Latiesa ---
(In reply to Richard Biener from comment #2)
> I guess the testcase can be simplified to just show the return value
> handling issue.
I think this suffices:
struct TVec3D { double x, y, z; };
struct TKey
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
In the example below, the function `Key` has some extra (useless?) mov
instructions that are not generated with GCC 13.
$ cat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113376
--- Comment #3 from Pilar Latiesa ---
It seems that what is missing is a corresponding change in the macro definition
logic. It should have been changed to:
// Check the user-defined macro for warnings
#if defined(PSTL_USAGE_WARNINGS)
#def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113376
--- Comment #1 from Pilar Latiesa ---
(In reply to Pilar Latiesa from comment #0)
> I don't understand why all these functions are even instantiated as they
> appear to be related to the vectorization of other algorithms.
Pragma messages are sh
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
With GCC 14, the following code:
#include
#include
#include
void f(std::vector &v)
{
std::for_each(std::execution::par, v.begin(), v
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113129
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110283
--- Comment #1 from Pilar Latiesa ---
Created attachment 55345
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55345&action=edit
preprocessed code
: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ ~/gcc-13/bin/g++ -v
Usando especificaciones internas.
COLLECT_GCC=~/gcc-13/bin/g++
COLLECT_LTO_WRAPPER=/home/pililatiesa/gcc-13/libexec/gcc/x86_64-pc-linux-gnu/13.1.0/lto-wrapper
Objetivo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110075
--- Comment #1 from Pilar Latiesa ---
I forgot to paste:
$ ./gcc-13/bin/g++ -v
Usando especificaciones internas.
COLLECT_GCC=./gcc-13/bin/g++
COLLECT_LTO_WRAPPER=/home/pililatiesa/gcc-13/libexec/gcc/x86_64-pc-linux-gnu/13.1.0/lto-wrapper
Objeti
++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ cat test.cpp
#include
#include
class T
{
static inline std::map const m = {{"foo", 0}};
public:
static int const &Get(std::string const &s) { return m.at(
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107591
--- Comment #19 from Pilar Latiesa ---
The testcase:
#include
struct TVec { double x, y, z; };
double dot(TVec const &u, TVec const &v)
{ return u.x * v.x + u.y * v.y + u.y * v.y + u.z * v.z; }
double mag(TVec const &u
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ cat test.cpp
struct T
{
template
void foo() const {}
};
template
struct pair
{
T a, b;
};
void bar()
{
[](auto
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107569
--- Comment #14 from Pilar Latiesa ---
I have tested the testcase in comment #1 with Clang, and I realized that Clang
trunk avoids the tailcall to sqrt even without any hint with
__builtin_unreachable: https://godbolt.org/z/5sb8bYcoq
Clang is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107569
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106910
--- Comment #12 from Pilar Latiesa ---
Wouldn't it make sense for scalar and vector versions to be affected by the
same options?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106910
--- Comment #9 from Pilar Latiesa ---
Thans so much for the fix.
I have tested last night (20220920) snapshot and I can confirm the testcase is
vectorized.
However, for the vectorization to kick in I had to use -fno-trapping-math. I
assume tha
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106654
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
GCC 7 and newer optimize `std::floor(float)` into `vroundss` with -O2 and
-march=skylake, which is great.
However, I can see in Compiler Explorer that the following example:
```
#include
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101228
--- Comment #10 from Pilar Latiesa ---
I believe this was fixed for 11.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98881
--- Comment #4 from Pilar Latiesa ---
I can no longer reproduce the issue with 11.3 or 12.1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105615
--- Comment #2 from Pilar Latiesa ---
(In reply to Patrick Palka from comment #1)
> Constraint subsumption is specified in terms of the normal form. When the
> concept C is made independent of the template parameter, the normal forms of
> C and
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
The following testcase is accepted by GCC 10 and newer versions:
```
template
constexpr bool b = true;
template
concept C = b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102807
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102341
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102098
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101228
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100594
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100091
--- Comment #4 from Pilar Latiesa ---
> Of course such use of a lambda is quite pointless
Not as pointless as it might appear. This defaulted template parameter enables
a form of stateful metaprogramming:
#include
template
class T {};
stat
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
This piece of code is accepted by 10.2, but rejected by yesterday's (20210414)
snapshot:
$ cat test.cpp
template
void f() {}
$ .
: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
Many algorithms have the precondition that *first meets the Cpp17MoveAssignable
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
Fixit hints for UTF-8 identifiers do not work as nicely as for basic ascii set
identifiers.
$ cat borrar.c
int main()
{
int const νt
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98881
--- Comment #3 from Pilar Latiesa ---
Including vector + any header from range-v3 also triggers the ICE.
For example (https://godbolt.org/z/qnMe45):
module;
#include
#include
export module M;
void f()
{
std::vector v;
};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98895
--- Comment #2 from Pilar Latiesa ---
(In reply to cqwrteur from comment #0)
> If those issues cannot be solved, I am sorry, I would only say C++20 modules
> failed completely.
What do you expect from being so offensive? Is this comment necessa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98885
--- Comment #8 from Pilar Latiesa ---
(In reply to Nathan Sidwell from comment #7)
That works. Thanks so much.
When there are several partitions involved it is not entirely clear to me what
declarations are first seen by the compiler compared w
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98885
--- Comment #6 from Pilar Latiesa ---
(In reply to Nathan Sidwell from comment #5)
> your A-impl.cpp needs `import :B` and vice-versa
Yep. Thanks. But that's not enough for it to compile:
A-impl.cpp:7:17: error: invalid use of incomplete type ‘
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98885
--- Comment #4 from Pilar Latiesa ---
I tried:
$ cat M.cpp
export module M;
export import :A;
export import :B;
$ cat A.cpp
export module M:A;
export class B;
export
class A
{
void
f(B const &) const;
};
$ cat B.cpp
export module
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98885
--- Comment #2 from Pilar Latiesa ---
(In reply to Nathan Sidwell from comment #1)
> This is ill-formed. an exported entity must be so-declared on its first
> declaration.
>
> A diagnostic is missing on the definition of the class.
I see. Than
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ /home/pililatiesa/GCC-11/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/home/pililatiesa
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ /home/pililatiesa/GCC-11/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/home/pililatiesa/GCC-11/bin/g++
COLLECT_LTO_WRAPPER
: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
$ /home/pililatiesa/GCC-11/bin/g++ -v
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96331
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77595
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
GCC 10 is able to vectorize this code (https://godbolt.org/z/tsbfQw):
#include
#include
void foo(std::vector &u, std::vector const &v)
{
std::t
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
In my understanding, std::ranges::iota_view::iterator should model
at least Cpp17InputIterator, but it doesn't. In contrast
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93267
--- Comment #5 from Pilar Latiesa ---
It compiles with -std=gnu++2a but not with -std=c++2a. Hope this helps.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93267
--- Comment #4 from Pilar Latiesa ---
(In reply to Jonathan Wakely from comment #1)
> Please provide the output of 'gcc -v' as requested by
> https://gcc.gnu.org/bugs/
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64-linux-gnu
Configured wit
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93267
--- Comment #3 from Pilar Latiesa ---
(In reply to Jonathan Wakely from comment #1)
> Please provide the output of 'gcc -v' as requested by
> https://gcc.gnu.org/bugs/
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64-linux-gnu
Configured wit
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
The following testcase emits errors at the specified locations:
#include
#include
int main
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93048
--- Comment #7 from Pilar Latiesa ---
(In reply to Andrew Pinski from comment #6)
> This might already been fixed.
The testcases, as well as the codebase from which they were reduced, compile
fine now.
Shall I change the PR status to resolved?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93048
--- Comment #5 from Pilar Latiesa ---
(In reply to Arseny Solokha from comment #3)
> It is likely a duplicate of PR93033.
It is certainly related. The fix for that PR made that all of the provided
testcases compile with yesterday spapshot (20200
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93048
--- Comment #4 from Pilar Latiesa ---
Minimal testcase ;-)
#include
struct TTensor {};
struct TCoefs
{
double aP;
std::valarray aF;
TTensor b;
};
TCoefs CalcCoefs()
{
double aP = 0.0;
return {aP, {}, {}};
}
I
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93048
--- Comment #2 from Pilar Latiesa ---
Even more reduced:
#include
template
struct TTensor {};
template
struct TCoefs
{
double aP;
std::valarray aF;
TTensor b;
};
template
class TExprDiv
{
public:
TCoefs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93048
--- Comment #1 from Pilar Latiesa ---
Reduced:
#include
template
class valarray {};
template
struct TTensor
{};
template
struct TCoefs
{
double aP;
std::valarray aF;
TTensor b;
};
template
class TCampo {}
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
The (valid) code bellow trigger an ICE:
In member function 'TCoefs TExprDiv
>::CalcCoefs(std::size_t) const [with long unsigned int d = 2; long unsign
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92136
Pilar Latiesa changed:
What|Removed |Added
CC||pilarlatiesa at gmail dot com
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
This code is rejected by trunk, and I'd say it shouldn't
(https://godbolt.org/z/F7SOXw):
#include
#include
#include
++
Assignee: unassigned at gcc dot gnu.org
Reporter: pilarlatiesa at gmail dot com
Target Milestone: ---
This code compiles fine (https://godbolt.org/z/JeuX4m):
template
struct Tensor {};
template
double mag(Tensor const &) { return 0.0; }
template
using
67 matches
Mail list logo