[Bug middle-end/93487] Missed tail-call optimizations

2024-05-26 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93487 --- Comment #5 from Petr Skocik --- Another case of a missed tailcall which might warrant a separate mention: struct big{ long _[10]; }; void takePtr(void *); void takeBigAndPassItsAddress(struct big X){ takePtr(); } This should

[Bug c/90181] Feature request: provide a way to explicitly select specific named registers in constraints

2024-04-17 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90181 Petr Skocik changed: What|Removed |Added CC||pskocik at gmail dot com --- Comment #16

[Bug middle-end/112844] Branches under -Os (unlike -O{1, 2, 3}) do not respect __builtin_expect hints

2024-03-30 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112844 --- Comment #2 from Petr Skocik --- (In reply to Jakub Jelinek from comment #1) > With -Os you ask the code to be small. So, while internally the hint is > still present in edge probabilities, -Os is considered more important and > certain

[Bug target/114097] Missed register optimization in _Noreturn functions

2024-02-25 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114097 --- Comment #4 from Petr Skocik --- Excellent! Thank you very much. Didn't realize the functionality was already there, but didn't work without an explicit __attribute((noreturn)). Now I can get rid of my most complex assembly function which I

[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization

2024-02-25 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10837 Petr Skocik changed: What|Removed |Added CC||pskocik at gmail dot com --- Comment #19

[Bug c/114097] New: Missed register optimization in _Noreturn functions

2024-02-25 Thread pskocik at gmail dot com via Gcc-bugs
Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Consider a never-returning functions such as this: #include #include //_Noreturn void noret(unsigned A, unsigned B, unsigned C, unsigned D, unsigned E, jmp_buf Jb

[Bug c/114011] New: Feature request: __goto__

2024-02-20 Thread pskocik at gmail dot com via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Gcc has __volatile__. I can only assume the rationale for it is so that inline asm macros can do __asm __volatile__ and not have to worry about user-redefines of the volatile keyword (which while

[Bug c/112844] New: Branches under -Os (unlike -O{1,2,3}) do not respect __builtin_expect hints

2023-12-04 Thread pskocik at gmail dot com via Gcc-bugs
: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- A simple example that demonstrates this is: int test(void); void yes(void); void expect_yes(void){ if (__builtin_expect(test

[Bug ipa/106116] Missed optimization: in no_reorder-attributed functions, tail calls to the subsequent function could just be function-to-function fallthrough

2023-08-07 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106116 --- Comment #4 from Petr Skocik --- It would be interesting to do this at the assembler level, effectively completely turning what's equivalent to `jmp 1f; 1:` to nothing. This would also be in line with the GNU assembler's apparent philosophy

[Bug middle-end/109766] New: Passing doubles through the stack generates a stack adjustment pear each such argument at -Os/-Oz.

2023-05-08 Thread pskocik at gmail dot com via Gcc-bugs
: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- /* Passing doubles through the stack generates a stack adjustment pear each such argument

[Bug preprocessor/109704] New: #pragma {push,pop}_macro broken for identifiers that contain dollar signs at nonfirst positions

2023-05-02 Thread pskocik at gmail dot com via Gcc-bugs
: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- This following dollarsign-less example compiles fine as expected: #define MACRO 1

[Bug tree-optimization/93265] memcmp comparisons of structs wrapping a primitive type not as compact/efficient as direct comparisons of the underlying primitive type under -Os

2023-05-01 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93265 --- Comment #3 from Petr Skocik --- Here's another example (which may be summarizing it more nicely) struct a{ char _[4]; }; #include int cmp(struct a A, struct a B){ return !!memcmp(,,4); } Expected x86-64 codegen (✓ for gcc -O2/-O3 and for

[Bug c/94379] Feature request: like clang, support __attribute((__warn_unused_result__)) on structs, unions, and enums

2023-04-23 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94379 --- Comment #2 from Petr Skocik --- Excellent! For optional super extra coolness, this might work (and clang doesn't do this) with statement expressions too so that statement expression-based macros could be marked warn_unused_result through

[Bug c/109567] New: Useless stack adjustment by 16 around calls with odd stack-argument counts on SysV x86_64

2023-04-20 Thread pskocik at gmail dot com via Gcc-bugs
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- For function calls with odd stack argument counts, gcc generates a useless `sub $16, %rsp` at the beginning

[Bug middle-end/108799] Improper deprecation diagnostic for rsp clobber

2023-04-01 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108799 Petr Skocik changed: What|Removed |Added CC||pskocik at gmail dot com --- Comment #3

[Bug c/108194] GCC won't treat two compatible function types as compatible if any of them (or both of them) is declared _Noreturn

2022-12-22 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108194 --- Comment #6 from Petr Skocik --- (In reply to Petr Skocik from comment #5) > (In reply to Andrew Pinski from comment #4) > > Invalid as mentioned in r13-3135-gfa258f6894801a . > > I believe it's still a bug for pre-c2x __typeof. > While it

[Bug c/108194] GCC won't treat two compatible function types as compatible if any of them (or both of them) is declared _Noreturn

2022-12-21 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108194 Petr Skocik changed: What|Removed |Added Resolution|INVALID |FIXED --- Comment #5 from Petr Skocik

[Bug c/108194] New: GCC won't treat two compatible function types as compatible if any of them (or both of them) is declared _Noreturn

2022-12-21 Thread pskocik at gmail dot com via Gcc-bugs
: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- (same with __attribute((noreturn))) Example (https://godbolt.org/z

[Bug c/107831] Missed optimization: -fclash-stack-protection causes unnecessary code generation for dynamic stack allocations that are clearly less than a page

2022-12-17 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107831 --- Comment #9 from Petr Skocik --- Regarding the size of alloca/VLA-generated code under -fstack-clash-protection. I've played with this a little bit and while I love the feature, the code size increases seem quite significant and

[Bug c/107831] Missed optimization: -fclash-stack-protection causes unnecessary code generation for dynamic stack allocations that are clearly less than a page

2022-11-24 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107831 --- Comment #7 from Petr Skocik --- (In reply to Jakub Jelinek from comment #4) > Say for > void bar (char *); > void > foo (int x, int y) > { > __attribute__((assume (x < 64))); > for (int i = 0; i < y; ++i) > bar (__builtin_alloca

[Bug c/107831] Missed optimization: -fclash-stack-protection causes unnecessary code generation for dynamic stack allocations that are clearly less than a page

2022-11-23 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107831 --- Comment #6 from Petr Skocik --- (In reply to Jakub Jelinek from comment #2) > (In reply to Petr Skocik from comment #1) > > Sidenote regarding the stack-allocating code for cases when the size is not > > known to be less than pagesize: the

[Bug c/107831] Missed optimization: -fclash-stack-protection causes unnecessary code generation for dynamic stack allocations that are clearly less than a page

2022-11-23 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107831 --- Comment #1 from Petr Skocik --- Sidenote regarding the stack-allocating code for cases when the size is not known to be less than pagesize: the code generated for those cases is quite large. It could be replaced (at least under -Os) with a

[Bug c/107831] New: Missed optimization: -fclash-stack-protection causes unnecessary code generation for dynamic stack allocations that are clearly less than a page

2022-11-23 Thread pskocik at gmail dot com via Gcc-bugs
Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- I'm talking allocations such as char

[Bug c/106116] New: Missed optimization: in no_reorder-attributed functions, tail calls to the subsequent function could just be function-to-function fallthrough

2022-06-28 Thread pskocik at gmail dot com via Gcc-bugs
Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Example: __attribute((noinline

[Bug target/85927] ud2 instruction generated starting with gcc 8

2021-12-31 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85927 Petr Skocik changed: What|Removed |Added CC||pskocik at gmail dot com --- Comment #5

[Bug c/102096] New: Gcc unnecessarily initializes indeterminate variables passed across function boundaries

2021-08-27 Thread pskocik at gmail dot com via Gcc-bugs
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Compared to clang where: long ret_unspec(void){ auto long rv; return rv; } void take6(long,long,long,long,long

[Bug c/98418] Valid integer constant expressions based on expressions that trigger -Wshift-overflow are treated as non-constants

2020-12-24 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98418 pskocik at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution

[Bug c/98418] Valid integer constant expressions based on expressions that trigger -Wshift-overflow are treated as non-constants

2020-12-24 Thread pskocik at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98418 --- Comment #2 from pskocik at gmail dot com --- You're right. The bug was in my code. struct foo { unsigned bit: (0xll<<40)!=0; }; is indeed UB due to http://port70.net/~nsz/c/c11/n1570.html#6.5.7p4, but struct foo { unsign

[Bug c/98418] New: Valid integer constant expressions based on expressions that trigger -Wshift-overflow are treated as non-constants

2020-12-22 Thread pskocik at gmail dot com via Gcc-bugs
: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- This causes things like: struct foo { unsigned bit: (0xll<

[Bug c/96625] New: Unnecessarily large assembly generated when a bit-offsetted higher-end end of a uint64_t-backed bitfield is shifted toward the high end (left) by its bit-offset

2020-08-15 Thread pskocik at gmail dot com
bit-offset Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone

[Bug c/96420] New: -Wsign-extensions warnings are generated from system header macros

2020-08-02 Thread pskocik at gmail dot com
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Gcc doesn't silence -Wsign-conversion warnings in the expansion of system-header macros (e.g., in the expansion of Musl's/Cygwin's FD_SET

[Bug c/95857] New: Silencing an unused label warning with (void)& can make gcc segfault

2020-06-24 Thread pskocik at gmail dot com
rmal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Created attachment 48777 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48777=edit preprocessed reproducer that cras

[Bug c/95126] New: Missed opportunity to turn static variables into immediates

2020-05-14 Thread pskocik at gmail dot com
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Example: For: struct small{ short a,b; signed char c; }; void call_func(void) { extern int func(struct small X); static

[Bug middle-end/94703] Small-sized memcpy leading to unnecessary register spillage unless done through a dummy union

2020-05-13 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94703 --- Comment #11 from pskocik at gmail dot com --- Thanks for the shot at a fix, Richard Biener. Since I have reported this, I think I should mentioned a related suboptimality that should probably be getting fixed alongside with this (if this one

[Bug c/94703] New: Small-sized memcpy leading to unnecessary register spillage unless done through a dummy union

2020-04-21 Thread pskocik at gmail dot com
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- The problem, demonstrated in code examples below, can be suppressed by memcpying into a union (possibly just

[Bug middle-end/93487] Missed tail-call optimizations

2020-04-20 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93487 --- Comment #3 from pskocik at gmail dot com --- The gist of this along with https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93540 is "please make trivial aggregates (i.e., aggregates, which are ultimately a native type) a true zero-cost abstra

[Bug c/66425] (void) cast doesn't suppress __attribute__((warn_unused_result))

2020-03-28 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/94379] New: Feature request: like clang, support __attribute((__warn_unused_result__)) on structs, unions, and enums

2020-03-28 Thread pskocik at gmail dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Clang supports applying the warn_unused_result attribute to enums, structs

[Bug tree-optimization/87313] attribute malloc not used for alias analysis when it could be

2020-02-16 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87313 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/93540] New: Attributes pure and const not working with aggregate return types, even trivial ones

2020-02-01 Thread pskocik at gmail dot com
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Example: #define SIMPLE 0 #include #if SIMPLE typedef int TYPE; #else typedef struct TYPE { int a; } TYPE

[Bug c/93487] New: Missed tail-call optimizations

2020-01-29 Thread pskocik at gmail dot com
Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Given, for example: #include typedef union lp_tp { long l; void *p; } lp_tp ; typedef union ilp_tp{ int i

[Bug tree-optimization/93447] New: Value range propagation not working at -Os

2020-01-26 Thread pskocik at gmail dot com
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- I have a lot of cases where I'd like to translate boolean conditions to negated errno codes (possibly wrapped in an struct or a trivial union). If this translation

[Bug c/93441] New: _Generic selections ought to be treated as parenthesized expressions as far as -Wlogical-not-parentheses is concerned

2020-01-26 Thread pskocik at gmail dot com
: 9.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- int x [ _Generic(0,int: !0) < 10 ]; //falsely triggers -Wlogi

[Bug middle-end/26724] __builtin_constant_p fails to recognise function with constant return

2020-01-22 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26724 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug target/91298] $ at the beginging causing Error: junk `(%rip)' after expression

2020-01-22 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91298 --- Comment #7 from pskocik at gmail dot com --- (In reply to CVS Commits from comment #6) > The master branch has been updated by Jakub Jelinek : Thank you for the fix!

[Bug target/91298] $ at the beginging causing Error: junk `(%rip)' after expression

2020-01-16 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91298 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/93239] Enhancement: allow unevaluated statement expressions at filescope

2020-01-16 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93239 --- Comment #1 from pskocik at gmail dot com --- Fixing this seems as simple as removing/commenting-out: gcc/c/c-parser.c:8195 /* If we've not yet started the current function's statement list, gcc/c/c-parser.c:8196or we're

[Bug c/92935] typeof() on an atomic type doesn't always return the corresponding unqualified type

2020-01-14 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92935 --- Comment #3 from pskocik at gmail dot com --- jos...@codesourcery.com, that's interesting, but it seems like an unnecessary, weird special case, considering that gcc already has a qualifier-dropping mechanism that doesn't necessitate special

[Bug c/92935] typeof() on an atomic type doesn't always return the corresponding unqualified type

2020-01-14 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92935 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/93265] New: memcmp comparisons of structs wrapping a primitive type not as compact/efficient as direct comparisons of the underlying primitive type under -Os

2020-01-14 Thread pskocik at gmail dot com
Product: gcc Version: 9.2.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone

[Bug c/93241] New: _Bool casts in dead branches of integer constant expressions cause undesirable warnings under -pedantic iff the dead branch contains overflow

2020-01-12 Thread pskocik at gmail dot com
: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- About the simplest example of this I could

[Bug c/93239] New: Enhancement: allow unevaluated statement expressions at filescope

2020-01-12 Thread pskocik at gmail dot com
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- I've noticed gcc seems to syntactically disallow statement expressions at filescope even in contexts where they wouldn't be evaluated

[Bug c/93180] const function pointers placed in a custom section are causing that custom section to become writable

2020-01-07 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93180 --- Comment #5 from pskocik at gmail dot com --- Jakub Jelinek, I later asked how this worked on Stack Overflow (https://stackoverflow.com/questions/59629946/why-do-gcc-and-clang-place-custom-sectioned-const-funcptr-symbols-into-writable). Got

[Bug c/93180] const function pointers placed in a custom section are causing that custom section to become writable

2020-01-06 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93180 --- Comment #3 from pskocik at gmail dot com --- Thanks for explaining. Yes, -fPIC does cause the section to become writable on clang. I'm currently toying with using a custom section to gather const function-pointers, but this -fPIC stuff

[Bug c/93180] New: const function pointers placed in a custom section are causing that custom section to become writable

2020-01-06 Thread pskocik at gmail dot com
: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- __attribute((__section__("mysection"))) int const cx = -42; (or with multiple const data

[Bug c/91669] New: #pragma's and _Pragma's work but _Pragma's used in an equivalent macro don't

2019-09-05 Thread pskocik at gmail dot com
: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- The problem appears to exist on all gcc versions. Example Code: #define BX_gcc_push(Category,...) BX_pragma(GCC Category push

[Bug c/90552] New: attribute((optimize(3))) not overriding -Os

2019-05-20 Thread pskocik at gmail dot com
Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- I test-compiled ( https://gcc.godbolt.org/z/8bhbNa ): __attribute((optimize(3))) int div(int X) { return X/3; } with -O{0,1,2,3,s}, expecting to get the same assembly in all

[Bug c/39985] Type qualifiers not actually ignored on function return type

2019-03-15 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39985 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/65455] typeof _Atomic fails

2019-03-01 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65455 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/66918] Disable "inline function declared but never defined" warning

2019-02-19 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66918 --- Comment #8 from pskocik at gmail dot com --- I'd also very much welcome a way to silence this (like with -Wno-undefined-inline on clang). My reason for wanting it is I'd like to prototype a non-static inline function in one header (a fast

[Bug c/66918] Disable "inline function declared but never defined" warning

2019-02-19 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66918 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/89264] New: Incorrect bitfield type in -Wconversion warnings

2019-02-09 Thread pskocik at gmail dot com
: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- void f() { struct{ unsigned x:1; }x = { (unsigned){0} }; } warns about a conversion to `unsigned char:1`. It should say `unsigned int:1`.

[Bug c/89265] New: Incorrect bitfield type in -Wconversion warnings

2019-02-09 Thread pskocik at gmail dot com
: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- void f() { struct{ unsigned x:1; }x = { (unsigned){0} }; } warns about a conversion to `unsigned char:1`. It should say `unsigned int:1`.

[Bug target/45591] gcc generates illegal asm at -O2 with -fdollars-in-identifiers

2019-02-05 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45591 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/88301] New: Optimization regression with undefined unsigned overflow

2018-12-01 Thread pskocik at gmail dot com
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- I noticed gcc 7.* did a really nice optimization that allowed me to communicate I want even some unsigned overflows to be undefined: #define

[Bug c/88131] New: `gcc -S pp_assembly.S - o OutputFile.s` writes to STDOUT instead of `OutputFile.s`

2018-11-21 Thread pskocik at gmail dot com
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- `gcc -S pp_assembly.S -o OutFile.s` or `gcc -S pp_assembly.sx -o OutFile.s` or should behave the same as `gcc -E

[Bug preprocessor/82335] Incorrect _Pragma expansion in complex macro expressions

2018-11-16 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82335 --- Comment #1 from pskocik at gmail dot com --- This problem still persists in gcc 7.3.0. It appears pasting a macro containing `_Pragma`s into another macro is what's causing the displacement of the generated `#pragma`s. I've cleaned up

[Bug c/82335] New: Incorrect _Pragma expansion with in complex macro expressions

2017-09-26 Thread pskocik at gmail dot com
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Created attachment 42239 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42239=edit reproducer for "Incorrect _Pragma e

[Bug pch/15351] Add option for caching headers

2017-07-16 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=15351 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/78036] New: -MM suppresses error detection

2016-10-19 Thread pskocik at gmail dot com
Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Example: touch in.h gcc -x c -include in.h - -MD -MF /dev/stdout <<<'int main(){x; return 42;} fails as it should. Changing -MD to -MM causes the failure to go undetected (no stde

[Bug c/77487] gcc reports "file shorter than expected" for regular files on stdin when the offset of fd 0 isn't 0

2016-09-05 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77487 pskocik at gmail dot com changed: What|Removed |Added CC||pskocik at gmail dot com

[Bug c/77487] New: gcc reports "file shorter than expected" for regular files on stdin when the offset of fd 0 isn't 0

2016-09-05 Thread pskocik at gmail dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- My program calls `gcc -x c - ` with the offset of filedescriptor 0 being larger than 0. Cons