February 3, 2025 at 11:02 AM, "Mark Wielaard" mailto:m...@klomp.org?to=%22Mark%20Wielaard%22%20%3Cmark%40klomp.org%3E > wrote:
> > (Does anybody actually look at the messages, as promised in the e-mail?=
> >
> I think it is done multiple times each day. The current mo
ks like in gcobol.
>
> Please tell me what I should do.
I'll send you some instructions.
Marc
ren't more casts to result_type in this code, for
float it still uses double a lot)
--
Marc Glisse
e to
gcc-devroom-manager at fosdem dot org.
Organizers of the devroom can also be reached on IRC at
irc://irc.oftc.net/#gcc; see <https://gcc.gnu.org/wiki/GCConIRC>
### Program Committee
- Thomas Schwinge (tschwinge at baylibre.com)
- Jose E. Marchesi (jemarch at gnu.org)
- Marc Poulhiès (dkm at kataplop.net)
r distribution package
manager as it's included in most repositories now. You can also build
and install it yourself from the sources:
https://github.com/AdaCore/gprbuild.
And finally, you may be interested by using alire
(https://github.com/alire-project/alire) as it makes it really easy to
install t
` in the `contrib` directory, I
> tried it too, but sadly, it didn't work for me.
>
> Maybe I configured vim in some wrong way.
Hello,
there's also a clang-format config file in contrib/clang-format. We're
using this for gcc-rs.
Marc
d a pointer that can
alias anything
build_qualified_type to add const (probably useless)
build_aligned_type to specify that it is unaligned
--
Marc Glisse
m).
If still needed, I volunteer for the gcc list!
Marc
T
fibonacci_heap.o -MMD -MP -MF ./.deps/fibonacci_heap.TPo
../../gcc/gcc/fibonacci_heap.cc
Note the "-g -O2". Why?
In addition to CFLAGS and BOOT_CFLAGS, you are missing CFLAGS_FOR_TARGET
(plus the same 3 for CXX). I don't know if that's still sufficient, but
that's what I used to set a few years ago.
--
Marc Glisse
ding compiler backends for GCC, I
> would need a bit of guidance / read material to get started. Do you have
> recommendations for anything? And is there interest in such work?
Hello,
I guess the upcoming presentation at FOSDEM "How to bring up GCC for
your new chip"[1] can help!
M
, function g starts with
void g ()
{
size_type __dnew;
struct string a;
[...]
[local count: 1073741824]:
_26 = a._M_string_length;
if (_26 == 4611686018427387903)
which should not require any interprocedural logic.
--
Marc Glisse
is is? And
is there any solution?
If 'a' is a global variable, how do you know 'printf' doesn't modify its
value? (you could know it for printf, but it really depends on the
function that is called)
--
Marc Glisse
versions give
the same result on negative 0 and NaN.
--
Marc Glisse
at code so __is_void
becomes unused and can be removed?
--
Marc Glisse
calls the true gcc with a different TMPDIR / -dumpdir each time.
--
Marc Glisse
e in Intel syntax.
The doc for -masm=dialect says:
Darwin does not support ‘intel’.
Assuming that's still true, and even with Mac Intel going away, it doesn't
help.
--
Marc Glisse
since earlier.
What would be causing the difference? Is this intended? Link
<https://godbolt.org/z/eWxnYsK1z> for details. Thank you!
See LOGICAL_OP_NON_SHORT_CIRCUIT in fold-const.cc (and various discussions
on the topic in mailing lists and bugzilla).
--
Marc Glisse
as 0,
and one for sparc, which has several.
--
Marc Glisse
ng of -ftrapping-math.
--
Marc Glisse
re
using it (but judging by Jakub's last review for Philip's patch, the
config is maybe not exhaustive, or our setup is not correct).
Marc
Hello David,
> I am pleased to announce that the GCC Steering Committee has appointed
> Marc Poulhies as Ada co-maintainer.
Thank you :)
> Marc, please update your listing in the MAINTAINERS file.
I've updated the MAINTAINERS file accordingly in
f4ed610d02aaf8cfcdcb5cf03e0cde65f
fy to
-prevent the warning), even in conjunction with macros. This also
+consider questionable. This also
enables some language-specific warnings described in @ref{C++ Dialect
--
Marc Glisse
...);
No, curl_easy_setopt is a macro. If you look at the preprocessed code, you
get many statements doing the same wrong operation, and one warning for
each of them.
(wrong list, should be gcc-help, or an issue on bugzilla)
--
Marc Glisse
be updated.
--
Marc Glisse
version of GMP first? gcd_1.c has only 103
lines in release 6.2.1.
A stack trace (UBSAN_OPTIONS=print_stacktrace=1) would make it easier to
guess where this is coming from.
--
Marc Glisse
antee about this anyway.
In the other case, it could affect correct
code before the trap.
-fnon-call-exceptions helps with the first testcase but not with the
second one. I don't know if that's by accident, but the flag seems
possibly relevant.
--
Marc Glisse
hanged.
https://gcc.gnu.org/bugs/ says that you should first try compiling your
code with -fsanitize=undefined, which tells you at runtime that your code
is broken.
Apart from that, bug reports should go to https://gcc.gnu.org/bugzilla/
and questions to gcc-h...@gcc.gnu.org.
--
Marc Glisse
he problem is that 's0' is a single-precision float register and
it should be 'd0' instead.
Either I'm seriously missing something, in which case I would be most
obliged if someone sent me to the right direction; or it is a compiler
or documentation bug.
Thanks,
Zoltan
--
Marc Glisse
ink time.
~/afl++ $ ./afl-gcc-fast -o test-instr test-instr.c
afl-cc ++3.15a by Michal Zalewski, Laszlo Szekeres, Marc Heuse - mode:
GCC_PLUGIN-DEFAULT
error: unable to load plugin './afl-gcc-pass.so':
'dlopen(./afl-gcc-pass.so, 9): Symbol not found:
__ZN8opt_pass14set_pass_paramEjb
in ccHhkWiv.o
"_register_callback", referenced from:
_plugin_init in ccHhkWiv.o
"_sizetype_tab", referenced from:
__ZN12_GLOBAL__N_18afl_pass7executeEP8function in ccHhkWiv.o
"_xrealloc", referenced from:
__ZN7va_heap7reserveIP9tree_nodeEEvRP3vec
e will merge these later today. The
> results look the same as the numbers were getting on x86 too.
Hello,
FYI, your changes are being merged : https://github.com/Rust-GCC/gccrs/pull/454
Thanks!
Marc
ed int *)c.0_1] = 1311768467463790320;
_4 = c;
Isn't that a clear violation of strict aliasing?
--
Marc Glisse
think clang follows gcc and uses the type of the first operand.
--
Marc Glisse
case,
the most common being modular arithmetic: if you know that uint32_t a, b,
c, d are smaller than m (and m!=0), you can compute a*b+c+d in uint64_t,
then use div to compute that modulo m.
--
Marc Glisse
-funsafe-math-optimizations is harder to tell.
--
Marc Glisse
te about the exact meaning of -ftrapping-math, but
don't let that stop you.
--
Marc Glisse
nything.
* If so, can you please point me to an example?
* Otherwise, I'd be interested in advice about providing new infrastructure to
support
this. I'm a relative noob with respect to the configury code, and I'm sure my
initial instincts will be wrong. :)
Does the i386 mm_mal
ease contact the sender immediately and permanently
delete the original and any copies of this email and any attachments thereto.
Could you please get rid of this when posting on public mailing lists?
--
Marc Glisse
those extra
checks block the transformation even for 5*X-4*X -> X which does not
increase the number of multiplications. Which is where '!' (or :v here)
comes in.
Or we could decide that the extra multiplication is not that bad if it
saves an addition, simplifies the expression, possibly gains more insn
parallelism, etc, in which case we could just drop the existing hard
single_use check...
--
Marc Glisse
; expr_not_equal_to (@0, wi::minus_one (TYPE_PRECISION (type))
(mult:v{ !single_use (@3) && !single_use (@4 } (plusminus @1 @2) @0
Indeed, something more flexible than '!' would be nice, but I am not so
sure about this version. If we are going to allow inserting code after
resimplification and before validation, maybe we should go even further
and let people insert arbitrary code there...
--
Marc Glisse
n possible, not so bad.
--
Marc Glisse
On Mon, 15 Jun 2020, Shuai Wang via Gcc wrote:
Dear Marc,
Thank you very much! Just another quick question.. Can I iterate the
operands of a GIMPLE statement, like how I iterate a LLVM instruction in
the following way?
Instruction* instr;
for (size_t i=0; i< instr->getNumOperan
_22 used in the last assignment, I have no idea of how
to trace back to its definition on the fourth statement... Thank you
very much!
SSA_NAME_DEF_STMT
_13 = 13;
_14 = _13 + 4;
_15 = 14;
_22 = (unsigned long) _15;
_23 = _22 + _14;
--
Marc Glisse
committee first. However, you should first check if modules
(C++20) affect the issue.
--
Marc Glisse
r2, [r0, #4]@ unaligned
instead of
strdr1, r2, [r0]
--
Marc Glisse
.
(PTA_GOLDMONT): Likewise.
As you can see, this is very much on purpose. See
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01940.html for the
explanation that came with the patch.
--
Marc Glisse
has been
failing for a long time now, and running it for individual .sum files
fails for jit and libphobos. Other scripts in contrib/ may be relevant.
--
Marc Glisse
important stuff at address 0, they also want to be able to do
arithmetic there.
--
Marc Glisse
nges make the code compile as expected:
- moving the variable declaration at the beginning of the block
- opening a block before the declaration and closing it after the return stmt.
I could not find a matching PR in bugzilla.
Do you know of any issue with this ? Maybe this has been fixed in later
versions.
Thanks,
Marc
the estimated frame size on every function, -Walloca-larger-than=0 so it
is equivalent to -Walloca, etc.
--
Marc Glisse
discover warnings, but gcc devs fear that users will actually
use it for real.
--
Marc Glisse
le_assign
gimple_assign
[...]
Resolving the "a[j][i] = 123" we'll need to look into later.
As Marc noted above, with that changed into "*(*(a + j) + i) = 123", we
get:
[...]
int i;
int j;
long unsigned int _1;
long unsigned int _2;
sizetype _3;
type) i_11;
_4 = _2 + _3;
and in both cases we fail to notice that _4 = (sizetype) tmp_17; (at least
I think that's true).
So there are missing match.pd transformations in addition to whatever
scev/ivdep/other work is needed.
--
Marc Glisse
value_ranges_intersect_p with a singleton range, but that
function seems dead and broken). When POINTER_PLUS_EXPR is changed to take
a signed argument, your suggested test will need updating :-(
--
Marc Glisse
he opposite direction may be both easier and safer, even if it won't
handle everything:
P p+ N is nonnull if P or N is known to be nonnull
(and something similar for &p->field and others)
--
Marc Glisse
someone has the time,
of course.
--
Marc Glisse
gory where we don't want to litter the
code with casts to quiet the warnings, I find -Wsign-compare way worse in
practice than -Wclass-memaccess.
--
Marc Glisse
On Sun, 8 Jul 2018, Jason Merrill wrote:
On Sun, Jul 8, 2018 at 6:40 PM, Marc Glisse wrote:
On Fri, 6 Jul 2018, Martin Sebor wrote:
On 07/05/2018 05:14 PM, Soul Studios wrote:
Simply because a struct has a constructor does not mean it isn't a
viable target/source for use with m
st (PR 86024 seems related, there are probably some closer
matches), but indeed more would be helpful.
--
Marc Glisse
owns when compiled with GCC vs. ICC.
--
Marc Glisse
nt to patch genmatch.c (near get_operand_type maybe?) so
it doesn't try to guess that the type of absu is the same as its argument.
You can also specify a type in transformations, look for :utype or :etype
in match.pd.
--
Marc Glisse
r arith
instead?
When I removed their use in the intrinsic headers, I tried to remove them,
but Ada people asked us to keep them
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00843.html
--
Marc Glisse
few spaces. A single run of
clang-tidy would likely fix all of them for you.
--
Marc Glisse
to help with that? (I
didn't really think about it, maybe it doesn't)
"don't do that" remains the most sensible answer.
--
Marc Glisse
ays_inline))
void foo(void){}
};
static inline __attribute__((always_inline,alias("foo")))
void bar(void);
Or you can use an asm label to specify some arbitrary name.
--
Marc Glisse
lity=hidden to
hide everything but a few carefully chosen interfaces.
--
Marc Glisse
understand there's no mangled name for the class such that
echo | c++filt
outputs the class name (e.g. "Foo<10>"). That wouldn't make sense, since
there's no symbol for the class itself.
$ echo _Z1YI1XE | c++filt
Y
--
Marc Glisse
don't have much experience there.
--
Marc Glisse
In preferences, you get to choose the behavior "After changing a bug".
Default is "Show next bug in my list".
--
Marc Glisse
arith-overflow.c.exe iteration 2 of
PASS: test-arith-overflow.c.exe iteration 4 of 5: verify_u
PASS: test-combination.
PASS: test-combination.c.exe it
[...]
The issue is more likely in the testsuite, but I assume you have a
workflow that allows working around the issue?
--
Marc Glisse
ou run "gcc -dumpspecs"? If so you could provide a
different specs file. Otherwise, you could check the patches that your
distribution applies to gcc, one of them likely has "pie" in its name.
Easiest is likely to build gcc from the official sources, which shouldn't
use pie by default.
--
Marc Glisse
test of the loop, as can be seen in the dump
produced with -fdump-tree-optimized.
--
Marc Glisse
e a problem with gcc, maybe optimization creates a path that
corresponds to size==0 and fails to notice that it cannot be taken.
--
Marc Glisse
build recipe:
%define mpfr_version 2.4.2
%define mpc_version0.8.1
%define gmp_version4.3.2
I tried that with gcc 7.1.0 but the build failed complaining
mpfr was too old.
Could you be more precise about how the build failed? AFAIK mpfr-2.4.2 is
still supposed to work.
--
Marc Glisse
t violates
the standard...
--
Marc Glisse
dening stuff is such a pain...)
--
Marc Glisse
On Thu, 13 Oct 2016, Prathamesh Kulkarni wrote:
On 12 October 2016 at 14:43, Richard Biener wrote:
On Wed, 12 Oct 2016, Marc Glisse wrote:
On Wed, 12 Oct 2016, Prathamesh Kulkarni wrote:
I was having a look at PR71636 and added the following pattern to match.pd:
x & ((1U << b)
s selling the transformation as a canonicalization, which is
beneficial when there is an andnot instruction, and neutral otherwise, so
it could be done always.
As pointed out by Marc in PR for -march=core2, lhs generates worse
code than rhs,
so we shouldn't do the transform if target doesn'
In the mean time, I agree that gimplifying x+1 and 1+x differently makes
little sense, you could file a PR about that.
--
Marc Glisse
time.
--
Marc Glisse
On Fri, 26 Aug 2016, Richard Biener wrote:
On Thu, Aug 25, 2016 at 9:40 PM, Marc Glisse wrote:
Hello,
I was considering changing the implementation of _mm_loadu_pd in x86's
emmintrin.h to avoid a builtin. Here are 3 versions:
typedef double __m128d __attribute__ ((__vector_size_
nment-check stuff is not supported by
gcc?
--
Marc Glisse
itfields (sadly, the standards make it hard to avoid unsigned types...).
--
Marc Glisse
ning make install without the -s command line parameter yields
nothing. Have I done something wrong?
"nothing" is not very helpful... Surely it gave some error message.
--
Marc Glisse
On Fri, 27 May 2016, martin krastev wrote:
A new arithmeticish type would take more effort, I understand. Marc,
are there plans to incorporate your patch, perhaps in an extended
form, in a release any time soon?
There is no plan either way. When someone is motivated enough (I am not
rator+, etc), and in
others they don't (conversions in general). We have scalarish_type_p for
things that are scalars or vectors, we could add arithmeticish_type_p ;-)
(I think the name arithmetic comes directly from the standard, so we don't
want to change its meaning)
--
Marc Glisse
~
Apparently there is some implicit conversion rule that stops g++ from
doing the expected implicit conversions, but I can't figure out which
rule that is. The fact clang handles the code without an issue does
not help either. Any help will be appreciated.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57572
--
Marc Glisse
case hat helps.
https://gcc.gnu.org/about.html#cvs
You can send a diff to gcc-patc...@gcc.gnu.org to propose a patch
(possibly Cc: the fortran mailing-list if your patch is related), same as
code changes.
--
Marc Glisse
On Mon, 28 Mar 2016, Allan Sandfeld Jensen wrote:
On Sunday 27 March 2016, Marc Glisse wrote:
On Sun, 27 Mar 2016, Allan Sandfeld Jensen wrote:
Would it be possible to add constexpr to the intrinsics headers?
For instance _mm_set_XX and _mm_setzero intrinsics.
Already suggested here:
https
some point, I don't
remember if it was functional, the patch is attached).
Ideally it could also be added all intrinsics that can be evaluated at compile
time, but it is harder to tell which those are.
Does gcc have a C extension we can use to set constexpr?
What for?
--
Marc GlisseIndex
your need?
--
Marc Glisse
for what kinds of member functions
are allowed in an empty type.
--
Marc Glisse
find docs for how
to request this, so spamming this list.
my account on gcc.gnu.org/bugzilla is "vap...@gentoo.org".
Permissions are automatic for @gcc addresses, you should create a new
account with that one (you can make it follow the old account, etc).
--
Marc Glisse
.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2294
--
Marc Glisse
seem to remember there are at least 2 open LWG issues on the topic,
one saying that the C++11 change didn't go far enough to match reality,
since it still documents C headers differently from the C standard, and
one saying that all overloads of abs should be declared as soon as one is
(yes, they contradict each other).
--
Marc Glisse
case, and there are bugs (or standard issues)
about having them in the global namespace for the first one).
--
Marc Glisse
tterns (described in
fold-const.c and match.pd), like p + n < p in this case.
--
Marc Glisse
td::string in gcc-5, can't you?
--
Marc Glisse
way, or libstdc++ could
redefine it to some other safer form (for some reason __builtin_complex is
currently C-only).
--
Marc Glisse
the function is calloc().
Please help me to find the best alternative so we can implent it.
You may want to read this PR for more context
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888#c27
--
Marc Glisse
1 - 100 of 292 matches
Mail list logo