public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61189] New: ICE with __builtin_return_address() in noexcept lambda on x86
@ 2014-05-14 16:13 lh_mouse at 126 dot com
  2014-12-15 10:47 ` [Bug c++/61189] " ville.voutilainen at gmail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: lh_mouse at 126 dot com @ 2014-05-14 16:13 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 61189
           Summary: ICE with __builtin_return_address() in noexcept lambda
                    on x86
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lh_mouse at 126 dot com

Minimal test case:

void foo(){
    []() noexcept { return __builtin_return_address(0); }();
}


Compiled with:

E:\Desktop>g++ test.cpp -std=c++1y
test.cpp: In lambda function:
test.cpp:2:54: internal compiler error: in ix86_compute_frame_layout, at
config/i386/i386.c:9510
  []() noexcept { return __builtin_return_address(0); }();
                                                      ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://sourceforge.net/projects/mingw-w64> for instructions.


g++ version:

E:\Desktop>g++ -v
Thread model: win32
gcc version 4.9.0 (i686-win32-sjlj-rev1, Built by MinGW-W64 project)


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

* [Bug c++/61189] ICE with __builtin_return_address() in noexcept lambda on x86
  2014-05-14 16:13 [Bug c++/61189] New: ICE with __builtin_return_address() in noexcept lambda on x86 lh_mouse at 126 dot com
@ 2014-12-15 10:47 ` ville.voutilainen at gmail dot com
  2014-12-16 16:35 ` ktietz at gcc dot gnu.org
  2014-12-16 16:55 ` ktietz at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: ville.voutilainen at gmail dot com @ 2014-12-15 10:47 UTC (permalink / raw)
  To: gcc-bugs

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

Ville Voutilainen <ville.voutilainen at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ktietz at gcc dot gnu.org,
                   |                            |ville.voutilainen at gmail dot com

--- Comment #1 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
The problem doesn't seem to occur on Linux-x64. Kai, can you take a look?


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

* [Bug c++/61189] ICE with __builtin_return_address() in noexcept lambda on x86
  2014-05-14 16:13 [Bug c++/61189] New: ICE with __builtin_return_address() in noexcept lambda on x86 lh_mouse at 126 dot com
  2014-12-15 10:47 ` [Bug c++/61189] " ville.voutilainen at gmail dot com
@ 2014-12-16 16:35 ` ktietz at gcc dot gnu.org
  2014-12-16 16:55 ` ktietz at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-12-16 16:35 UTC (permalink / raw)
  To: gcc-bugs

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

Kai Tietz <ktietz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-12-16
     Ever confirmed|0                           |1

--- Comment #2 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Issue is related to the assert at line 9964 in config/i386/i386.c in
ix86_compute_frame_layout: 'gcc_assert (preferred_alignment <=
stack_alignment_needed);'.
The preferred_alignment is 16, but the stack_alignment_needed is just 4.

The preferred_alignment is by default for all x86/x64 targets always
PREFERRED_STACK_BOUNDARY_DEFAULT (means 128 bit=16 bytes).
So crtl->stack_alignment_needed is 32, and crtl->preferred_stack_boundary is
128.

A work-a-round is to use -mpreferred-stack-boundary=2 option. This prevents
that check fails.

So question is: Where stack_alignment_needed is set to something less then
preferred_stack_boundary


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

* [Bug c++/61189] ICE with __builtin_return_address() in noexcept lambda on x86
  2014-05-14 16:13 [Bug c++/61189] New: ICE with __builtin_return_address() in noexcept lambda on x86 lh_mouse at 126 dot com
  2014-12-15 10:47 ` [Bug c++/61189] " ville.voutilainen at gmail dot com
  2014-12-16 16:35 ` ktietz at gcc dot gnu.org
@ 2014-12-16 16:55 ` ktietz at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-12-16 16:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Kai Tietz <ktietz at gcc dot gnu.org> ---
*** Bug 62152 has been marked as a duplicate of this bug. ***


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

end of thread, other threads:[~2014-12-16 16:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-14 16:13 [Bug c++/61189] New: ICE with __builtin_return_address() in noexcept lambda on x86 lh_mouse at 126 dot com
2014-12-15 10:47 ` [Bug c++/61189] " ville.voutilainen at gmail dot com
2014-12-16 16:35 ` ktietz at gcc dot gnu.org
2014-12-16 16:55 ` ktietz 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).