I have a set of the required libraries built and installed into
separate directories, so when gcc is configured with:
../configure --prefix=/opt/tools/gcc-4.8.1
--with-gmp=/opt/tools/gmp-5.1.2 --with-mpfr=/opt/tools/mpfr-3.2.1
--with-mpc=/opt/tools/mfr=/opt/tools/mpfr-3.2.1
Dodji Seketeli wrote:
That, and [dcl.typedef]/6 says:
In a given scope, a typedef specifier shall not be used to redefine
the name of any type declared in that scope to refer to a different
type.
So, I tend to think that GCC is right here.
Right *where*? In case of the snippet
The following snippet:
class A {};
class B : public A {
typedef A super;
public:
class X {};
};
class C : public B {
typedef B super;
class X : public super::X {
typedef super::X super;
};
};
compiles without a warning on Comeau and MSVC, but GCC (4.6.1 and
4.7.1)
Hello,
on gcc-4.6.2/x64/linux:
template typename... TA inline string format(const string fmt,
TA... args) {
string_formatter f;
f.format(fmt, std::forwardTA(args)...);
return f.get_result();
}
results in:
error: no matching function for call to 'forward(const
Best regards,
Piotr Wyderski
Paolo Carlini wrote:
The issue may even be known or already fixed in mainline and 4.6.
I confirm, the issue has already been fixed on the released version of 4.6.
It exists on gcc versions 4.5.1 (official release) and 4.6.0 20100609
(experimental) (GCC).
Best regards,
Piotr Wyderski
some attribute or
pragma? Of course a full-blown
platform-specific variant of the source code is possible, but as the
vectorizer does a good job
(relatively to its limited knowledge), I would prefer to help it
instead of reimplementing the vector.
Best regards
Piotr Wyderski
,
Piotr Wyderski
Hello,
I'm not sure if it should be better handled as missed optimization,
but there is a certain lack of functionality in the GCC's __sync_*
function family.
When implementing a reference counting smart pointer, two operations
are of crucial importance:
void __sync_increment(T* p);
than add/sub on Core2I7?
The only difference I know of is the way the carry flag
is handled.
Best regards,
Piotr Wyderski
-symvers
--enable-libgomp --enable-libssp
--enable-threads=posix --with-arch=core2 --with-tune=generic
--enable-libgcj-sublibs
Best regards
Piotr Wyderski
,
Piotr Wyderski
The problem was caused by ulimits, so please ignore my report.
I feel sorry for generating spurious input -- the platform is totally insane.
Best regards
Piotr Wyderski
-interwork
--enable-multilib --enable-languages=c,c++
Best regards,
Piotr Wyderski
Andre Majorel wrote:
Those are among the most useful pages of the site, it makes no
sense to bury them 4+ levels deep.
Google is your friend: when asked for g++ c++0x it returns
the correct page as the first result. I always use it that way,
because website messiness appears to be a de facto
it is tempting
to assume that the problem was related to SJLJ exceptions,
as you conjectured. Thanks!
Best regards
Piotr Wyderski
.
The same used to happen with GCC 4.5 experimental
in its early development days, but later started to work
again. Is it a known issue of GCC or Cygwin? Has
anyone managed to get a working 4.6 build on Cygwin?
Best regards,
Piotr Wyderski
=c,c++ AM_CXXFLAGS=-w
Thread model: posix
gcc version 4.6.0 20100607 (experimental) (GCC)
Best regards
Piotr Wyderski
will happen.
Best regards
Piotr Wyderski
Hsieh's one).
Best regards,
Piotr Wyderski
. Is there something like
#pragma nounroll to selectively disable this optimization?
Best regards
Piotr Wyderski
that the problem exists.
Best regards
Piotr Wyderski
H.J. Lu wrote:
Default to SSE2 is a good first step.
I concur; all the programs I'm working on
require SSE2 and are not supposed to be
back-portable to SSE or fpu. Simply too
many vital optimizations require that ISA.
Best regards
Piotr Wyderski
to formally report these issues, as the testcases
are BIG, but IMHO there is no hurry to release 4.5, as it has
great chances to become a disaster, despite the fact of its wonderful
C++0x support.
Best regards
Piotr Wyderski
myself to the CC list? Or is it supposed
to be used only by the fixers?
Best regards
Piotr Wyderski
of the first part of
PR42880, which was obviously my fault.
Best regards
Piotr Wyderski
*(reinterpret_castconst char*(v)));
}
but I expected char* to be allowed to alias anything.
Best regards
Piotr Wyderski
=gnu++0x) the compiler does not
understand the u = {.f = v} statement. Is it a feature
or a bug? ;-)
Best regards
Piotr Wyderski
Since it is possible to use the 0b prefix
to specify a binary number in GCC/C++,
will there be any resistance to add %b
format specifier to the printf family format
strings?
Best regards
Piotr Wyderski
Paolo Carlini wrote:
This has absolutely nothing to do with GCC and its development, you
understand.
You sure? Isn't the implementation of printf formatting engine a part
of GCC support libraries and doesn't adding an extension to it
belong to the category development?
Paolo Carlini wrote:
The C library, to which library printf belongs, is not part of the GCC
project.
In that case it certainly isn't a GCC issue.
regards
Piotr Wyderski
(tentative) plan for some parts of the compiler
and ideas what should implemented first
That would be more than enough, but where can I find that?
I read this list rather carefully, however not much information
of that kind is disclosed here.
Best regards
Piotr Wyderski
f6 f7 psadbw %xmm7,%xmm6
4011fe: 0f 84 be 00 00 00 je 4012c2
__Z8popcountPKU8__vectorxjj+0x172
The second cmp is superfluous, as the SSE instructions in between
do not modify CC.
Are these known issues?
Best regards
Piotr Wyderski
to be sure.
Best regards
Piotr Wyderski
. Additionally, the function __cxa_get_globals()
seems not to be is not exported by the runtime.
Best regards
Piotr Wyderski
-- but I thought
that it was a GCC issue, not a change in the Standard.
Best regards
Piotr Wyderski
GCC-4.5-trunk/Cygwin ICEs in the following way:
/opt/gcc-trunk/lib/gcc/i686-pc-cygwin/4.5.0/include/c++/bits/unique_ptr.h:233:5:
internal compiler error: in finish_member_declaration, at
cp/semantics.c:2416
I can't provide a testcase.
Best regards
Piotr Wyderski
version is useless.
What is the point of doing simple things in a complex way?
Best regards
Piotr Wyderski
Trunk 154492 is uncompilable on Cygwin because
of incorrect data types in LTO. It compiles with the
attached fixes, but I have no write access to the
repository. Could someone please apply them?
Best regards
Piotr Wyderski
Index: gcc/lto-streamer-out.c
report or adjust my code?
Best regards
Piotr Wyderski
:
Base() shall be public, but is not
~Base() shall be public, but is not
~Base() shall not be virtual, but it is
IMHO this severely cripples defaulted functions,
making them almost useless -- the set of allowed
cases is too narrow. Is there any chance to fix the DR?
Best regards
Piotr Wyderski
*.
Don't know about trunk, as I just started building it.
Best regards
Piotr Wyderski
An attempt to build either gcc-trunk or the most recent
snapshot (20091119) with Cygwin (the build compiler
is either GCC 4.4.0 or 4.5-20090604), configured as:
$ ../configure --prefix=/opt/gcc-4.5-20091119 -v --enable-bootstrap --enable-ve
rsion-specific-runtime-libs --enable-shared
binutils and then repeat the build process.
Best regards
Piotr Wyderski
is unimportant anyway. Why has the trap instruction been generated?
Best regards
Piotr Wyderski
Paolo Bonzini wrote:
Usually this is because you have code with undefined behavior, that the
compiler cannot make sense of.
Yes, you were right, that was the case indeed. Thank you Paulo.
Best regards
Piotr Wyderski
Concepts have recently been removed from the C++0x Standard Draft.
Will the concepts branch be discontinued?
and ask out a debbugger
for a passionate afternoon session?
Best regards
Piotr Wyderski
it is not the recommended way.
Best regards
Piotr Wyderski
=posix
Best regards
Piotr Wyderski
;
if (e == E::elem);
return 1;
}
g++ -std=c++0x tc1.cpp
tc1.cpp: In function 'int main()':
tc1.cpp:6: error: invalid operands of types 'E' and 'E' to binary 'operator=='
Best regards
Piotr Wyderski
regards
Piotr Wyderski
expected to stable in terms of GCC development?
Best regards
Piotr Wyderski
is pointed to by a pointer during
RTTI processing, especially in the context of exception handling? Is there
a type_info for type_info, e.g. an enum?
Best regards
Piotr Wyderski
On gcc-trunk my project fails with the following ICE. Whatever it means...
/home/piotr.wyderski/topnotch/vm/test/main.cpp: In function 'int
main(int, char**)':
/home/piotr.wyderski/topnotch/vm/test/main.cpp:32: error: Wrong
prev_try pointer in EH region 123
Eh tree:
100 catch tree_label:L141
Richard Guenther wrote:
Please file a bugreport in bugzilla and attach preprocessed source.
Impossible, the source code is proprietary. But perhaps
I can try to prepare a simplified testcase though...
Best regards
Piotr Wyderski
: enum conversion when passing argument 2 of 'elim
inate_regs' is invalid in C++
../../gcc/reload.h:346: note: expected 'enum machine_mode' but argument is of ty
pe 'int'
Best regards
Piotr Wyderski
/piotr.wyderski/build/gcc-4.5-20090402/objdir/i686-pc-cygwin/libstdc++-v3/i
nclude/ext/throw_allocator.h:289: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Exactly the same happens on trunk.
Best regards
Piotr Wyderski
Dave Korn wrote:
Gah, yes of course, you showed the config in your first post. Well, that's
the problem.
Confirmed, with --enable-threads=posix the compiler builds correctly.
Best regards, Piotr
.
Best regards,
Piotr Wyderski
*) Or, I should say G++0x...
Manuel López-Ibáñez wrote:
Anyway, the documentation is there http://gcc.gnu.org/onlinedocs/
Yes, this is the official documentation I read frequently.
Anything not documented there is likely to change or be removed
in the future, so you should not rely on it.
I can afford the process of
that it is not allowed to declare a type within a cast.
I've temporarily replaced it with
#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(X))
and that solved the issue, however, a cleaner patch should be applied.
Best regards,
Piotr Wyderski
), so somebody else
should include the fix.
During what part of compilation is CONST_CAST2 a problem?
Stage 3 in libstdc++
Richard.
Best regards,
Piotr Wyderski
to:
static const std::size_t len = 16;
std::uint8_t v[128] __attribute__((__aligned__(len)));
results in:
error: requested alignment is not a constant
One needs to introduce a preprocessor macro SIMD_VECTOR_SIZE
just in order to fix this particular issue.
Best regards
Piotr Wyderski
__GCC_ICACHE_LEVELS 2
__GCC_DCACHE_LINE_SIZE1 64
__GCC_DCACHE_LINE_SIZE2 64
__GCC_DCACHE_ASSOCIATIVITY1 8
__GCC_DCACHE_ASSOCIATIVITY2 12
etc. It would help in a lot of cases, e.g. lock-free algorithms, false
sharing avoidance, alignment calculations in custom allocators etc.
Best regards,
Piotr
Hi,
I have an auto-duration only class X in C++0x:
class X {
void* operator new(std::size_t) = delete;
void operator delete(void*) = delete;
public:
virtual ~X() {}
};
But GCC 4.4 fails to compile it:
main.cpp: In destructor 'virtual X::~X()':
in order to get to the DWARF sections from this point?
Any documentation will be appreciated.
Best regards,
Piotr Wyderski
often).
Now, for an idea of how much work it represents... perhaps someone
here can tell us?
I don't know much about GCC internals, but I use my own
implementation based on inline assembly and the implementation
took, hm, 20 minutes?
Best regards
Piotr Wyderski
Best regards
Piotr Wyderski
.
Best regards
Piotr Wyderski
)
is the same as in the current compiler version.
Best regards
Piotr Wyderski
This email was checked on leaving Microgen for viruses, similar
malicious code and inappropriate content by MessageLabs SkyScan
), so how can I obtain
the
latter deinitialization order (nifty counters etc. are not allowed, because
third-party libraries do not include them)?
Best reagrds
Piotr Wyderski
regards
Piotr Wyderski
74 matches
Mail list logo