←2009-11-26 2009-11-27 2009-11-28→ ↑2009 ↑all
00:00:05 <oerjan> <oklokok> damn oerjan with his leavings <-- MWAHAHAHA
00:00:10 -!- yiyus has joined.
00:08:24 * oerjan realizes that norwegians have no humor, or no.no.no would exist
00:13:58 -!- augur has quit (Read error: 110 (Connection timed out)).
00:17:50 <yiyus> he
00:20:32 <yiyus> mycroftiv: hi! i did not expect to find you here
00:26:45 -!- madbr has joined.
00:26:46 <madbr> hey
00:43:40 -!- oerjan has quit ("leaving").
00:45:28 -!- Pthing has quit (Remote closed the connection).
00:56:57 <oklokok> oerjan: oh wait fuck :D
00:57:46 <oklokok> not being online is cruel
00:57:49 <oklokok> ->
01:11:24 -!- quantumEd has quit (Remote closed the connection).
01:11:48 -!- quantumEd has joined.
02:43:10 -!- Azstal has quit (Read error: 110 (Connection timed out)).
03:04:47 <mycroftiv> yiyus: hey yiyus, I ended up here fairly serendipitously, its a fascinating channel
03:04:56 <quantumEd> hello
03:42:06 -!- lament has quit (farmer.freenode.net irc.freenode.net).
03:43:00 -!- lament has joined.
04:55:25 -!- augur has joined.
05:15:43 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
05:15:54 -!- puzzlet has joined.
05:28:25 -!- augur has quit (Read error: 110 (Connection timed out)).
06:38:24 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
06:38:25 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
06:47:39 -!- madbr has quit ("Radiateur").
06:59:37 -!- quantumEd has quit ("Leaving").
07:22:01 -!- quantumEd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:03 -!- Slereah has joined.
08:17:03 -!- Gracenotes has joined.
08:36:17 -!- Asztal has joined.
09:25:23 -!- Azstal has joined.
09:37:20 -!- Asztal has quit (Read error: 110 (Connection timed out)).
09:51:46 -!- quantumEd has quit ("Leaving").
10:07:55 -!- Azstal has quit (farmer.freenode.net irc.freenode.net).
10:07:55 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
10:07:57 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
10:09:31 -!- Azstal has joined.
10:09:31 -!- Slereah has joined.
10:09:31 -!- Gracenotes has joined.
11:55:43 <AnMaster> heh, http://klee.llvm.org is really amazing
11:57:00 <AnMaster> though quite buggy still, and quite a pain to compile properly. Similar to the state clang was in about half a year ago
12:08:36 -!- oerjan has joined.
12:09:17 <oerjan> <oklokok> not being online is cruel <-- yes. yes it is.
12:22:41 -!- kar8nga has joined.
12:34:16 <oklokok> no it isn't
12:34:57 <oerjan> hello oklokok's evil twin
12:35:21 <oklokok> i would say mwahahaha, but i'm not sure i'm *that* evil
12:35:30 <oerjan> MWAHAHAHA
12:35:47 <oklokok> anyway i think i should sleep, kind of did math all night
12:36:10 <oerjan> sleep is good, if you can afford it
12:36:43 <AnMaster> oerjan, iwc!
12:36:55 <oerjan> indeed
12:46:55 -!- Pthing has joined.
13:17:21 -!- coppro has quit (Read error: 145 (Connection timed out)).
14:12:00 -!- Pthing has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Azstal has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
14:16:44 -!- Slereah has joined.
14:16:57 -!- Pthing has joined.
14:16:58 -!- Asztal has joined.
14:17:20 -!- Gracenotes has joined.
14:33:33 -!- BeholdMyGlory has joined.
15:15:04 <AnMaster> hm how many possible befunge-98 programs of length 10 is there? Assume for the sake of the discussion that only deterministic instructions defined in befunge-98 with no fingerprints loaded (or being loaded) are of interest (so [A-Zmlh?()] are forbidden, as is everything above codepoint 127 and anything below codepoint 32 (except codepoint 10, which is \n)
15:15:22 <AnMaster> "length 10" here means input file length in bytes
15:17:58 <oerjan> n to the power 10, whatever n is
15:18:58 <oerjan> n = n.o. commands
15:19:00 <AnMaster> hm right
15:19:08 <oerjan> except: string mode
15:19:16 <AnMaster> oerjan, what about ' then?
15:19:25 <oerjan> which makes your exceptions unreasonable
15:19:28 <AnMaster> that is like a "one-off string mode"
15:20:07 <AnMaster> Example: 'x@ pushes x then exits
15:20:40 <oerjan> which means you may need dataflow analysis to determine whether a program is legal
15:20:51 <AnMaster> oerjan, how so?
15:20:53 <AnMaster> hm
15:20:58 <AnMaster> well yeah with g and p
15:21:16 <oerjan> because you don't know whether a particular character will be executed as a command
15:21:30 <AnMaster> oerjan, nor do you know if it will be replaced before you execute it or not
15:21:54 <AnMaster> hm
15:22:00 <oerjan> so you essentially have to run the program candidates to count them
15:22:55 -!- MigoMipo has joined.
15:23:24 <oerjan> for large enough values of 10 you should hit the halting problem there
15:24:05 <AnMaster> oerjan, "for large enough values of 10" heh
15:25:20 <AnMaster> well if all programs were allowed instead that would be (127-31+1)^10 then?
15:25:33 <AnMaster> (all that are defined in funge-98 that is)
15:25:50 <Deewiant> 'å is well defined
15:25:59 <AnMaster> Deewiant, not outside string mode
15:26:03 <oerjan> yeah
15:26:16 <Deewiant> 'å is well defined outside string mode; å isn't, yes
15:26:30 <AnMaster> Deewiant, ah yes missed that '
15:26:32 <AnMaster> well indeed
15:26:51 <oerjan> v
15:26:53 <Deewiant> Anyway, more than 127-31
15:26:54 <oerjan>
15:27:09 <AnMaster> Deewiant, for the sake of simplification (and not having to have a headache about if we use ISO-something or UTF-8 or whatever) however lets resume 127-31 right now
15:28:03 <Deewiant> And still, actually, å is well defined; it's equivalent to r
15:28:05 -!- lament has quit (farmer.freenode.net irc.freenode.net).
15:28:06 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
15:28:06 -!- kar8nga has quit (farmer.freenode.net irc.freenode.net).
15:28:07 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- Rembane has quit (farmer.freenode.net irc.freenode.net).
15:28:10 -!- AnMaster has quit (farmer.freenode.net irc.freenode.net).
15:28:10 -!- Warrigal has quit (farmer.freenode.net irc.freenode.net).
15:28:11 -!- BeholdMyGlory has quit (farmer.freenode.net irc.freenode.net).
15:28:11 -!- Asztal has quit (farmer.freenode.net irc.freenode.net).
15:28:12 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
15:28:12 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
15:28:13 -!- ineiros has quit (farmer.freenode.net irc.freenode.net).
15:28:13 -!- Gregor has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- Pthing has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- sebbu2 has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- oklokok has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
15:28:22 -!- olsner has quit (farmer.freenode.net irc.freenode.net).
15:28:22 -!- MigoMipo has quit (farmer.freenode.net irc.freenode.net).
15:28:23 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
15:28:24 -!- jix has quit (farmer.freenode.net irc.freenode.net).
15:28:28 -!- jix has joined.
15:28:50 -!- lament has joined.
15:29:00 -!- lament has quit (farmer.freenode.net irc.freenode.net).
15:29:12 -!- jix has quit (farmer.freenode.net irc.freenode.net).
15:29:15 -!- Gracenotes has joined.
15:29:15 -!- Pthing has joined.
15:29:15 -!- sebbu2 has joined.
15:29:15 -!- cal153 has joined.
15:29:15 -!- SimonRC has joined.
15:29:15 -!- oklokok has joined.
15:29:15 -!- mycroftiv has joined.
15:29:15 -!- HackEgo has joined.
15:29:15 -!- olsner has joined.
15:29:38 -!- jix has joined.
15:29:39 -!- lament has joined.
15:29:58 -!- BeholdMyGlory has joined.
15:29:58 -!- Asztal has joined.
15:29:58 -!- Slereah has joined.
15:29:58 -!- kar8nga has joined.
15:29:58 -!- oerjan has joined.
15:29:58 -!- puzzlet has joined.
15:29:58 -!- Warrigal has joined.
15:29:58 -!- AnMaster has joined.
15:29:58 -!- Rembane has joined.
15:29:58 -!- MizardX has joined.
15:29:58 -!- Gregor has joined.
15:29:58 -!- ineiros has joined.
15:29:58 -!- bsmntbombdood has joined.
15:29:58 -!- fizzie has joined.
15:29:58 -!- fungot has joined.
15:29:58 -!- Deewiant has joined.
15:29:58 -!- rodgort has joined.
15:29:58 -!- mtve has joined.
15:30:09 -!- Ilari has joined.
15:30:19 -!- Ilari has changed nick to Ilari_.
15:30:20 <AnMaster> if I'm right that means 73742412689492826049 or so. Which won't fit in a 64-bit variable (about 4 times too large)
15:31:31 -!- Ilari_ has changed nick to Ilari.
15:34:00 -!- mental has joined.
15:37:44 -!- MigoMipo has joined.
15:54:56 -!- quantumEd has joined.
16:00:16 -!- adam_d has joined.
16:28:57 -!- Slereah_ has joined.
16:29:21 -!- Slereah has quit (Read error: 145 (Connection timed out)).
16:34:18 -!- kar8nga has quit (Remote closed the connection).
16:40:00 -!- kar8nga has joined.
17:06:53 -!- adam_d_ has joined.
17:08:08 -!- adam_d__ has joined.
17:22:13 -!- oerjan has quit ("leaving").
17:24:19 -!- adam_d has quit (Read error: 110 (Connection timed out)).
17:27:39 -!- adam_d_ has quit (Read error: 113 (No route to host)).
17:37:29 -!- sebbu has joined.
17:40:27 -!- sebbu2 has quit (Read error: 60 (Operation timed out)).
18:07:40 -!- kar8nga has quit (Remote closed the connection).
18:25:14 -!- oklokok has quit (Read error: 60 (Operation timed out)).
18:33:07 -!- oklofok has joined.
18:34:44 -!- oklofok has set topic: don't ask to ask. http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:35:43 -!- adam_d__ has changed nick to adam_d.
18:55:20 -!- FireFly has joined.
18:55:58 <AnMaster> oklofok, may I ask if I can ask to ask?
19:08:28 <oklofok> yes
19:08:37 <oklofok> fine by me
19:10:24 <oklofok> well are you gonna?
19:19:21 -!- Gracenotes has quit ("Leaving").
19:23:55 <AnMaster> oklofok, no
19:24:13 <AnMaster> oklofok, I shall refuse to ask you to ask!
19:24:29 <AnMaster> And never will I ask the actual question.
19:24:54 <quantumEd> what is the actual question?
19:25:05 <quantumEd> you don't have to ask it I just wonder what it is
19:25:11 <AnMaster> You will _never_ know what it was! <maniacal laughter>
19:32:11 <AnMaster> hm are you new here quantumEd? Don't recall that nick in here before...
19:32:37 <quantumEd> im fax
19:32:42 <AnMaster> oh
19:33:11 <AnMaster> llvm asm sure is messy bte
19:33:12 <AnMaster> btw*
19:37:19 <Deewiant> Not really
19:37:29 <Deewiant> Only compiler-generated stuff :-P
19:39:41 <AnMaster> Deewiant, fair enough, but gcc generated x86 asm is quite easy to read for something like abs(), llvm asm for the same function is not
19:40:06 <Deewiant> Sounds like you're comparing a language you know and a language you don't
19:41:31 <AnMaster> Deewiant, there is a lot of metadata in llvm asm
19:41:33 <AnMaster> it seems
19:42:15 <Deewiant> define i32 @abs(i32 %x) nounwind readnone {
19:42:15 <Deewiant> entry:
19:42:15 <Deewiant> %neg = sub i32 0, %x; <i32> [#uses=1]
19:42:15 <Deewiant> %abscond = icmp sgt i32 %x, -1; <i1> [#uses=1]
19:42:15 <Deewiant> %abs = select i1 %abscond, i32 %x, i32 %neg; <i32> [#uses=1]
19:42:18 <Deewiant> ret i32 %abs
19:42:20 <Deewiant> }
19:42:36 <AnMaster> Deewiant, what about stuff like:
19:42:48 <AnMaster> tail call void @llvm.dbg.stoppoint(i32 34, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
19:42:59 <Deewiant> That's debug info
19:43:06 <AnMaster> Deewiant, strange, because I'm using -g0
19:43:56 <AnMaster> oh I blame clang, with llvm-gcc I get much more reasonable output
19:44:10 <Deewiant> Are you sure clang interprets -g0 the way you think it does?
19:44:44 <AnMaster> Deewiant, I'm using "clang" not "clang-cc". "clang" claims to be gcc-compatible for command line purposes
19:44:50 <AnMaster> while clang-cc isn't
19:44:56 <Deewiant> Oh, I didn't know that
19:45:03 <AnMaster> Deewiant, at least according to docs
19:45:08 <AnMaster> how accruate they are I don't know
19:45:15 <AnMaster> $ clang --help
19:45:15 <AnMaster> OVERVIEW: clang "gcc-compatible" driver
19:45:19 <AnMaster> I do trust that however :P
19:45:23 <Deewiant> It's in quotes, note :-P
19:45:36 <Deewiant> As in "kinda" gcc-compatible
19:45:44 <AnMaster> dropping -g0 didn't help either
19:46:01 <Deewiant> Well that's weird
19:46:41 <AnMaster> Deewiant, on the other hand, I'm used to llvm being buggy. In fact: being buggy is one of the defining traits of llvm. (Another one is "being cool")
19:47:06 <Deewiant> That doesn't sound buggy, that sounds completely messed up :-P
19:48:31 <AnMaster> Deewiant, oh you mean like his output: http://sprunge.us/BjQS
19:48:35 <AnMaster> Deewiant, another llvm tool
19:48:38 <AnMaster> cool but buggy
19:48:42 <AnMaster> and yeah partly messed up
19:48:53 <AnMaster> (can you spot the "wtf" in that?)
19:48:58 <Deewiant> Klee? Never used it, beats me
19:49:09 <AnMaster> Deewiant, can you spot the wtf though?
19:49:10 <Deewiant> Not really, no
19:49:21 <AnMaster> Deewiant, the wtf is embedding xml in a plain text file
19:49:29 <AnMaster> inside some BEGIN ... END blockj
19:49:30 <Deewiant> Doesn't look like XML to me
19:49:32 <AnMaster> block*
19:49:45 <AnMaster> Deewiant, SGML maybe
19:49:48 <Deewiant> Just notation for what output comes from what searcher
19:49:52 <Deewiant> I wouldn't call it XML
19:49:53 <AnMaster> </InterleavedSearcher>
19:49:53 <AnMaster> </BatchingSearcher>
19:49:59 <AnMaster> that thing looks XMLish at least
19:50:21 <Deewiant> Yeah, XMLish, sure
19:50:54 <AnMaster> Deewiant, oh and clang's static analyzer wrote the output as a .plist XML file. Why this OS X-ism?
19:51:17 <AnMaster> you might as well use gcc-xml or something equally insane
19:51:32 <Deewiant> Because they're Apple devs?
19:51:50 <AnMaster> Deewiant, I'm pretty sure it didn't use plist to begin with. Also they aren't all apple devs iirc
19:53:54 <AnMaster> Deewiant, also klee seems really cool. Very buggy still, and a pain to compile correctly (especially compiling the patched uclibc it uses was a pain).
19:54:01 <AnMaster> but cool. More so that clang even
19:55:08 <AnMaster> Deewiant, http://klee.llvm.org/
19:55:10 <Deewiant> Have you run cfunge through it yet? :-P
19:55:17 <Deewiant> Yes, I am aware of klee
19:56:56 <AnMaster> Deewiant, and yes I have been testing cfunge with it. Needed a lot of modifications though. Basically the modified version loads a symbolic-ised string directly into funge space instead, skipping the file completely. Because it seems mmap() isn't supported. Oh and I was unable to get the "symbolic file input" thing to work even with simple fopen() fread()
19:57:19 <AnMaster> Deewiant, so far I only hit klee bugs however
19:57:52 <Deewiant> Not surprising, it's pretty beta from what I understand
19:58:45 <AnMaster> Deewiant, oh and it will easily eat all your ram. How many do you have? On cfunge it passes 4 GB and starts wanting swap unless you cap it (in which case it tells you it skipped some paths due to that)
19:59:06 <Deewiant> I have 8
19:59:21 <AnMaster> Deewiant, I'm pretty sure it would pass that too fairly quickly
20:00:07 <AnMaster> for 5 random chars in the range 31-127 with mlh excluded
20:00:17 <AnMaster> err 32-127
20:00:21 <AnMaster> (inclusive)
20:01:29 <AnMaster> Deewiant, I think the "test failing system calls" mode will give more interesting results
20:01:34 <AnMaster> haven't got around to trying that yet
20:02:00 <AnMaster> oh and I'm fairly certain I hit a clang bug in how it handles certain warnings today.
20:02:08 <AnMaster> that's 2.6 clang not trunk clang though
20:02:20 <Deewiant> What bug?
20:03:32 <AnMaster> Deewiant, simple: make a function that doesn't return, annotate with __attribute__((noreturn)), turn on -Wmissing-noreturn (iirc that is how it is spelled), compile. Watch the warning about missing noreturn for the function that *has* the attribute show up
20:05:29 <Deewiant> Did you report it?
20:07:24 <oklofok> doesn't AnMaster consider not reporting stuff highly unethical
20:14:49 <Gregor> AnMaster: Example?
20:15:54 <Gregor> AnMaster: (I can't make it fail)
20:25:07 -!- kar8nga has joined.
20:31:52 -!- lament has quit (Nick collision from services.).
20:31:57 -!- mental has changed nick to lament.
20:40:52 -!- Sgeo has joined.
20:48:31 <AnMaster> <oklofok> doesn't AnMaster consider not reporting stuff highly unethical <-- yes, but I don't have time to check out svn and build atm
20:49:14 <AnMaster> <Gregor> AnMaster: Example? <-- compile cfunge bzr version with clang. Before it fails on inline asm due to pretending to be gcc and then refusing to accept gcc inline asm constraints it will report that
20:49:19 <AnMaster> or was it after? try make -k
20:49:34 <AnMaster> Gregor, and do you have 2.6 clang?
20:51:53 -!- pikhq has joined.
20:56:04 <AnMaster> well, now I hidden the asm for it. so if you pull cfunge it should compile on clang out of box. Still the spurious warning though
20:56:27 <AnMaster> oklofok, oh and if Gregor can't reproduce the bug, it is probably a local issue only.
21:02:21 -!- augur has joined.
21:02:32 <Gregor> Oh, clang :P
21:02:50 <Gregor> Oh, I see, it's a problem with gcc that clang reproduces.
21:03:02 <Gregor> Hypothetically. But I don't really want to go through that much work to repro it :P
21:05:12 <AnMaster> <Gregor> Oh, I see, it's a problem with gcc that clang reproduces. <-- eh?
21:05:41 <AnMaster> Gregor, and gcc doesn't give that when the function is marked with the attribute
21:05:42 <Gregor> If it happens with clang but not with my simple test case, then it's some convoluted situation under which it's reproduced.
21:05:56 <AnMaster> Gregor, what version of clang do you have?
21:06:00 <Gregor> None
21:06:12 <AnMaster> well
21:06:15 <AnMaster> that explains it
21:06:15 <AnMaster> duh
21:06:31 <AnMaster> as for simple test case, I didn't have time to try
21:06:40 * AnMaster is writing one now
21:06:46 <Gregor> I didn't read enough backlog :P
21:06:54 <Gregor> I just saw some compiler warning, saw that GCC has that flag, and then tried :P
21:08:18 <AnMaster> actually a simple test case with clang does it
21:09:22 <AnMaster> (horrible formatting for brevity on irc):
21:09:25 <AnMaster> #include <stdlib.h>
21:09:25 <AnMaster> __attribute__((noreturn)) void mynoret(void) {
21:09:25 <AnMaster> exit(0);
21:09:25 <AnMaster> }
21:09:25 <AnMaster> int main(void) {
21:09:25 <AnMaster> mynoret();
21:09:28 <AnMaster> }
21:09:42 <AnMaster> clang-noret.c:2:46: warning: function could be attribute 'noreturn' [-Wmissing-noreturn]
21:09:42 <AnMaster> __attribute__((noreturn)) void mynoret(void) {
21:09:42 <AnMaster> ^
21:09:46 <AnMaster> is what I get from clang
21:09:54 <AnMaster> Gregor, did that explain it?
21:10:02 * Gregor types "aptitude install clang" and is extremely surprised when nothing happens.
21:10:03 <AnMaster> gcc has the same flag
21:10:09 <Gregor> Right, hence my stupid :P
21:10:11 <AnMaster> but it does the right thing
21:11:07 <AnMaster> Gregor, what is the point of making your build system check if compiler claims to be gcc AND accepts a warning flag when other compilers claim to be gcc, accepts the flag but then reports the wrong thing
21:11:08 <AnMaster> :/
21:11:38 <Gregor> Well, 's broken.
21:12:00 <AnMaster> Gregor, true, it is worse when a feature just isn't supported even when it claims it should be.
21:12:04 <AnMaster> you end up with stuff like:
21:13:15 <AnMaster> (sorry got distracted by rl)
21:13:21 <AnMaster> second try:
21:13:53 <AnMaster> #if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
21:13:54 <AnMaster> and so on
21:14:13 <AnMaster> just because they claim to be gcc and then fail to handle inline asm constraints for gcc properly
21:14:18 <Gregor> That's always annoying
21:14:44 <pikhq> I really wish other compilers would stop defining __GNUC__. ... I also wish there were defines for certain features, rather than compiler version.
21:14:55 <Gregor> Yesh.
21:15:30 <AnMaster> exactly. and in my experience even when the compiler claims to be gcc it means it supports __attribute__ and possibly a few more things, but almost never all the details of inline asm
21:15:43 -!- Gracenotes has joined.
21:15:52 <AnMaster> pikhq, ah yes iirc clang had a good idea
21:15:56 <AnMaster> for that
21:16:20 <pikhq> In fact, I kinda consider a compiler defining __GNUC__ and not compiling something that GCC can a bug...
21:16:23 <AnMaster> #if __has_builtin(__builtin_trap)
21:16:25 <AnMaster> pikhq, ^
21:16:33 <AnMaster> and
21:16:42 <pikhq> Hooray, clang.
21:16:46 <AnMaster> __has_feature
21:17:03 <AnMaster> pikhq, just remember to check if __has_builtin and __has_feature are supported first!
21:17:09 <AnMaster> however they made it possible to do
21:17:14 <AnMaster> #ifndef __has_feature
21:17:19 <AnMaster> and such
21:17:37 <AnMaster> pikhq, still, as long as other compilers doesn't support it, it is fairly useless
21:18:10 <AnMaster> because clang is (not yet at least) the "standard" compiler on open source *nix systems
21:18:20 <AnMaster> (gcc is in practise)
21:18:21 <pikhq> GCC ought to add that.
21:18:28 <AnMaster> well yeah
21:19:11 <AnMaster> pikhq, except what if almost all details of a feature are supported?
21:19:25 <AnMaster> like, inline asm constraits, except the x87 floating point ones
21:19:31 <AnMaster> (this is a real world example!)
21:19:56 <pikhq> Bug report.
21:20:12 <AnMaster> pikhq, llvm-gcc and clang both currently doesn't support that, due to some underlying issues in how x87 floating point is handled in llvm
21:20:32 <AnMaster> iirc to be specific it is the "top of x87 stack" constraint that isn't handled
21:21:09 <AnMaster> pikhq, btw clang also added __has_include
21:21:27 <AnMaster> are they trying to move the mess of autotools into the C source files instead?
21:21:46 <pikhq> Maybe.
21:22:52 <AnMaster> http://clang.llvm.org/docs/LanguageExtensions.html <-- a few good ideas, a few bad ones. IMO
21:23:13 <pikhq> Language extensions tend to be like that.
21:23:28 <AnMaster> pikhq, why not just implement *good* ideas?
21:24:24 <pikhq> Because people suck at distinguishing good from bad?
21:25:36 <AnMaster> there is one icc extension I really really want in gcc. And that is the ability to say "hey! This pointer passed as a parameter points to block aligned on a n-byte boundary. So you don't need to consider generating code checking for that if you want to vectorize things based on it."
21:26:44 -!- ais523 has joined.
21:26:48 <AnMaster> hi ais523
21:27:15 <ais523> hi
21:29:42 <AnMaster> argh is there any way to force firefox to word wrap a plain text file? http://clang.llvm.org/docs/BlockLanguageSpec.txt is unreadable as it is
21:31:27 <AnMaster> hm opened it in a text editor instead
21:32:48 <AnMaster> pikhq, that block extension in clang thing seems similar in aim to gcc's nested functions
21:33:12 <AnMaster> err wait no
21:33:13 <AnMaster> I'm not sure
21:33:33 <AnMaster> I can only find a spec for it, no introduction meant for people who doesn't know what it is already
21:34:21 <pikhq> The block extension in Clang is lambda.
21:34:27 <AnMaster> ah
21:34:56 <AnMaster> pikhq, how does that interact with non-executable stacks?
21:34:58 <MizardX> AnMaster: Google Chorme uses these styles when encountering text/plain: <pre style="word-wrap: break-word; white-space: pre-wrap;"> ... you could probably apply it with some bookmarklet
21:35:07 <AnMaster> since gcc trampolines doesn't interact well at all with that
21:35:23 <pikhq> It's used by Apple's Grand Central Dispatch.
21:35:27 <AnMaster> MizardX, I suspect I could do it with firebug
21:35:28 * AnMaster tries
21:35:32 <AnMaster> well yeah
21:35:47 <pikhq> AnMaster: Probably "poorly".
21:35:51 <AnMaster> pikhq, Assume I don't own a mac, what is that thing you mentioned
21:35:57 <AnMaster> or rather
21:35:59 <AnMaster> I do own a mac
21:36:01 <AnMaster> it has os 9
21:36:18 <pikhq> It's the new parallelism API that Apple added to the most recent version of OS X.
21:36:56 <AnMaster> pikhq, oh? so in some way this is used to implement a high level threading API?
21:37:15 <pikhq> The various functions in it take lambda expressions as arguments.
21:37:17 <AnMaster> from my experience with C I have the say that that seems pretty hard
21:37:39 <AnMaster> pikhq, what about race conditions and mutexes and such then?
21:37:54 <pikhq> I'm not familiar with the details of it.
21:38:19 <pikhq> (I haven't bothered to set up a Darwin install to play with it.)
21:39:44 <AnMaster> I won't believe you can hide the synchronization details for threads in C until I see it.
21:40:29 <AnMaster> pikhq, so does this mean that apple switched their main compiler to be clang now?
21:40:58 <pikhq> They intend to.
21:41:02 <AnMaster> if so, I pitty all OS X users. Sure clang is getting really good now, but it is still far from as stable as gcc
21:41:10 <AnMaster> maybe in a year or so for C
21:41:13 <pikhq> I think that Apple-GCC also has support for blocks.
21:41:17 <AnMaster> ah
21:41:30 <AnMaster> then I pitty those apple developers who had to implement that :P
21:41:30 <pikhq> If it doesn't, then I *do* know that Grand Central Dispatch can also be used with function pointers.
21:41:59 <pikhq> Well, Apple *does* have a rather extensive patch set on GCC already...
21:42:20 <AnMaster> pikhq, I'm aware. That is one of the reasons llvm-gcc is so messy to get working on Linux
21:43:04 <AnMaster> pikhq, I had to rename the libstdc++ it compiled so it used the system one instead. Why? g++ wouldn't work otherwise.
21:43:34 <AnMaster> Why? I'm not completely sure, but it was looking for some symbol not defined in the llvm version, but that was defined in the system one. The system one being slightly newer
21:44:08 <AnMaster> but that also fixed an unrelated bug with gcc (which worked but gave a strange message on stderr every time)
21:44:24 <AnMaster> /home/arvid/local/llvm/2.6/libexec/gcc/x86_64-linux-gnu/4.2.1/cc1: Symbol
21:44:24 <AnMaster> `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation
21:44:36 <HackEgo> No output.
21:44:36 <AnMaster> (minus line break)
21:44:42 <AnMaster> oh and yes I reported that bug
21:44:49 <AnMaster> HackEgo, I'm not surprised
21:45:58 <AnMaster> pikhq, a extremely silly clang extension IMO is http://clang.llvm.org/docs/LanguageExtensions.html#analyzerattributes
21:46:31 <AnMaster> that analyzer_noreturn seems very strange.
21:47:23 <AnMaster> and no I don't agree with the reasoning for it
21:48:33 <AnMaster> Deewiant, btw about klee, I had to implement a "FIXME: TEMPORARY HACK" thing to make it able to handle cfunge at all. However the way I implemented it is about as hackish, so I'm reluctant about sending it upstream
21:48:56 <AnMaster> plus I suspect it may run into issues with C++ memory handling
21:49:01 <AnMaster> *shudder*
21:49:49 -!- MigoMipo has quit.
23:05:50 -!- kar8nga has quit (Remote closed the connection).
23:25:33 -!- FireFly has quit ("Leaving").
23:49:05 -!- BeholdMyGlory has quit (Remote closed the connection).
23:57:11 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
23:58:31 <AnMaster> ais523, there still?
23:58:40 <ais523> yes, although not paying attention
23:59:21 <AnMaster> ais523, do you happen to remember if sizeof() returns multiples of CHAR_BIT or if it is multiples of 8 bits always? If you see what I mean.
23:59:39 <ais523> multiples of CHAR_BIT
23:59:46 <ais523> sizeof (char) is always always 1, even on a DS9K
23:59:50 <AnMaster> ah
23:59:51 <ais523> but that doesn't necessarily mean 8 bits
←2009-11-26 2009-11-27 2009-11-28→ ↑2009 ↑all