Hi,
I noticed N2756 is not on the gcc c++0x status page (probably because
it's new). Any ideas if and when this would be implemented? It would
be life-changing.
class A {
public:
A() { }
private:
int x = 5;
int y = 0;
};
_t = other; }
private:
TYPE _t;
};
template
class defaulted_ptr
{
public:
defaulted_ptr() : _t(0) { }
operator TYPE * & () { return _t; }
TYPE * & operator =(const TYPE * &other) { _t = other; }
private:
TYPE * _t;
};
int main()
{
defaulted a;
defaulted_ptr
me sort of protocol in gcc, so that any
unimplemented library function uses #warning or static_assert(0,"regex
not implemented") to not to confuse any future users? I don't think
gcc should provide headers that compile but don't do anything.
Thank you for the existing c++0x, Love it,
Chris
hat the name of the type is "T".)
Note that this is an ABI change for any code that uses these. I
agree that it seems cleaner to just disallow this practice entirely,
particularly if it is a recent invention. In any case, having the
compiler reject code that does not or will not work is a much better
position to be in than silently miscompiling code.
-Chris
er 4 above, and also use it to generate the option parsing bits of
the front end.
Cheers,
Chris
# A --> Boption A implies option B
# A --> B C option A implies options B and C
# A && B --> C options A and B together imply C
# A <-- Boption A is impli
Chris Pickett wrote:
I have attached the graph. I am asking for one or more people to
comment on its correctness, and what I consider to be errors, as
indicated in comments.
I did this against 4.1.1. I just looked at the trunk invoke.texi, and I
see it has changed a bit, so just to be
es will interact with each other, i.e. they are not
orthogonal, and a good way to manage the effects is at a higher level,
as opposed to having individual passes communicating with each other.
Chris
orget:
5) running 4 GCC processes at once at -O3 runs out of memory and
starts swapping, limiting me to -j2 or -j3 on a 2G 4-core box.
This is helped with threading.
-Chris
are we not generating a QImode shift instruction?
Consider when c = 16. With the (required) integer promotion, the
result is defined (the result is zero). If converted to QImode, the
shift would be undefined, because the (dynamic) shift amount would be
larger than the data type.
-Chris
strictly defined behavior like this, use Java or another
similar language, and be prepared to pay the performance hit when
targeting a machine without semantics that match your expectations.
OTOH, when targeting hardware that does properly handle oversized
shift amounts, GCC should certainly perform this transformation.
-Chris
On Dec 18, 2006, at 9:24 AM, Robert Dewar wrote:
Chris Lattner wrote:
Sorry, but you're incorrect. While it may be "logical" that
shifting a value left more bits than its size will give you zero,
this is not what C specifies.
I am puzzled, what exactly *does* C speci
On Dec 18, 2006, at 9:53 AM, Robert Dewar wrote:
Chris Lattner wrote:
C99 says:
The integer promotions are performed on each of the operands. The
type of the result is
that of the promoted left operand. If the value of the right
operand is negative or is
greater than or equal to the
to 31 (or 63 if
64-bit mode and REX.W is used)."
Thus, the transformation is safe in this specific case on i386.
However, shifting a 32-bit value left by 33 bits would not be safe.
-Chris
Gerald Pfeifer wrote:
Chris,
I see you have not received any response to this yet, so let me give
it a try.
Thanks! I unsubscribed from the list and was surprised to see this in
my inbox. Please continue to CC me on replies.
On Sat, 28 Oct 2006, Chris Pickett wrote:
5. Fix what I have
t
actually makes any measureable difference.
Would anyone be interested in this being added as a command line argument?
Thank you,
Chris
Manuel López-Ibáñez wrote:
On 10 Jan 2007 05:47:19 +0100, Gabriel Dos Reis
<[EMAIL PROTECTED]> wrote:
Chris Pickett <[EMAIL PROTECTED]> writes:
I assume the -Wno-xxx that are set by default would be moved to the
"default" section?
No. Warnings that are not active by
I can tell, Manuel's original response was saying that one
should not list -Wno-strict-prototypes in the default section on the
basis of -Wstrict-prototypes not being default.
Thanks,
Chris
Chris Pickett wrote:
Gabriel Dos Reis wrote:
| > I assume the -Wno-xxx that are set by default would be moved to the
| > "default" section?
If you meant something else in addition, can you give an example?
I'm not subscribed to the list and so I missed Tom's messa
split into -Wconversion and -Wtraditional-conversion?
Thanks,
Chris
# A --> Boption A implies option B
# A --> B C option A implies options B and C
# A && B --> C options A and B together imply C
# A <-- Boption A is implied by option B.
# A <-- B ||
Chris Pickett wrote:
I have a question: does -Wextra now imply -Wconversion since
-Wconversion was split into -Wconversion and -Wtraditional-conversion?
I mistakenly thought it was under -Wextra. So the question should be,
does -Wtraditional now imply -Wtraditional-conversion since
w that it traps. It would be very bad
if the compiler eliminated the trap, since it is the presence of the
trap that keeps the function from returning.
Nothing with side effects before an 'unreachable' can be removed,
including an asm. Consider if the asm called a no-return function.
-Chris
On Mar 2, 2007, at 7:57 AM, Ian Lance Taylor wrote:
[ Moving from gcc-patches to gcc ]
Chris Lattner <[EMAIL PROTECTED]> writes:
The LLVM dev policy does not to try to define common sense. It is a
rough guideline which can be deviated from when it makes sense.
"Trust but verify&q
3 will require fewer
changes,
but the majority of the work is going to have to be done anyway.
I believe the point being made was about compile times, not conformance.
-Chris
have been created. Any ideas how to
circumvent this?
Best wishes,
Chris
ons like -malign-double, -march, etc.
-Chris
*delete* is seen of a class without a virtual dtor (but that does have
virtual methods). If you never actually do the questionable behavior,
you'd never get the warning. It seems like a bug to emit it for the class
definition.
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
fires on a superset of the cases, I'd prefer
the former. Warning "late" may just be a synonym for warning only where
there is a problem, as opposed to in every translation unit that includes
the header. :)
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
On Fri, 4 Mar 2005, Mark Mitchell wrote:
Chris Lattner wrote:
Age-old debate: better to warn early about possibly broken interfaces, or
late about definitely broken usage? I think that warning early, together
with what DJ is calling fine-grained warning control is the best solution.
I don
On Fri, 4 Mar 2005, Mark Mitchell wrote:
Chris Lattner wrote:
I'm not sure I understand your point here. The library developer writes a
class, and does not *want* it to be destroyed through the base class. As a
library designer, I can intentionally make the dtor protected, making it
p
lso printf("%f",pow(0.0,0.0)) returns 1.0 on both VC++6 and g++
3.3 (just what I happen to have lying around..)
I would agree with Paolo that the most imporant point is arguably
consistency, and it looks like that is pow(0.0,0.0)=1
Chris
-BEGIN PGP SIGNATURE-
Version: G
re you can
approach it and be equal 1. Therefore it is probably best to leave it
undefined.
What we are debating here isn't really maths at all, just the definition
which will be most useful and least suprising (and perhaps also what
various standards tell us to use).
Chris
re you can
approach it and be equal 1. Therefore it is probably best to leave it
undefined.
What we are debating here isn't really maths at all, just the definition
which will be most useful and least suprising (and perhaps also what
various standards tell us to use).
Chris
to hook it in is unwind.inc, but that does not
have access to the current function tree, so we can't tell if instrumentation
is enabled or not.
Thank you,
- Chris Kirby
At 10:08 AM 4/13/2005 -0400, Andrew Pinski wrote:
>On Apr 13, 2005, at 10:06 AM, Chris Kirby wrote:
>
>>We are trying to use -finstrument-functions to do some custom profiling on
>>x86 and ppc.
>>
>>For normal code execution, it works fine, calling our entry a
t the site
(which I already have) or contact you.
Thanks,
Chris Miller
LynuxWorks Tech Pubs
-Original Message-
From: Chris Miller [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 12, 2005 5:08 PM
To: [EMAIL PROTECTED]
Cc: Cmiller (E-mail)
Subject:GNU Mailing Lists Quest
Hi. I just sent you two e-mails in which I said James Blair recommended that I
do so. I'm forwarding this response to you to clarify that the recommendation
came to me from someone who was "acting on behalf" of James Blair.
Thanks,
Chris Miller
LynuxWorks Tech Pubs
-O
ook at
the site (which I already have) or contact you.
Thanks,
Chris Miller
LynuxWorks Tech Pubs
-Original Message-
From: Chris Miller [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 12, 2005 5:09 PM
To: [EMAIL PROTECTED]
Cc: Cmiller (E-mail)
Subject:GNU Mailing Lists Q
0,
hard_frame_pointer_rtx),
Pmode);
*/
DECL_SAVED_TREE (fndecl) = tf;
}
- Chris
At 10:08 AM 4/13/2005 -0400, Andrew Pinski wrote:
>On Apr 13, 2005, at 10:06 AM, Chris Kirby wrote:
>
>>We are trying
ithout the locks, the compiler is free to only load *b once (and in
fact gcc does so). Is the addition of the locks sufficient to force *b
to be re-read each time, or do I need to declare it as
volatile int *b;
Thanks,
Chris
Chris Friesen wrote:
I'm not sure who I should address this to...I hope this is correct.
If I share memory between two processes, and protect access to the
memory using standard locking (fcntl(), for instance), do I need to
specify that the memory is volatile? Or is the fact that I
Mike Stump wrote:
On May 4, 2005, at 10:59 AM, Chris Friesen wrote:
If I share memory between two processes, and protect access to the
memory using standard locking (fcntl(), for instance), do I need to
specify that the memory is volatile?
It is safer to. People might compile your whole app
Diego Novillo wrote:
On Wed, May 04, 2005 at 01:47:20PM -0600, Chris Friesen wrote:
Also, what about threads and pthread locking? Do I need to use volatile
there? If not, then what about using pthread locking between processes?
Things will only break for you when GCC pulls in function bodies
Diego Novillo wrote:
On Wed, May 04, 2005 at 02:47:14PM -0600, Chris Friesen wrote:
In multiple messages to comp.programming.threads he has stated that
volatile is not necessary between threads if you use the posix locking
functions, and in fact that one of the main purposes of the posix locks
Mike Stump wrote:
On May 4, 2005, at 12:47 PM, Chris Friesen wrote:
One problem with using volatile is that it can destroy performance.
Gosh, I was going to elaborate and give the more complete answer, but
decided against it, I was wrong.
Heh...sorry. I've been trying to figure out
-576.obj~23, GNU assembler
version 1.38
% ld -v
Test results posted to gcc-testresults.
-Chris
--
Christopher Douty <[EMAIL PROTECTED]> +1-650-367-3129
Senior Engineer, Software & Systems - AMPEX Data Systems Corp.
]
Chris
...?
If you can get it going, I'd advise also trying boost, it uses alot of
language features and will be a good test (although make sure you
compare results again x86, as some tests do fail on various versions of
gcc).
Chris
proper tail calls (as often requested by the
functional language community), a new interprocedural sparse constant
propagation pass, a new instruction selection framework, and many other
nice new features.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
program fails
without -ffast-math.
Chris
e of 2*pi, your
answer wouldn't end up accurate to anywhere near that many decimal
places. Floating point numbers approximate real numbers, and at the size
you are considering, the approximation contains values for which sin(x)
takes all values in the range [-1,1].
Chris
Next try documentation, installation. Talks about compiling again.
Finally, at download, binaries I find what I want. Seeing as I suspect
that is the link most people want when they first visit, it should
perhaps be a little more obvious, and in the main body near the top?
Chris
sation pass, a
spot of cleaning up old corners and clearing out old dusty cobwebs I'm
sure will be useful, and provides a method to get deeper into gcc.
Chris
f course by far the most convincing argument
:).
I have 4 completely different implementations of std::tr1::tuple lying
around somewhere, obviously only one was actually used, but the only
real way to know which would be best was to just write them and see how
they looked and worked.
Chris
nclusion to draw is that you've met some special people in
>a small part of the community.
>
>
>
I just had a quick quiz in the C++ IRC channel I was in, and very few
people there like info, and very few are comfortable using it. There was
a general agreement HTML, PDF and docbook are the best ways to recieve
documentation.
Chris
pointers which are from the
same allocation (be that an array, malloc, etc).
However, comparing pointers with < is something I do all the time when
writing various kinds of algorithms. For what reason would you want to
see it warned about?
Chris
cit-templates" \
LDFLAGS="-s" \
bootstrap
Any suggestions?
Thank you
Chris
Dave Murphy wrote:
Chris Garrett wrote:
I built 4.0.0 last week and thought I would update to 4.0.1. While
building 401 I got the following error:
--
gcc -c -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC -W
-Wall -Wwrite
This is not the correct mailing list for help using gcc, it is for help
developing gcc. Use gcc-help in future please.
Michael Gatford wrote:
>
>
>std::map::const_iterator functionIterator =
> quickfindtag.find(funcname);
put "typename" at the beginning of this line.
Chris
n a double returns 8 bytes, is there any way to find out that they
may end up being aligned to a 4-byte boundary?
Thanks,
-Chris
On Jul 22, 2005, at 11:27 AM, Dale Johannesen wrote:
On Jul 22, 2005, at 11:07 AM, Chris Lattner wrote:
I'm trying to determine (in target-independent code) what the
*minimum* target alignment of a type is. For example, on darwin,
double's are normally 4-byte aligned, but
On Jul 22, 2005, at 12:33 PM, Mike Stump wrote:
On Friday, July 22, 2005, at 11:07 AM, Chris Lattner wrote:
I'm trying to determine (in target-independent code) what the
*minimum* target alignment of a type is. For example, on darwin,
double's are normally 4-byte aligned, but
As RTH pointed out, it appears that there is no interesting minimum
that I can get.
Thanks all,
-Chris
On Jul 22, 2005, at 1:14 PM, Richard Henderson wrote:
On Fri, Jul 22, 2005 at 11:30:40AM -0700, Chris Lattner wrote:
Understood. I'm just looking for the minimum type alignment without
user alignment. It appears that this is impossible to get from the
targets, due to the way the ta
rovides is just a perk that people
with embedded devices (or other systems with constrained resources)
particularly enjoy.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
If you really need to just jump into it you can try Chinook
(http://www.degarrah.com/chinookfree.php). It's a cross platform IDE
that ships with GCC/GDB and is free.
Chris
louise kelliher wrote:
Hiya, im wondering if you could help me, Im at my wits end and need to
cover c programming b
ude/c++/4.0.1 and iostream exists in that
directory. Is there something I'm missing? Do you need to specify gcc's
include directories explicitly now?
Thank you
Chris
My system details:
WinXP Pro
GCC 3.4.1
Msys
config cmd:
~~
../gcc-4.0.1/configur
[EMAIL PROTECTED] wrote:
Chris Garrett <[EMAIL PROTECTED]> wrote:
main.cpp:5: error: 'cout' was not declared in this scope
This question should have been sent to gcc-help, not here.
Sorry about this. What criteria is there for posting to gcc vs gcc-help?
Bu
Mike Stump wrote:
Sorry about this. What criteria is there for posting to gcc vs gcc-help?
If you want to contribute to the source code of gcc, the compiler,
then those contributions go to gcc. If one is using gcc, those issues
go to gcc-help.
Ok Thank you
Chris
/Playland/projects/gnu/gcc-stuff/gcc-HEAD/configure --prefix=/
opt/gcc410 --enable-shared \
--with-mpfr=/opt/local --with-gmp=/opt/local --enable-
languages=c,ada,c++,f95,objc
Thanks,
Chris
--
Christopher Douty <[EMAIL PROTECTED]> +1-650-367-3129
Senior Engineer, Software & System
to the main gcc list, but I want to
submit such code to the debugging part of libstdc++-v3, and wanted to
check if any optimisations may make use the fact comparing pointers from
different arrays is undefined.
Thank you,
Chris
or returned by
list.end() as a "NULL" iterator.
Chris
t; cvs checkout. Check around locally, maybe you can find `throwaways'
> in the 4GB-15GB range.
>
>
> throwaways - what a person that likes to upgrade every 3-5 years
> throws out, because its too slow/small to do anything with.
Could you just find one to fit in my iBook please. I'll send you my
address. Thanks.
Chris
atch "other compilers", and that there will be false
positives (e.g. double diamond patterns), but for many uses this is
perfectly fine (other compilers warn about the same cases, so these cases
already have initializers).
This is just MHO, but I know that many other developers are in a similar
boat.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
On Wed, 2 Nov 2005, Jeffrey A Law wrote:
On Wed, 2005-11-02 at 12:01 -0600, Chris Lattner wrote:
[ ... big snip ... ]
For users like myself, I would really like to have an option to switch the
unused var warning to be emitted from the *front-end* where it works when
compiling with optimization
and the existing version be enabled with a new flag.
However, I don't feel strongly about this, and as long as there is a way
to turn the "front-end" version on and the existing one off. Bonus points
if it can be done without causing issues with older GCC's. :-)
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
Bernhard R. Link wrote:
* Chris Lattner <[EMAIL PROTECTED]> [051102 19:28]:
Jeff Law wrote:
>> I prefer consistency in warnings, regardless of optimization level.
>I disagree and I think we have a significant contingency of
>users that would disagree
Jeff, I completely
ith the functionality you desire than to reinvent a
whole new way of doing things.
That said, wanting to stay as close as possible to gimple is a
reasonable design point, and LLVM certainly isn't that.
-Chris
er, this proposal differs from the other
two in that it is already largely implemented and works. Finally,
there is no reason that multiple different approaches cannot be
developed in parallel, if people desire such an approach.
Thoughtful feedback appreciated,
-Chris
References
Daniel Jacobowitz writes:
As describe above, we won't support every target that GCC currently
does. Three options are possible:
Chris tells me that an LLVM->GIMPLE translator wouldn't have target
dependencies. I'm not 100% sure I buy that, but I'll take it as giv
ees, and making them work really
well for front-ends could be a follow-on project.
Only the Ada frontend seems to be in a state to maybe support direct frontend
IR to LLVM translation.
Sure, also maybe Fortran?
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
On Sat, 19 Nov 2005, Joseph S. Myers wrote:
On Fri, 18 Nov 2005, Chris Lattner wrote:
1. The build system is taught about C++ code.
With toplevel bootstrap this will bootstrap libstdc++ so that the compiler
ends up linked with the new libstdc++ not the (in general
ABI-incompatible) old one
C
(though I could be confusing Toon's program with another one).
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
On Sun, 20 Nov 2005, Steven Bosscher wrote:
On Saturday 19 November 2005 18:56, Chris Lattner wrote:
Only the Ada frontend seems to be in a state to maybe support direct
frontend IR to LLVM translation.
Sure, also maybe Fortran?
I wouldn't count on it...
Can you explain what you
ont-end use of trees. :)
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
On Tue, 22 Nov 2005, Joseph S. Myers wrote:
On Sat, 19 Nov 2005, Chris Lattner wrote:
This is a direct result of the representation that you are proposing to use
for IPA. LLVM is *always* capable of merging two translation units correctly,
So compilation options which change the semantics
i.e. replacing everything from GIMPLE -> assembly,
would involve a lot of starting from scratch. e.g. your later example
of limited target support. One of the options Chris proposed is
an optional GIMPLE -> LLVM -> GIMPLE process, in which:
Correct. I think that this is, by far, the
invest these resources. Would you want
to tell Apple they can't do this even though they can? ;-)
:)
But what are the
timelines? What resources are needed?
Interesting questions. Both projects obviously will take significant
effort. But IIUC Chris has bits of the LLVM stuff alread
y work at Apple at least, compile-times are a very important
part of the work (and one of the direct motivators).
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
ork into the main GCC tree. It can be disabled by default while
in progress if desired, but are we going to make everyone interested in it
use the Apple branch?
The biggest technical problem I see with LLVM is actually the debug
info. Frankly, I'm not sure I even want to consider LLVM un
d reading
it back in at compile-time.
Although promising on some things (as Diego said), LLVM exectue and
compile performance is a mixed bag.
As I mentioned before, the X86 backend does not currently produce stellar
code. The PPC backend is better, and the whole thing is a moot point if
we
don't go too hard on
me. ;-) Again, suggestions for improvements are welcome.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
a C compiler
and using extern "C" around the headers works just fine.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
il this is finalized.
I would definately like to get this process running, but unfortunately
it will have to wait until January. The main person I have to talk to has
gone to India for Christmas, so I can't really start the process until
January. Yes, I'm incredibly frustrated
聂久焘 wrote:
> The C++ standard said Container::size() should have constant complexity
> (ISO/IEC 14882:1998, pp. 461, Table 65), while the std::list::size() in
> current STL of GCC is defined as { std::distance(begin(), end()); }, whose
> complexiy is O(n).
>
> Is it a bug?
>
>
This question wo
only a factor of two with all that going
on, I think that's pretty impressive. :)
I don't think this would be standard procedure in an integrated LLVM.
Chris, how would one compare compile times? Not using -Wl,-native-cbe
implies emitting bytecode, right?
Correct, if you're ti
intend to cover in time (if
noone else ends up helping) but will come after debug info and other
things are complete.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
On Wed, 23 Nov 2005, Ian Lance Taylor wrote:
Chris Lattner <[EMAIL PROTECTED]> writes:
You will need to get University of Illinois and
past/present LLVM developers to assign the copyright over to the FSF.
Yes, you've claimed it's easy, but it needs to be done. Otherwise, we a
, double} seems wrong
for almost all targets except for PPC and MIPS which uses almost
the same 128bit fp encoding.
Thanks for the feedback! I will address these in the patch I actually
propose for submission.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
aying that it should be *different* than the
one used for optimization.
-Chris
ny of them are backend specific (e.g. the various nodes for the
vectorizer). Having the front-end and the back-end using the same
enum *will* have a short term cost if the size of the tree enum field
needs to be increased.
-Chris
1 - 100 of 351 matches
Mail list logo