: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
-fgnu89-inline / C99 / C++ inline modes are all different. For C++, perhaps
neither
__GNUC_STDC_INLINE__ nor __GNUC_GNUC_INLINE__
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Clang introduced the attribute in https://reviews.llvm.org/D108029 (2021-08).
It disables instrumentations for all kinds of sanitizers.
For non
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78204
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #8 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107963
--- Comment #3 from Fangrui Song ---
GCC doesn't implement -fsanitize=memory.
In the absence of it, __attribute__((disable_sanitizer_instrumentation)) is
like __attribute__((no_sanitize("all"))).
When -fsanitize=memory is implemented, the two a
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
An raw symbolic operand is useful in inline asm (e.g. in C++ to get the mangled
name, or in C to let the compiler do some asm checking). In aarch64 and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
--- Comment #5 from Fangrui Song ---
(In reply to Hongtao.liu from comment #4)
> constraint "i" + "%p0"?
>
> asm (".pushsection .xxx,\"aw\"; .dc.a %p0; .popsection" :: "i"(addr)); //
> supported on aarch64 and riscv
> asm (".pushsection .xx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77882
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #11 from
ty: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
An absolute symbolic operand is useful in inline asm. In aarch64 and x86-64,
there is a documented (supported) approach.
// aar
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71482
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #5 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99759
--- Comment #3 from Fangrui Song ---
(In reply to Alan Modra from comment #2)
> > this means the ctors.65535 will come last.
> Nope, it will come first. And since DT_INIT_ARRAY pointers are executed in
> the order they appear in the array, it wi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83022
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #5 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83022
--- Comment #6 from Fangrui Song ---
The issue succeeded to waste some time of MySQL developers BTW:
http://smalldatum.blogspot.com/2017/11/a-new-optimization-in-gcc-5x-and-mysql.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102317
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #13
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
https://godbolt.org/z/G7ndsTv5c (from
https://github.com/llvm/llvm-project/pull/81179#issuecomment-1937082113
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113987
--- Comment #1 from Fangrui Song ---
BTW,
https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/uninitialized.cpp
has many member initializer list examples
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114217
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #14
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #5 from
++
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Clang supports [[clang::no_destroy]] (alternative form:
`__attribute__((no_destroy))`) to disable exit-time destructors of variables of
static or thread local storage duration.
* July
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #17 from
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
cat > lib.cpp <<'eof'
#include "lib.h"
#include
void te
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Clang may add a RISC-V specific option --print-supported-extensions to list
implemented ISA extensions with the corresponding versions:
https://reviews.llvm.org/D146054
I think it will be
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Clang has supported -fsanitize-trap=undefined and many fine-grained options[1]
e.g. -fsanitize-trap=alignment since 2015.
-fsanitize-undefined-trap-on-error is a deprecated alias for
-fsanitize
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109489
Fangrui Song changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
mkdir -p a/b/c
echo 'int main(){}' > a/b/c/d.c
~/Dev/gcc/out/release/gcc/xgcc -B ~/Dev/gcc/out/release/gcc -g -c
-fdebug-prefi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109591
--- Comment #3 from Fangrui Song ---
(In reply to Andrew Pinski from comment #2)
> GCC added -fdebug-prefix-map= back in r0-82686-gc8aea42ce2c691e4e8 2 years
> before clang was first release . So
Thank you for the super rapid response!
I
: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
The asm in a naked function may reasonably expect the argument registers and
the
return address register (if present) to be live
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109707
--- Comment #1 from Fangrui Song ---
I came here from a PR for Clang:
https://github.com/llvm/llvm-project/issues/62504
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109707
--- Comment #4 from Fangrui Song ---
(In reply to Andrew Pinski from comment #2)
> As a workaround, you could add the attribute no_instrument_function.
Yes. I thought of this possibility, but pcc's reply on
https://github.com/llvm/llvm-project/
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
--- Comment #6 from Fangrui Song ---
(In reply to Hongtao.liu from comment #4)
> constraint "i" + "%p0"?
>
> asm (".pushsection .xxx,\"aw\"; .dc.a %p0; .popsection" :: "i"(addr)); //
> supported on aarch64 and riscv
> asm (".pushsection .xx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
--- Comment #14 from Fangrui Song ---
> Is there a way to capture a method address in inline asm that works in
> -fPIC mode? Specifically I want to capture the address of a static
> method that's in a class that's local to a function. I'm able t
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Clang introduced `__builtin_memcpy_inline` (https://reviews.llvm.org/D73543) in
2020 and `__builtin_memset_inline` (https://reviews.llvm.org/D126903) in 2022.
The two builtin functions expand
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: i at maskray dot me
Target Milestone: ---
Noticed by Ziwei Mao.
% cat a.c
void f() {}
void g() {}
void h() {}
% gcc -ffunction-sections -fpatchable-function-entry
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
--- Comment #8 from Fangrui Song ---
I've encountered another use case related to metadata sections (establish an
artificial reference for linker garbage collection purposes)
namespace ns { extern int var; } // defined in another translation u
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104816
Fangrui Song changed:
What|Removed |Added
CC||i at maskray dot me
--- Comment #13
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576
Fangrui Song changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
101 - 135 of 135 matches
Mail list logo