--- Comment #52 from rogerio at rilhas dot com 2010-08-14 13:17 ---
Do you really want me to go away? You are not using the right formula for that.
You know I have a problem and I can't resist. Everytime you post a message
you're just calling me back!
(In reply to comment #49)
--- Comment #53 from redi at gcc dot gnu dot org 2010-08-14 13:55 ---
(In reply to comment #52)
(In reply to comment #51)
There you go, you are now famous.
http://en.wikipedia.org/wiki/GNU_Compiler_Collection#Criticism
Why did you remove the post? Do you think something
--- Comment #54 from redi at gcc dot gnu dot org 2010-08-14 14:25 ---
(In reply to comment #53)
GCC compiles that fine, try it.
Sorry, I forgot my manners, what I meant is...
Why don't you think before shooting off some crap.
So I have shown you talk crap. Do you like it?
Better get
--- Comment #55 from rogerio at rilhas dot com 2010-08-14 14:31 ---
(In reply to comment #53)
(In reply to comment #52)
(In reply to comment #51)
Look at the page history, it was removed by someone else, probably because
your
comment is badly written and not suitable for the
--- Comment #56 from rogerio at rilhas dot com 2010-08-14 14:34 ---
(In reply to comment #54)
(In reply to comment #53)
GCC compiles that fine, try it.
Sorry, I forgot my manners, what I meant is...
Why don't you think before shooting off some crap.
So I have shown you talk crap.
--- Comment #57 from redi at gcc dot gnu dot org 2010-08-14 15:09 ---
(In reply to comment #55)
(In reply to comment #53)
Look at the page history, it was removed by someone else, probably because
your
comment is badly written and not suitable for the Wikipedia page.
I
--- Comment #58 from rogerio at rilhas dot com 2010-08-14 16:02 ---
Why?? Why do you keep calling me back?? I was just going out and I heard the
new e-mail sound! Now I'm going to be late!!
(In reply to comment #57)
Good way to make a convincing argument. You've tried to turn this
--- Comment #59 from redi at gcc dot gnu dot org 2010-08-14 17:10 ---
(In reply to comment #58)
(is Chris your friend?)
Of course not. I have no idea who he is.
Are you confusing me with Michael? I've not said anything about LDT.
Yes I am. I'm sorry for that, I really am. I
--- Comment #34 from rogerio at rilhas dot com 2010-08-13 12:14 ---
(In reply to comment #33)
Not really, you could always subtract. However, far pointers gave
predictable addresses, just like C99 says they pointer arithmetic should.
They didn't. If you subtracted far pointers
--- Comment #35 from matz at gcc dot gnu dot org 2010-08-13 13:00 ---
char* p1=(char*)0x3000; // address not pointing to any C-object in the C99
sense
char* p2=(char*)0x4000; // address not pointing to any C-object in the C99
sense
Can GCC users trust that p2-p1 will always
--- Comment #36 from matz at gcc dot gnu dot org 2010-08-13 13:14 ---
If you include real segmentation
like on 80286, where there's no linear relationship between effective
address and segment+offset, subtraction would have been prohibitively
expensive to implement anyway.
--- Comment #37 from paolo dot carlini at oracle dot com 2010-08-13 13:31
---
(In reply to comment #36)
I'm not sure you realize just how true that is. But keep going, you're
by far one of the best trolls I've seen in GCC land.
Well, I can easily imagine more funny things to do,
--- Comment #38 from rogerio at rilhas dot com 2010-08-13 14:47 ---
(In reply to comment #36)
If you include real segmentation
like on 80286, where there's no linear relationship between effective
address and segment+offset, subtraction would have been prohibitively
--- Comment #39 from rogerio at rilhas dot com 2010-08-13 14:48 ---
(In reply to comment #35)
char* p1=(char*)0x3000; // address not pointing to any C-object in the C99
sense
char* p2=(char*)0x4000; // address not pointing to any C-object in the C99
sense
Can GCC users
--- Comment #40 from rogerio at rilhas dot com 2010-08-13 14:53 ---
(In reply to comment #37)
(In reply to comment #36)
I'm not sure you realize just how true that is. But keep going, you're
by far one of the best trolls I've seen in GCC land.
Well, I can easily imagine more
--- Comment #41 from matz at gcc dot gnu dot org 2010-08-13 15:18 ---
You should really adjust your glasses if you want to continue trolling with
the high standards we're used to meanwhile:
What in the words real segmentation like on 286, where there's no linear
relationship
--- Comment #42 from matz at gcc dot gnu dot org 2010-08-13 15:25 ---
[ ] Yes
[x] No
Thanks. The comunity will be alerted to this. I'll get back to you when
your name is in some famous place associated with this claim.
That's very good. Though I'm a bit confused because you
--- Comment #43 from rogerio at rilhas dot com 2010-08-13 16:28 ---
(In reply to comment #41)
You should really adjust your glasses if you want to continue trolling with
the high standards we're used to meanwhile:
What in the words real segmentation like on 286, where there's no
--- Comment #44 from rogerio at rilhas dot com 2010-08-13 16:30 ---
(In reply to comment #35)
char* p1=(char*)0x3000; // address not pointing to any C-object in the C99
sense
char* p2=(char*)0x4000; // address not pointing to any C-object in the C99
sense
Can GCC users
--- Comment #45 from redi at gcc dot gnu dot org 2010-08-13 16:32 ---
Congratulations. Are you done now?
What else are you hoping to achieve?
Is this a cry for attention?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #46 from rogerio at rilhas dot com 2010-08-13 16:42 ---
(In reply to comment #45)
Congratulations. Are you done now?
What else are you hoping to achieve?
Is this a cry for attention?
No much really. Now it is all up to the community. I just want everyone to know
that
--- Comment #47 from ubizjak at gmail dot com 2010-08-13 18:00 ---
OK, here is the deal:
Since you want this feature so much, I'm sure that everybody would gladly
implement it for you, for - say - measly 5000 EUR. You can then offer this
c-like compiler to the world and save the
--- Comment #48 from rogerio at rilhas dot com 2010-08-13 21:16 ---
(In reply to comment #47)
OK, here is the deal:
Since you want this feature so much, I'm sure that everybody would gladly
implement it for you, for - say - measly 5000 EUR. You can then offer this
c-like compiler to
--- Comment #49 from redi at gcc dot gnu dot org 2010-08-13 22:38 ---
Please, start a blog and write your views somewhere else. PLEASE.
You're rude, ignorant and annoying.
(In reply to comment #48)
of why it is important to be able to initialize classes as function
parameters
You
--- Comment #50 from redi at gcc dot gnu dot org 2010-08-13 22:40 ---
Oh, and if you do get people to understand that pointer arithmetic is not
always well-defined, that would be a good thing. There are other people who
share you're incorrect understanding of the C and C++ languages,
--- Comment #51 from matz at gcc dot gnu dot org 2010-08-14 01:26 ---
There you go, you are now famous.
http://en.wikipedia.org/wiki/GNU_Compiler_Collection#Criticism
Thank you, that's encouraging, I just hope the language of that article won't
be changed too much to also mention
--- Comment #1 from rogerio at rilhas dot com 2010-08-12 14:52 ---
Created an attachment (id=21469)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21469action=view)
Preprocessed file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #2 from rogerio at rilhas dot com 2010-08-12 14:52 ---
Created an attachment (id=21470)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21470action=view)
Compilation script
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #3 from rogerio at rilhas dot com 2010-08-12 14:54 ---
Correction:
If line char buffer[1000]; buffer[0]=0; _is removed then_ GCC then compiles
the code as expected and dif will be 4.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #4 from jakub at gcc dot gnu dot org 2010-08-12 15:08 ---
Pretty please, before filing further bugs take time and learn C.
The pointer subtraction triggers undefined behavior, because one pointer points
to one object and the other pointer points to different object.
See ISO
--- Comment #5 from schwab at linux-m68k dot org 2010-08-12 15:24 ---
ISO/IEC 9899:1999, 6.9.1 Function definitions
9. Each parameter has automatic storage duration. Its identifier is an lvalue,
which is in effect declared at the head of the compound statement that
constitutes the
--- Comment #6 from rogerio at rilhas dot com 2010-08-12 15:33 ---
(In reply to comment #4)
Pretty please, before filing further bugs take time and learn C.
The pointer subtraction triggers undefined behavior, because one pointer
points
to one object and the other pointer points to
--- Comment #7 from rogerio at rilhas dot com 2010-08-12 15:33 ---
(In reply to comment #5)
ISO/IEC 9899:1999, 6.9.1 Function definitions
9. Each parameter has automatic storage duration. Its identifier is an lvalue,
which is in effect declared at the head of the compound statement
--- Comment #8 from redi at gcc dot gnu dot org 2010-08-12 15:52 ---
(In reply to comment #6)
(In reply to comment #4)
Pretty please, before filing further bugs take time and learn C.
The pointer subtraction triggers undefined behavior, because one pointer
points
to one object
--- Comment #9 from schwab at linux-m68k dot org 2010-08-12 15:52 ---
The parameters contain copies of the argument values (6.9.1#10: as if by
assignment). The address of a parameter has no meaning.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #10 from matz at gcc dot gnu dot org 2010-08-12 16:00 ---
Ahh, it's just so entertaining.
C99 is a language, cdecl a calling convention. There is no 'cdecl compiler',
it makes no sense to speak about such a thing. cdecl is a calling convention
for function written in all
--- Comment #11 from rogerio at rilhas dot com 2010-08-12 16:04 ---
(In reply to comment #8)
(In reply to comment #6)
(In reply to comment #4)
Pretty please, before filing further bugs take time and learn C.
The pointer subtraction triggers undefined behavior, because one
--- Comment #12 from redi at gcc dot gnu dot org 2010-08-12 16:09 ---
Seriously, go away. I'll get far ruder if you're going to open bug reports
worded like this:
(In reply to comment #0)
Don't bother trying to understand why I need the operand to work as stated
in
C99, or why I
--- Comment #13 from pinskia at gcc dot gnu dot org 2010-08-12 16:09
---
diferent types?
He did not say different types but different objects. There is a difference
between objects and types. This comes down to:
a - b being undefined in C90/C99/C++98/C++03/C++0x because a and b are
--- Comment #14 from jakub at gcc dot gnu dot org 2010-08-12 16:11 ---
I never claimed p1 and p2 have different types. They have the same type.
But the standard paragraph I mentioned says:
When two pointers are subtracted, both shall point to elements of the same
array object, or one
--- Comment #15 from rogerio at rilhas dot com 2010-08-12 16:15 ---
(In reply to comment #14)
I never claimed p1 and p2 have different types. They have the same type.
But the standard paragraph I mentioned says:
When two pointers are subtracted, both shall point to elements of the
--- Comment #16 from redi at gcc dot gnu dot org 2010-08-12 16:17 ---
(In reply to comment #15)
char* p1=random_address();
char* p2=another_random_address();
p1-p2 is always well defined, no matter to which objects they point to.
No. No it isn't. It really isn't.
(In reply to
--- Comment #17 from rogerio at rilhas dot com 2010-08-12 16:18 ---
(In reply to comment #12)
Seriously, go away. I'll get far ruder if you're going to open bug reports
worded like this:
(In reply to comment #0)
Don't bother trying to understand why I need the operand to work as
--- Comment #18 from rogerio at rilhas dot com 2010-08-12 16:18 ---
You know what? I did a small sample showing this bug to other people. They all
understood it, but not you. They all know what it means C99+cdecl at the same
time. You don't. I'm surprised at your lack of capacity for
--- Comment #19 from redi at gcc dot gnu dot org 2010-08-12 16:20 ---
Everyone understands it, you're just wrong.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265
--- Comment #20 from dj at redhat dot com 2010-08-12 16:57 ---
Just for fun, I compiled this test case with various levels of optimization.
It works fine without optimization or with -O1, but segfaults at -O2 or -O3.
That indicates that the program only works by coincidence, not by
--- Comment #21 from froydnj at gcc dot gnu dot org 2010-08-12 17:08
---
Even without optimization (as the compilation script uses), the program
crashes. To be concrete about what's going wrong based on what the assembly
code actually looks like (GCC version Ubuntu 4.4.3-4ubuntu5):
--- Comment #22 from rogerio at rilhas dot com 2010-08-12 17:24 ---
(In reply to comment #21)
Even without optimization (as the compilation script uses), the program
crashes.
Right, that was the point of introducing the 1000-character buffer. With it it
crashes always.
To be
--- Comment #23 from rogerio at rilhas dot com 2010-08-12 17:25 ---
(In reply to comment #19)
Everyone understands it, you're just wrong.
No I'm not, the problem seems to be just to complex for you because you would
have to tie up C99+cdecl to understand, but you don't understand it
--- Comment #24 from rogerio at rilhas dot com 2010-08-12 17:50 ---
(In reply to comment #20)
I couldn't resist to comming back (you respond very quickly, kudos!, I'm not
used to that! :-)
Just for fun, I compiled this test case with various levels of optimization.
It works fine
--- Comment #25 from redi at gcc dot gnu dot org 2010-08-12 17:53 ---
(In reply to comment #23)
Maybe you do a good job when you quickly send them away after stamping it with
non-conformant, I don't know, but I expected a little more interest on your
part to make GCC better. I would
--- Comment #26 from rogerio at rilhas dot com 2010-08-12 18:04 ---
You opened this bug report with insults, what sort of response do you expect?
GCC is too crappy and amateur for your awesome code, so I suggest you stick to
better compilers.
Will do, thanks.
... and sorry for my
--- Comment #27 from matz at gcc dot gnu dot org 2010-08-12 18:05 ---
Oh, this fun. Enjoyable, really! ;-)
So, you admit that MSVC does in fact miscompile your perfectly fine cdecl
code, if you request optimization from it? How bad is that of them?
Terrible! I would consider
--- Comment #28 from dj at redhat dot com 2010-08-12 18:08 ---
I built your test case with gcc and g++ without optimizations, and it worked
fine. I could only get it to fail with gcc/g++ by optimizing, but then, I
could get it to fail with MSVC by optimizing. Seems to me, gcc and MSVC
--- Comment #29 from rogerio at rilhas dot com 2010-08-12 18:24 ---
(In reply to comment #27)
Oh, this fun. Enjoyable, really! ;-)
Again I couldn't resist! Everytime I'm ready to go away you say something
shocking that I simply can«t resist. Its time for me to admit I have a problem!
--- Comment #30 from pinskia at gcc dot gnu dot org 2010-08-12 18:27
---
you can't even begin to understand how to make a temporary variable an l-value.
Please look up move constructors and rvalue references. move constructors
are not standard C++ code but the C++ standard committee
--- Comment #31 from rogerio at rilhas dot com 2010-08-12 18:32 ---
(In reply to comment #28)
I built your test case with gcc and g++ without optimizations, and it worked
fine.
Just like my script? I noticed that I'm using a not-the-newest GCC version, and
I know that some older
--- Comment #32 from rogerio at rilhas dot com 2010-08-12 18:38 ---
(In reply to comment #30)
you can't even begin to understand how to make a temporary variable an
l-value.
Please look up move constructors and rvalue references. move constructors
are not standard C++ code but the
--- Comment #33 from matz at gcc dot gnu dot org 2010-08-12 18:56 ---
Don't talk about what you don't know, you clearly know much less about the
old days than me.
Well, I'll grant you that you know many wondrous and astounding facts,
indeed. Let me just answer one random sentence
59 matches
Mail list logo