View Issue Details

IDProjectCategoryView StatusLast Update
0000671GCC - GNU C CompilerBugpublic2017-12-28 14:46
ReporterkomhAssigned Topsmedley 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0000671: gcc 7.1 regressions
DescriptionHi/2.

I'm trying to use gcc 7.1. However, it fails my some C++11 regression tests.

For example,

  1. std::thread, std::async. For this, see https://github.com/psmedley/gcc/commit/e012188309ff098911c960c2b44472aa99239cb1.

  2. std::stol(). For this, see https://github.com/psmedley/gcc/commit/fef1630c35955e6352f9734b43d20758ce7508be. In addition, _GLIBCXX_USE_C99_STDLIB

 is not defined.
 
  3. std::max_align_t. For this, see https://github.com/psmedley/gcc/commit/21e0dd64d12d316004faedd38125e06872dd937a.

If you are interested in my gcc regression test suite, you can get it here:

  https://github.com/komh/gcctest

I eagerly want to use gcc710 because VLC now requires gcc5+.
TagsNo tags attached.

Activities

psmedley

2017-12-16 18:07

administrator   ~0003156

1) should have already been included, so was 2) with the exception of _GLIBCXX_USE_C99_STDLIB, 3) is being added now.

Building 7.2.0 as I write...

psmedley

2017-12-16 19:44

administrator   ~0003157

Out of time for testing today, but please try http://smedley.id.au/tmp/gcc-7.2.0-os2-20171216.zip

Tellie

2017-12-23 06:09

reporter   ~0003158

Hi Paul

I get this now with 720

c++ -O2 -c -o arg_parser.o arg_parser.cc
In file included from c:/usr/local720/include/c++/7.2.0/bits/cxxabi_init_exception.h:38:0,
                 from c:/usr/local720/include/c++/7.2.0/bits/exception_ptr.h:38,
                 from c:/usr/local720/include/c++/7.2.0/exception:142,
                 from c:/usr/local720/include/c++/7.2.0/new:40,
                 from c:/usr/local720/include/c++/7.2.0/ext/new_allocator.h:33,
                 from C:/usr/local720/include/c++/7.2.0/i686-pc-os2-emx/bits/c++allocator.h:33,
                 from c:/usr/local720/include/c++/7.2.0/bits/allocator.h:46,
                 from c:/usr/local720/include/c++/7.2.0/string:41,
                 from arg_parser.cc:21:
c:/usr/include/stddef.h:98:3: error: conflicting declaration 'typedef struct max_align_t max_align_t'
 } max_align_t;
   ^~~~~~~~~~~
In file included from C:/usr/local720/include/c++/7.2.0/i686-pc-os2-emx/bits/c++config.h:533:0,
                 from c:/usr/local720/include/c++/7.2.0/cstring:41,
                 from arg_parser.cc:20:
C:/usr/local720/include/c++/7.2.0/i686-pc-os2-emx/bits/os_defines.h:47:3: note: previous declaration as 'typedef struct max_align_t max_align_t'
 } max_align_t;
   ^~~~~~~~~~~
make: *** [arg_parser.o] Error 1

komh

2017-12-23 16:20

reporter   ~0003159

@Telie, are you using rpm environment ? Anyway, #ifdef guard and definition seems to be needed for max_align_t in os_define.h.

psmedley

2017-12-23 18:39

administrator   ~0003160

Try replacing os_defines.h with the one at http://smedley.id.au/tmp/os_defines.h

Tellie

2017-12-23 20:22

reporter   ~0003161

Hi Paul,

This works :)

Issue History

Date Modified Username Field Change
2017-12-06 00:24 komh New Issue
2017-12-16 18:07 psmedley Note Added: 0003156
2017-12-16 19:44 psmedley Note Added: 0003157
2017-12-23 06:09 Tellie Note Added: 0003158
2017-12-23 16:20 komh Note Added: 0003159
2017-12-23 18:39 psmedley Note Added: 0003160
2017-12-23 20:22 Tellie Note Added: 0003161
2017-12-28 14:46 psmedley Assigned To => psmedley
2017-12-28 14:46 psmedley Status new => assigned
2017-12-28 14:46 psmedley Status assigned => resolved
2017-12-28 14:46 psmedley Resolution open => fixed