[Bug c++/56838] New: GCC svn doesn't compile libreoffice 4.0.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56838 Bug #: 56838 Summary: GCC svn doesn't compile libreoffice 4.0.1.2 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mustrum...@gmail.com Created attachment 29802 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29802 preprocessed source code This is the command line x86_64-pc-linux-gnu-g++ -DCPPU_ENV=gcc3 -DENABLE_GRAPHITE -DENABLE_GTK -DGCC -DHAVE_CXX11_PERFECT_FORWARDING -DHAVE_GCC_BUILTIN_ATOMIC -DHAVE_THREADSAFE_STATICS -DLIBO_INTERNAL_ONLY -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DSOLAR_JAVA -DSUPD=400 -DUNIX -DUNX -DX86_64 -D_PTHREADS -D_REENTRANT -DFORCE_SYSALLOC -DSAL_DLLIMPLEMENTATION -DRTL_OS="Linux" -DRTL_ARCH="X86_64" -DHAVE_GCC_VISIBILITY_FEATURE -fvisibility=hidden -Wall -Wendif-labels -Wextra -fmessage-length=0 -fno-common -pipe -fvisibility-inlines-hidden -DLIBO_MERGELIBS -fPIC -Wshadow -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -std=gnu++0x -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -O2 -pipe -c /tmp/libreoffice-4.0.1.2/sal/osl/all/debugbase.cxx -o /tmp/libreoffice-4.0.1.2/workdir/unxlngx6.pro/CxxObject/sal/osl/all/debugbase.o -I/tmp/libreoffice-4.0.1.2/sal/osl/all/ -I/tmp/libreoffice-4.0.1.2/solver/unxlngx6.pro/inc/external -I/tmp/libreoffice-4.0.1.2/solver/unxlngx6.pro/inc -I/tmp/libreoffice-4.0.1.2/solenv/inc -I/opt/icedtea-bin-7.2.3.8/include -I/opt/icedtea-bin-7.2.3.8/include/linux -I/opt/icedtea-bin-7.2.3.8/include/native_threads/include -I/tmp/libreoffice-4.0.1.2/config -I/tmp/libreoffice-4.0.1.2/sal/inc Here is the error: In file included from /usr/include/boost/bind.hpp:22:0, from /tmp/libreoffice-4.0.1.2/sal/osl/all/debugbase.cxx:26: /usr/include/boost/bind/bind.hpp: In instantiation of ‘struct boost::_bi::result_traits’: /usr/include/boost/bind/bind_template.hpp:15:48: required from ‘class boost::_bi::bind_t, boost::arg<1> > >’ /usr/include/boost/bind/bind.hpp:1480:5: required by substitution of ‘template boost::_bi::bind_t::type> boost::bind(F, A1, A2) [with F = bool (*)(const char*, const rtl::OString&); A1 = const char*; A2 = boost::arg<1>]’ /tmp/libreoffice-4.0.1.2/sal/osl/all/debugbase.cxx:107:60: required from here /usr/include/boost/bind/bind.hpp:69:37: error: ‘bool (*)(const char*, const rtl::OString&)’ is not a class, struct, or union type gcc doesn't select the right function overload for boost::bind. clang compiles this.
[Bug c++/53786] [C++11] alias template - error on valid code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53786 Hristo Venev changed: What|Removed |Added Version|4.7.1 |4.9.0 Summary|[C++11] alias template |[C++11] alias template - |causes g++ segfault |error on valid code --- Comment #5 from Hristo Venev 2013-04-04 09:51:45 UTC --- Now the compiler gives an error on the same code fail.cpp: In substitution of ‘template using Tail = List [with T = Ts ...; Ts = {Ts ...}]’: fail.cpp:6:23: required from here fail.cpp:4:23: error: template argument 1 is invalid using Tail=List; ^ fail.cpp:7:9: error: expected type-specifier before ‘Tail2’ using A=Tail2;
[Bug c++/56838] GCC svn doesn't compile libreoffice 4.0.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56838 --- Comment #2 from Hristo Venev 2013-04-04 16:17:04 UTC --- The candidate in /usr/include/boost/bind/bind.hpp:1478 a.cpp:92092 fails. SFINAE so this candidate is skipped. However the one in /usr/include/boost/bind/bind_cc.hpp:35 a.cpp:92176 would instantiate successfully. I think this is the one called by gcc 4.8.0.
[Bug libstdc++/57263] New: std::set with user-defined allocator - compile error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263 Bug ID: 57263 Summary: std::set with user-defined allocator - compile error Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com A user-defined allocator's pointer may not be convertible to and from regular pointers. There is std::allocator_traits::pointer std::allocator_traits::pointer_to(std::allocator_traits::value_type&);
[Bug libstdc++/57263] std::set with user-defined allocator - compile error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263 --- Comment #1 from Hristo Venev --- Created attachment 30104 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30104&action=edit A nice and short testcase
[Bug libstdc++/57641] New: std::timed_mutex.try_lock_until() is broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57641 Bug ID: 57641 Summary: std::timed_mutex.try_lock_until() is broken Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com It uses the duration since the time_point's clock's epoch. What if it's not the right clock? Different clocks may have different epochs. On my computer, the function works OK if the time_point is from high_resolution_clock but doesn't work if it's from steady_clock.
[Bug libstdc++/57641] std::timed_mutex.try_lock_until() is broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57641 --- Comment #2 from Hristo Venev --- Am I very stupid, or is #include #include using Clock=std::chrono::steady_clock; int main(){ std::timed_mutex m; m.lock(); Clock::time_point tp=Clock::now()+std::chrono::seconds(2); if(m.try_lock_until(tp)) return 1; return 0; } supposed to run for ~2s and return 0? With clang++ -stdlib=libc++ it works as I expect. With clang++ -stdlib=libstdc++ and with g++ it returns 1 after 0.001s. The result is the same for std::chrono::high_resolution_clock. The test from cppreference.com is very similar. http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_until What the hell is going on?
[Bug c++/57771] New: g++ misinterprets >> in static_cast
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57771 Bug ID: 57771 Summary: g++ misinterprets >> in static_cast Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com template struct s{}; s(4>>2)> x; This works in C++98 mode but fails in C++11 mode. Maybe g++ misunderstands >> as closing angle brackets, but this does not make sense because they are in (). clang++ compiles this code. This looks like bug 37875 but for casts.
[Bug c++/53786] New: [C++11] alias template causes g++ segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53786 Bug #: 53786 Summary: [C++11] alias template causes g++ segfault Classification: Unclassified Product: gcc Version: 4.7.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mustrum...@gmail.com template class list{ public: template using tail_=list; using tail=tail_; }; using l=list; will make gcc 4.7.1 segfault test.cpp:5:32: internal compiler error: Segmentation fault
[Bug c++/53786] [C++11] alias template causes g++ segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53786 --- Comment #2 from Hristo Venev 2012-06-30 15:19:29 UTC --- Reduced: template class list{}; template using tail=list; template using tail2=tail;
[Bug c++/58708] New: string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 Bug ID: 58708 Summary: string literal operator templates broken Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com The character type should be unqualified (char32_t instead of const char32_t). Wide character types are broken. U"
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #1 from Hristo Venev --- Obviously bugzilla doesn't like unicode. U"\x1\x10001\x10002" current: expected:
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #3 from Hristo Venev --- #include template void operator""_foo(){ CharT arr[]{str...}; for(CharT i:arr) std::cout<<(int)i<<' '; } int main(){ U"\x1\x10001\x10002"_foo; } Current output: "0 0 1 0 1 0 1 0 2 0 1 0 0 0 0 " Expected output: "65536 65537 65538 " Without the \0, char32_t's instead of bytes. The author of the paper intended CharT to be unqualified.
[Bug target/58792] [4.9 Regression] ICE at mode-switching.c:421 when compiling clang lib/AST/MicrosoftCXXABI.cpp
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58792 Hristo Venev changed: What|Removed |Added Status|RESOLVED|NEW Resolution|FIXED |---
[Bug target/58792] [4.9 Regression] ICE at mode-switching.c:421 when compiling clang lib/AST/MicrosoftCXXABI.cpp
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58792 Hristo Venev changed: What|Removed |Added Attachment #31044|0 |1 is obsolete|| --- Comment #8 from Hristo Venev --- Created attachment 31092 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31092&action=edit Reduced testcase b.cpp: In function ‘int f(int)’: b.cpp:7:1: internal compiler error: in create_pre_exit, at mode-switching.c:422 GCC fails to compile gcc libstdc++-v3/libsupc++/eh_terminate.cc. libstdc++-v3/libsupc++/eh_terminate.cc: In function ‘void (* std::set_terminate(std::terminate_handler))()’: libstdc++-v3/libsupc++/eh_terminate.cc:85:1: internal compiler error: in create_pre_exit, at mode-switching.c:422
[Bug libstdc++/59072] New: errc values are platform dependent but are used in error_condition
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59072 Bug ID: 59072 Summary: errc values are platform dependent but are used in error_condition Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com Linux: errc::address_family_not_supported is 97. FreeBSD: errc::address_family_not_supported is 47. n3690 system_error synopsis: errc::address_family_not_supported is 1. Not that platform independent.
[Bug c++/53786] [C++11] alias template causes g++ segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53786 --- Comment #4 from Hristo Venev 2012-12-19 13:51:08 UTC --- That bug was fixed. However there is still another one: template struct List{}; template using Tail=List; template using Tail2=Tail; using A=Tail2; fail.cpp: In substitution of ‘template using Tail = List [with T = int; Ts = char]’: fail.cpp:6:24: required by substitution of ‘template using Tail2 = Tail [with Ts = {int, char, char}]’ fail.cpp:7:30: required from here fail.cpp:4:23: error: template argument 1 is invalid using Tail=List; ^ In the diagnostic it is said that in the instantiation of Tail Ts is char, it should be {char, char} - a list of types, not a single type. Additionally when `using A=Tail2<>;` (which is invalid) the compiler still crashes.
[Bug libstdc++/65348] New: libstdc++ gdb pretty printer: Use relative imports
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65348 Bug ID: 65348 Summary: libstdc++ gdb pretty printer: Use relative imports Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com --- a/libstdc++v3/python/libstdcxx/v6/__init__.py +++ b/libstdc++v3/python/libstdcxx/v6/__init__.py @@ -16,7 +16,7 @@ import gdb # Load the pretty-printers. -from printers import register_libstdcxx_printers +from .printers import register_libstdcxx_printers register_libstdcxx_printers(gdb.current_objfile()) # Load the xmethods if GDB supports them. @@ -28,5 +28,5 @@ return False if gdb_has_xmethods(): -from xmethods import register_libstdcxx_xmethods +from .xmethods import register_libstdcxx_xmethods register_libstdcxx_xmethods(gdb.current_objfile())
[Bug c/63878] New: Variables of incomplete type can be defined with -fno-fat-lto-objects
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63878 Bug ID: 63878 Summary: Variables of incomplete type can be defined with -fno-fat-lto-objects Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: mustrumr97 at gmail dot com a.c: struct a x; gcc -flto -fno-fat-lto-objects -c a.c # ok gcc -flto -ffat-lto-objects -c a.c # fail I think this should always be rejected.
[Bug tree-optimization/60899] undef reference generated with -fdevirtualize-speculatively
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60899 Hristo Venev changed: What|Removed |Added CC||mustrumr97 at gmail dot com --- Comment #11 from Hristo Venev --- This bug also affects gcc 4.9.1. It causes LLVM to fail to build.
[Bug ipa/61555] [4.9/4.10 Regression] LLVM build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61555 Hristo Venev changed: What|Removed |Added CC||mustrumr97 at gmail dot com --- Comment #3 from Hristo Venev --- In the LLVM codebase getOption() is defined but still not written in the object file. The reduced test case is wrong. Why can't I reopen this bug?