public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/106502] New: Three calls to __attribute__((const)) function
@ 2022-08-01 23:04 redi at gcc dot gnu.org
  2022-08-01 23:10 ` [Bug c++/106502] " pinskia at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2022-08-01 23:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106502

            Bug ID: 106502
           Summary: Three calls to __attribute__((const)) function
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

#include <system_error>

int main()
{
  __builtin_puts(std::system_category().name());
}

With gcc 12 the resulting assembly is:

        .file   "cat.C"
        .text
        .globl  main
        .type   main, @function
main:
.LFB1309:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        pushq   %rbx
        subq    $8, %rsp
        .cfi_offset 3, -24
        call    _ZNSt3_V215system_categoryEv
        call    _ZNSt3_V215system_categoryEv
        movq    (%rax), %rax
        addq    $16, %rax
        movq    (%rax), %rbx
        call    _ZNSt3_V215system_categoryEv
        movq    %rax, %rdi
        call    *%rbx
        movq    %rax, %rdi
        call    puts
        movl    $0, %eax
        movq    -8(%rbp), %rbx
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1309:
        .size   main, .-main
        .ident  "GCC: (GNU) 12.1.1 20220507 (Red Hat 12.1.1-1)"
        .section        .note.GNU-stack,"",@progbits


Why is the std::system_category() function called three times?

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-08-04  6:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-01 23:04 [Bug c++/106502] New: Three calls to __attribute__((const)) function redi at gcc dot gnu.org
2022-08-01 23:10 ` [Bug c++/106502] " pinskia at gcc dot gnu.org
2022-08-01 23:11 ` pinskia at gcc dot gnu.org
2022-08-02  6:41 ` redi at gcc dot gnu.org
2022-08-02 10:04 ` rguenth at gcc dot gnu.org
2022-08-02 10:13 ` redi at gcc dot gnu.org
2022-08-04  2:31 ` egallager at gcc dot gnu.org
2022-08-04  6:27 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).