http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56961



             Bug #: 56961

           Summary: cycle between do_spec_1() / process_brace_body() /

                    handle_braces()

    Classification: Unclassified

           Product: gcc

           Version: 4.9.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: dim...@gmail.com





$ cat x.cpp 

struct foo { };

  typedef struct

  {

      volatile foo fields;

  }

  CSPHandleState;

  CSPHandleState a;

  void

  fn1 ()

  {

      CSPHandleState b;

      b.fields = foo();

  }





$ g++ -O0 -c x.cpp 

x.cpp: In function 'void fn1()':

x.cpp:12:16: error: passing 'volatile foo' as 'this' argument of 'foo&

foo::operator=(const foo&)' discards qualifiers [-fpermissive]

       b.fields = foo();

                ^

g++: internal compiler error: Segmentation fault (program cc1plus)

0x40950c execute

    /home/dimhen/src/gcc-current/gcc/gcc.c:2822

0x409769 do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:4614

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

0x40a1fa do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5268

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

0x40a1fa do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5268

0x40a5eb do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5373

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

0x40a1fa do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5268

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

0x40a1fa do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5268

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

0x40a1fa do_spec_1

    /home/dimhen/src/gcc-current/gcc/gcc.c:5268

0x40c4d9 process_brace_body

    /home/dimhen/src/gcc-current/gcc/gcc.c:5871

0x40c4d9 handle_braces

    /home/dimhen/src/gcc-current/gcc/gcc.c:5785

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See <http://gcc.gnu.org/bugs.html> for instructions.



Thanks to David Blaikie for reduced testcase

(http://lists.cs.uiuc.edu/pipermail/cfe-users/2013-April/000085.html)

Reply via email to