Thanks GCC
1
Name:
Anonymous
2009-09-01 7:36
assert(strcmp(magic, "TEST") == 0);
gcc -E
((__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (magic) && __builtin_constant_p ("TEST") && (__s1_len = strlen (magic), __s2_len = strlen ("TEST"), (!((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("TEST") + 1) - (size_t)(const void *)("TEST") == 1) || __s2_len >= 4)) ? __builtin_strcmp (magic, "TEST") : (__builtin_constant_p (magic) && ((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) && (__s1_len = strlen (magic), __s1_len < 4) ? (__builtin_constant_p ("TEST") && ((size_t)(const void *)(("TEST") + 1) - (size_t)(const void *)("TEST") == 1) ? __builtin_strcmp (magic, "TEST") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("TEST"); register int __result = (((__const unsigned char *) (__const char *) (magic))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (magic))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (magic))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (magic))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("TEST") && ((size_t)(const void *)(("TEST") + 1) - (size_t)(const void *)("TEST") == 1) && (__s2_len = strlen ("TEST"), __s2_len < 4) ? (__builtin_constant_p (magic) && ((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) ? __builtin_strcmp (magic, "TEST") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (magic); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("TEST"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("TEST"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("TEST"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("TEST"))[3]); } } __result; }))) : __builtin_strcmp (magic, "TEST")))); }) == 0) ? (void) (0) : __assert_fail ("__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (magic) && __builtin_constant_p (\"TEST\") && (__s1_len = strlen (magic), __s2_len = strlen (\"TEST\"), (!((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((\"TEST\") + 1) - (size_t)(const void *)(\"TEST\") == 1) || __s2_len >= 4)) ? __builtin_strcmp (magic, \"TEST\") : (__builtin_constant_p (magic) && ((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) && (__s1_len = strlen (magic), __s1_len < 4) ? (__builtin_constant_p (\"TEST\") && ((size_t)(const void *)((\"TEST\") + 1) - (size_t)(const void *)(\"TEST\") == 1) ? __builtin_strcmp (magic, \"TEST\") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (\"TEST\"); register int __result = (((__const unsigned char *) (__const char *) (magic))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (magic))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (magic))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (magic))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (\"TEST\") && ((size_t)(const void *)((\"TEST\") + 1) - (size_t)(const void *)(\"TEST\") == 1) && (__s2_len = strlen (\"TEST\"), __s2_len < 4) ? (__builtin_constant_p (magic) && ((size_t)(const void *)((magic) + 1) - (size_t)(const void *)(magic) == 1) ? __builtin_strcmp (magic, \"TEST\") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (magic); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (\"TEST\"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (\"TEST\"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (\"TEST\"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (\"TEST\"))[3]); } } __result; }))) : __builtin_strcmp (magic, \"TEST\")))); }) == 0", "test.c", 446, __PRETTY_FUNCTION__));
2
Name:
GCC
2009-09-01 7:43
3
Name:
Anonymous
2009-09-01 7:51
4
Name:
Anonymous
2009-09-01 8:38
GCC is a great compiler. A bit messy, but great. I love __attribute__ stuff and C internals. I love C runtimes and low level stuff. I'm a GOOD OF HACKING.
5
Name:
Anonymous
2009-09-01 8:39
also s/GOOD/GOD/g even if using only one "O" is for faggots.
6
Name:
Anonymous
2009-09-01 8:41
What does that do? I can't read it.
7
Name:
Anonymous
2009-09-01 9:03
o
O /`-.__
/ \.'^|
o T l *
_|-..-|_
O (^ '----' `) I CONJURE THE SPIRITS
`\-....-/^ OF MY COMPUTER WITH MY SPELLS!
O o ) "/ " ( /
_( (-) )_
O /\ ) ( /\
/ \( ) | \
o o \) ( / \
/ |( )| \
/ o \ \( / \
__.--' O \_ / .._ \
//|)\ , (_) /(((\^)'\
| | O ) ` |
| / o___ / /
/ _.-''^^__O_^^''-._ /
.' / -''^^ ^^''- \--'^
.' .`. `'''----'''^ .`. \
.' / `'--..____..--'^ \ \
/ _.-/ \ \
.::'_/^ | | `.
.-'| | `-.
_.--'` \ / `-.
/ \ / `-._
`'---..__ `. .`_.._ __ \
``'''`. .' `'^ `''---'^
`-..______..-'
8
Name:
Anonymous
2009-09-01 11:54
>>7
Prepare to be BUTTSORTED!
[b] [i] o O /`-.__ / \.'^| o T l * _|-..-|_ O (^ '----' `) I CONJURE THE SPIRITS `\-....-/^ OF MY COMPUTER WITH MY SPELLS! O o ) "/ " ( / _( (-) )_ O [o] /[/o]
) ( [u] /[/u]
/ \( ) | [o] [/o]
o o \) ( / [o] [/o]
/ |( )| [o] [/o]
/ o [u] [/u]
\( / [o] [/o]
__.--' O \_ / .._ [o] [/o]
[u] //|)[/u]
, (_) [o] /(((\^)'[/o]
| | O ) ` | | / o___ / / / _.-''^^__O_^^''-._ / .' / -''^^ ^^''- \--'^ .' .`. `'''----'''^ .`. [o] [/o]
.' / `'--..____..--'^ [o] [/o]
[u] [/u]
/ _.-/ [o] [/o]
[u] [/u]
.::'_/^ | | `. .-'| | `-. _.--'` [o] [/o]
/ `-. / [o] [/o]
/ `-._ `'---..__ `. .`_.._ __ [u] [/u]
``'''`. .' `'^ `''---'^ `-..______..-' [/i] [/b]
9
Name:
Anonymous
2009-09-01 11:58
o O /`-.__ / \.'^| o T l * _|-..-|_ O (^ '----' `) I CONJURE THE SPIRITS `\-....-/^ OF MY COMPUTER WITH MY SPELLS! O o ) "/ " ( / _( (-) )_ O / ) ( / / \( ) | o o \) ( / / |( )| / o \( / __.--' O \_ / .._ //|) , (_) /(((\^)' | | O ) ` | | / o___ / / / _.-''^^__O_^^''-._ / .' / -''^^ ^^''- \--'^ .' .`. `'''----'''^ .`. .' / `'--..____..--'^ / _.-/ .::'_/^ | | `. .-'| | `-. _.--'` / `-. / / `-._ `'---..__ `. .`_.._ __ ``'''`. .' `'^ `''---'^ `-..______..-'
10
Name:
Anonymous
2009-09-01 12:04
>>8
>>9
Oh shit, you melted the SICP wizard with a buttsort!
11
Name:
Anonymous
2009-09-01 12:27
>>8
BBCode:failure Abort, Retry, Cocks?
12
Name:
Anonymous
2009-09-01 12:53
13
Name:
Anonymous
2009-09-01 13:29
14
Name:
Anonymous
2009-09-01 16:48
>>8,9
I'd say that was a buttsort...
*puts on glasses*
The output looks like ass.
YEAAAAAAAAAAAAAAAH!
15
Name:
Anonymous
2009-09-02 5:40
>>14
*grabs dick*
YEAHHHHHHHHHHHHHHHHHH
16
Name:
Anonymous
2009-09-02 5:54
C is the best language ever. There is nothing C cannot do.[sup]1[/sup]
o
O /`-.__
/ \.'^|
o T l *
_|-..-|_
O (^ '----' `) I CONJURE THE SPIRITS
`\-....-/^ OF MY COMPUTER WITH C!
O o ) "/ " ( /
_( (-) )_
O /\ ) ( /\
/ \( ) | \
o o \) ( / \
/ |( )| \
/ o \ \( / \
__.--' O \_ / .._ \
//|)\ , (_) /(((\^)'\
| | O ) ` |
| / o___ / /
/ _.-''^^__O_^^''-._ /
.' / -''^^ ^^''- \--'^
.' .`. `'''----'''^ .`. \
.' / `'--..____..--'^ \ \
/ _.-/ \ \
.::'_/^ | | `.
.-'| | `-.
_.--'` \ / `-.
/ \ / `-._
`'---..__ `. .`_.._ __ \
``'''`. .'gnu `'^ `''---'^
`-..______..-'
-
References:
1. http://img.420chan.org/b/src/1251884950024.jpg
17
Name:
Anonymous
2009-09-02 6:14
18
Name:
Anonymous
2009-09-02 7:41
andrey@andrey-linux:~$ gcc -E -
#include <assert.h>
assert(strcmp(magic, "TEST") == 0);
ctrl-d
[include skipped]
# 2 "<stdin>" 2
((strcmp(magic, "TEST") == 0) ? (void) (0) : __assert_fail ("strcmp(magic, \"TEST\") == 0", "<stdin>", 2, __PRETTY_FUNCTION__));
andrey@andrey-linux:~$
19
Name:
Anonymous
2009-09-02 8:35
>>18
Don't bring facts into this, we're making fun of GNU software!
20
Name:
Anonymous
2009-09-02 9:29
>>19
I'm just humbly asking for a way to reproduce that.
21
Name:
Anonymous
2009-09-02 9:48
>>20
You have to enable
-f i b o n a c c i - b u t t s o r t during compilation.
It's available in the experimental branch.
22
Name:
Anonymous
2009-09-02 10:21
23
Name:
Anonymous
2009-09-02 11:38
I think GCC's a pretty cool guy, eh, provides macros longer than most code I've ever written and doesn't afraid of anything.
24
Name:
Anonymous
2009-09-02 11:39
25
Name:
Anonymous
2009-09-02 11:43
26
Name:
Anonymous
2009-09-02 14:50
>>22
Can't reproduce with 4.4.1.
$ gcc -E -finline-functions -finline-functions-called-once -finline-small-functions -fgnu89-inline -O2 - << EOF
#include <assert.h>
assert(strcmp(magic, "TEST") == 0);
Yields:
...
((strcmp(magic, "TEST") == 0) ? (void) (0) : __assert_fail ("strcmp(magic, \"TEST\") == 0", "<stdin>", 2, __PRETTY_FUNCTION__));
Status changed: INVALID
27
Name:
Anonymous
2009-09-03 2:36
>>26
Why are you adding all the flags in the first place, they are for compiler not preprocessor.
28
Name:
Anonymous
2009-09-03 5:33
>>26
Target: x86_64-unknown-linux-gnu
29
Name:
Anonymous
2009-09-03 7:14
>>28
Invalid status confirmed for both i386 and x86_64.
30
Name:
Anonymous
2009-09-03 8:38
>>26,29
For gcc4 you need to
#include <string.h> before assert.h. Confirmed for 4.3.3.
Yeah, I know, it sounds like trolling. That's what I call
GCC QUALITY .
31
Name:
Anonymous
2009-09-03 8:40
>>30
say it ain't so, bro
32
Name:
Anonymous
2009-09-03 11:31
>>30
Status: CLOSED
Changed resolution to: YOU ARE A FAGGOT
You know why? Here's a hint:
inlining
33
Name:
2010-10-26 6:24