ChanServ changed the topic of #zig to: zig programming language | ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
arBmind has quit [Quit: Leaving.]
cenomla has quit [Quit: cenomla]
hasen_judy has joined #zig
hasen_judy has quit [Ping timeout: 255 seconds]
cenomla has joined #zig
hasen_judy has joined #zig
cenomla has quit [Quit: cenomla]
cenomla has joined #zig
hasen_judy has quit [Remote host closed the connection]
hasen_judy has joined #zig
_whitelogger has joined #zig
cenomla has quit [Quit: cenomla]
<Dimenus>
andrewrk: That should be resolved my work yes, will have more chance to finish it up tomorrow morning.
<Dimenus>
*by my work
<Dimenus>
Microsoft re-split the CRT again, so really they've done two major architecture changes in the last two version. It would be pretty hacky to support 2013 and earlier in the compiler. If needed, we could just write a zig program to cover those edge cases, no?
Dimenus has quit [Quit: Leaving]
Dimenus has joined #zig
Dimenus has quit [Client Quit]
Dimenus has joined #zig
Dimenus has quit [Remote host closed the connection]
Dimenus has joined #zig
pupp has joined #zig
<andrewrk>
dimenus: I say, for now, support 2015 and later
<andrewrk>
And yes, if a project wanted to add their own support for 2013 they could use zig build and write their own detection code
pupp has quit [Read error: Connection reset by peer]
pupp has joined #zig
ELF_ has joined #zig
ELF_ has quit [Client Quit]
hasen_judy has quit [Remote host closed the connection]
hasen_judy has joined #zig
hasen_judy has quit [Remote host closed the connection]
arBmind has joined #zig
pupp has quit [Ping timeout: 255 seconds]
hasen_judy has joined #zig
pupp has joined #zig
puppp has joined #zig
pupp has quit [Ping timeout: 255 seconds]
nightmared has quit [Ping timeout: 246 seconds]
hasen_judy has quit [Remote host closed the connection]
hasen_judy has joined #zig
puppp has quit [Ping timeout: 255 seconds]
puppp has joined #zig
arBmind has quit [Read error: Connection reset by peer]
<tiehuis>
andrewrk: is there any specific reason that '*' is used to denote references in a while/for loop capture instead of '&'
tiehuis has quit [Quit: WeeChat 1.9.1]
arBmind has joined #zig
hasen_judy has quit [Remote host closed the connection]
pupppp has joined #zig
puppp has quit [Ping timeout: 240 seconds]
cenomla has joined #zig
_whitelogger has joined #zig
hasen_judy has joined #zig
hasen_judy has quit [Ping timeout: 246 seconds]
cenomla has quit [Quit: cenomla]
cenomla has joined #zig
cenomla has quit [Read error: Connection reset by peer]
cenomla has joined #zig
cenomla_ has joined #zig
cenomla has quit [Ping timeout: 246 seconds]
cenomla_ is now known as cenomla
hasen_judy has joined #zig
cenomla has quit [Read error: Connection reset by peer]
cenomla has joined #zig
cenomla has quit [Ping timeout: 252 seconds]
pupppp has quit [Ping timeout: 240 seconds]
pupppp has joined #zig
dimenus has quit [Ping timeout: 260 seconds]
dimenus has joined #zig
dimenus has quit [Client Quit]
hasen_judy has quit [Remote host closed the connection]
cenomla has joined #zig
dimenus has joined #zig
<dimenus>
andrewrk: When you have a moment, I'm curious is to why you have separate Bufs on codegen for msvc/kernel32
<dimenus>
rather than keeping them all in a ZigList
<dimenus>
since you pass the linker the path and the libs separately anyway
<dimenus>
**curious as to
<dimenus>
the scenario I'm running into is that msvc or the 'crt' on windows is actually 3 separate libs now, and it's in two separate directories
<pupppp>
Can you point me to the exact place in the code? I'm just curious, don't know anything about zig.
<dimenus>
are you talking to me?
<pupppp>
yes
<dimenus>
which part?
<pupppp>
>separate Bufs on codegen for msvc/kernel32
hasen_judy has joined #zig
<dimenus>
all_type.hpp:1464
cenomla has quit [Quit: cenomla]
hasen_judy has quit [Ping timeout: 258 seconds]
<pupppp>
I hope zig wouldn't depend on crt at all. I'm not sure why it does now.
<dimenus>
it doesn't
<dimenus>
but you need the ability to link to the crt if you link to libs that depend on the crt
<pupppp>
need to rewrite libraries to not depend on crt then. I wonder what's necessary for it.
<dimenus>
that's going to take awhile
<dimenus>
plus you won't always have someone's source code
<dimenus>
so the compiler still needs the ability to link the crt appropriately
<pupppp>
what crt even does, copies memory and transforms strings?
<dimenus>
it does a lot of early setup within a process, but yes if you link one of the c standard headers
<dimenus>
by default that patches in the crt
<dimenus>
what programming languages are you familiar with?
<pupppp>
asm, c, python
<pupppp>
linker in zig is currently working weirdly, doesn't throw away all code
<pupppp>
not sure what to do with it, not familiar with lld at all
<pupppp>
doing other stuff at the moment instead
<pupppp>
learning libraries
<andrewrk>
tiehuis: my reasoning is that the value in the capture is a value, so if you want the reference, you use "*ptr" and "*ptr" is the value so if you leave off the * then it's a pointer
<andrewrk>
I'd be willing to switch to the rust syntax using `ref` if people like that better
<tankfeeder>
dont do that
<tankfeeder>
keep as is
<andrewrk>
dimenus, on my windows 10 laptop, vcruntime.lib and kernel32.lib were in different places
<dimenus>
there's 4 libs we need to link in order to use the CRT on windows
<dimenus>
two from visual studio, two from the windows sdk
<dimenus>
I was thinking of storing the paths (3 separate paths) in a ziglist off codegen
<dimenus>
since we just pass the paths to lld anyway and the lib names are separate arguments
<dimenus>
static linking works on windows as well
<dimenus>
well, at least with the crt
<dimenus>
:D
<dimenus>
how do I use c macros?
<pupppp>
probably better to use inline functions and const instead of macros
<dimenus>
Not looking to create new macros, just testing the importing of existing macros
pupppp has quit [Quit: pupppp]
dimenus2 has joined #zig
dimenus2 has quit [Client Quit]
dimenus2 has joined #zig
dimenus2 has quit [Quit: AtomicIRC: The nuclear option.]