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
--with-mpc=/opt/tools/m
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 s
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) fai
Hello,
on gcc-4.6.2/x64/linux:
template inline string format(const string& fmt,
TA&&... args) {
string_formatter f;
f.format(fmt, std::forward(args)...);
return f.get_result();
}
results in:
error: no matching function for call to 'forward(const char* const&)'
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
the current template-based detector in the
standard library and provide
a built-in function __is_convertible which would check such corner
cases in a much smarter way
than is possible with templates:
http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Type-Traits.html#Type-Traits
Best regards,
Piotr Wyderski
t via 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
Best regards,
Piotr Wyderski
hy is lock inc/dec worse than add/sub on Core2I7?
The only difference I know of is the way the carry flag
is handled.
Best regards,
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);
bool
ers
--enable-libgomp --enable-libssp
--enable-threads=posix --with-arch=core2 --with-tune=generic
--enable-libgcj-sublibs
Best regards
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
Best regards,
Piotr Wyderski
nable-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
ility.
And now the compiler works correctly, so it is tempting
to assume that the problem was related to SJLJ exceptions,
as you conjectured. Thanks!
Best regards
Piotr Wyderski
settings taken from the bundled gcc4
compiler from Cygwin pack in order to see what will happen.
Best regards
Piotr Wyderski
six
--enable-languages=c,c++ AM_CXXFLAGS=-w
Thread model: posix
gcc version 4.6.0 20100607 (experimental) (GCC)
Best regards
Piotr Wyderski
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
aul
Hsieh's one).
Best regards,
Piotr Wyderski
code bandwidth reduction. Is there something like
"#pragma nounroll" to selectively disable this optimization?
Best regards
Piotr Wyderski
so I can confirm 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
tructalias.o
I am not going 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
apologise you and
Dave for unnecessary investigation of the first part of
PR42880, which was obviously my fault.
Best regards
Piotr Wyderski
Paolo Carlini wrote:
> Sure. Maybe it's also worth reminding that submitters don't need to add
> explicitly themselves in CC.
It's the reason I asked -- I've been recently removed from CC.
So thanks for explanation.
Best regards
Piotr Wyderski
e aware of the status of several bugs,
so may I add myself to the CC list? Or is it supposed
to be used only by the fixers?
Best regards
Piotr Wyderski
;s a C extension, according to the documentation.
In C++ mode (-std=gnu++0x) the compiler does not
understand the "u = {.f = v}" statement. Is it a feature
or a bug? ;-)
Best regards
Piotr Wyderski
mp;v)));
}
but I expected char* to be allowed to alias anything.
Best regards
Piotr Wyderski
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.
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"?
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
gt; No - there might be some (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
ans.
Best regards
Piotr Wyderski
fa: 66 0f 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
is correct", but
it's better to ask in order 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
ed above -- 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
se() {};
};
which is the reason I dare to say the crippled version is useless.
What is the point of doing simple things in a complex way?
Best regards
Piotr Wyderski
is illegal because of 3 draft violations:
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 fi
Should I file a GCC bug report or adjust my code?
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
passed by pointer to a function which takes int*.
Don't know about trunk, as I just started building it.
Best regards
Piotr Wyderski
080625
I'll try to upgrade binutils and then repeat the build process.
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 --enable-shar
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
ated?
Best regards
Piotr Wyderski
Concepts have recently been removed from the C++0x Standard Draft.
Will the concepts branch be discontinued?
dig deeper into the subject and ask out a debbugger
for a passionate afternoon session?
Best regards
Piotr Wyderski
ads=posix
Best regards
Piotr Wyderski
not the recommended way.
Best regards
Piotr Wyderski
eer has been assigned to fix it.
So I would like to thank these fellows very much.
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
Best regards
Piotr Wyderski
ate 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
ast question: is the format
expected to stable in terms of GCC development?
Best regards
Piotr Wyderski
;
../../gcc/sdbout.c: In function 'sdbout_parms':
../../gcc/sdbout.c:1274: error: 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
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
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: may_co
nu_cxx::throw_allocator_base&)':
/home/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
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
r documentation will be appreciated.
Best regards,
Piotr Wyderski
*) Or, I should say "G++0x"...
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
the tree), 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
>>
>
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
or Core2:
__GCC_DCACHE_LEVELS 2
__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 all
token
rewritten 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
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()':
main.cpp:414
me
what should I do in order to get to the DWARF sections from this point?
Any documentation will be appreciated.
Best regards,
Piotr Wyderski
heir TLS values
very 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
2.html
Best regards
Piotr Wyderski
error.
/tmp//ccgioejq.s: line 549: 1252-142 Syntax error.
/tmp//ccgioejq.s: line 619: 1252-149 Instruction stwcx. is not implemented
in the current assembly mode COM.
/tmp//ccgioejq.s: line 654: 1252-149 Instruction lwarx is not implemented in
the current assembly mode COM.
Best regards
Piotr Wyderski
on would be backward compatible, because the result of
#if defined(__i386)
is the same as in the current compiler version.
Best regards
Piotr Wyderski
This email was checked on leaving Microgen for viruses,
royed at the very end? Is it a bug or a correct behaviour?
I don't see anything like attribute(deinit_priority), 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
Best regards
Piotr Wyderski
76 matches
Mail list logo