Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2014-05-30

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
06:24 xbarnat joined #divine
06:24 xbarnat proc?
06:24 xbarnat divine/timed/ura.h:25:48: warning: ‘open’ may be used uninitialized in this function [-Wmaybe-uninitialized]      guard( int v, bool o ) : val( v ), open( o ) {}
06:50 xbarnat je to proto, ze pri inicializaci val (v) muze nastat vyjimka tudiz na inicializaci open (o) nedojde?
07:01 xstill hm, to je divný (z toho co píšeš tady), kdyby nastala výjimka tak se ten statement co volá konstruktor musí zahodit snad
07:02 xstill navíc ten val je int, tam výjimka nastat nemůže
07:04 xstill to je nějaký divný
07:07 xstill no ono tam asi chybí trace odkud se ta neinizializovaná hodnota vezme
07:08 xstill protože ona se tam "teoreticky" může dostat z eval.cpp (ale nemůže protože assert( false ) nemůže uspět, což ale kompilátor nemá moc jak vědět)
07:08 xstill každopádně pokud jsi nám ten trace nezatajil, tak mě tahle schopnost kompilátoru přijde dost zbytečná, protože kdo to má hledat v komplikovanějším kódu
07:38 xbarnat si preloz divine a hlasku uvidis
07:44 xbarnat jo taaaak jako ze nekdo vola guard(v,o)  s o-ckem, ktere neni inicializovane ... to je ale pekne blba a zavadejici hlaska ...
07:46 xstill jo přesně tak mi to příjde
08:36 xstill xbarnat: co to máš za kompilátor co ti to hlásil?
09:05 xbarnat g++ (GCC) 4.8.2
09:17 xstill hm, divný, mě to nic neříká
09:19 xstill aha on to zase říká jen v release
09:21 xstill jo ale on není až tak úplně blbej, on říká, že je to ten open co je deklarovanej v eval.cpp:123 a asi to funguje jen v release protože to zainlinoval a pak terpve vidí jak se to použilo
10:27 mornfall no, on jen nějak nepochytil že assert( false ) je noreturn...
10:28 mornfall když se tam napíše assert_unreachable() tak by to mohlo zmizet
10:28 mornfall (on totiž assert( false ) v release mode není noreturn, taky)
10:30 xstill jednak to, ale ani assert_unreachable není noreturn myslím
10:30 xstill ale že to není v release je tady docela chyba
10:30 xstill to mi nedošlo
10:30 mornfall assert_unreachable volá přímo assert_die_fn a ta je __attribute__((noreturn))
10:31 xstill aha koukám
10:32 xstill ještě dokonce ten eval includuje cassert a ne wibble asserty
10:32 mornfall :-)
10:33 mornfall to jsou ti klasici
10:33 xstill asi pošlu patch
10:33 mornfall ď
11:00 spito joined #divine
12:23 xstill mornfall: máš tam ten patch
12:34 spito joined #divine
13:11 mornfall xstill: je tam
13:12 mornfall xstill: ale není divný že ten mkFilePath se objeví jen s tím LLVM?
13:12 mornfall mám pocit že to bývalo aj jinde
13:13 mornfall jestli to není tím že prepareIncludes je teď šablona takže se nevyemituje když se nepoužije (a používá se jen v #ifdef O_LLVM...)
13:13 mornfall teda #if
13:14 mornfall hm, a 32b gcc_full nám teď failuje s /nix/store/vbkccaycpd4p64ldw0m7nynlkkrwpglm-binutils-2.23.1/bin/ld: can not read symbols: Memory exhausted
14:03 xstill nevím ten mkFilePath si nepamatuju, že bych viděl jinde
14:03 xstill co se děje, že zase bereme moc paměti?
14:08 mornfall no jenom to PointsToLLVM -- teď už se to přeloží, jen neslinkuje
14:09 mornfall každopádně nevim kde jsme to mkFilePath mohli vidět, protože LLVM jako takový na windows dlouhodobě failovalo

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary