[Bug c++/56838] New: GCC svn doesn't compile libreoffice 4.0.1.2

2013-04-04 Thread mustrumr97 at gmail dot com

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

2013-04-04 Thread mustrumr97 at gmail dot com

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

2013-04-04 Thread mustrumr97 at gmail dot com


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

2013-05-13 Thread mustrumr97 at gmail dot com
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

2013-05-13 Thread mustrumr97 at gmail dot com
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

2013-06-18 Thread mustrumr97 at gmail dot com
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

2013-06-18 Thread mustrumr97 at gmail dot com
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

2013-07-01 Thread mustrumr97 at gmail dot com
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

2012-06-27 Thread mustrumr97 at gmail dot com
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

2012-06-30 Thread mustrumr97 at gmail dot com
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

2013-10-12 Thread mustrumr97 at gmail dot com
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

2013-10-13 Thread mustrumr97 at gmail dot com
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

2013-10-13 Thread mustrumr97 at gmail dot com
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

2013-10-26 Thread mustrumr97 at gmail dot com
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

2013-10-26 Thread mustrumr97 at gmail dot com
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

2013-11-10 Thread mustrumr97 at gmail dot com
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

2012-12-19 Thread mustrumr97 at gmail dot com

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

2015-03-08 Thread mustrumr97 at gmail dot com
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

2014-11-14 Thread mustrumr97 at gmail dot com
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

2014-06-27 Thread mustrumr97 at gmail dot com
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

2014-06-27 Thread mustrumr97 at gmail dot com
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?