K-ballo changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
<K-ballo>
I had this fun experience with X3's debug a couple days ago.. I defined the macro in only one TU, leading to text-book ODR violations
<K-ballo>
I later removed the definition from that TU and rebuild the TU from scratch, but I would still continue to run into ODR issues somehow
<K-ballo>
took a full rebuild to clean the mess
<gnikunj[m]>
Didn't get much of it, but it looks like a painful experience
<K-ballo>
super painful, essentially the code that was being run didn't correspond to the code that was being written/compiled
<K-ballo>
I knew what I was doing was a not-good thing to do, but it should have been fine, and it shouldn't have affected other TUs
<gnikunj[m]>
It always end up with "I didn't think it would've mattered" :D
<K-ballo>
it really truly shouldn't have mattered
<K-ballo>
not in the way it did
<gnikunj[m]>
Hahaha
<K-ballo>
a #define in one TU can't affect other TUs
<K-ballo>
and a #define that was removed can't possibly affect anything at all
<K-ballo>
can't really explain it... but full rebuilds of the TU didn't help, it took a full rebuild
<gnikunj[m]>
I believe you. My grammar on paper should work but isn't working. And it's only checking syntax for program initialization and a random variable initialization!
<K-ballo>
that's... no
<gnikunj[m]>
I'm too scared to know what will happen when I start adding complex constructs to the program
<K-ballo>
if your grammar should work but doesn't, most likely it shouldn't work
<gnikunj[m]>
Yea sure, I'm sold on that point already. I need to find where it's failing coz a false return isn't exactly helping :/
<K-ballo>
the debug machinery will tell you, just make sure to enable it globally or otherwise ODR will bite you
bita__ has joined #ste||ar
<gnikunj[m]>
How do I enable it?
<gnikunj[m]>
I have it in there and it didn't seem to return anything.
<gnikunj[m]>
*outputting anything
<K-ballo>
some global define, BOOST_SPIRIT_DEBUG or something, check the docs
<K-ballo>
you need to enable it on the rules you care about, register them
<gnikunj[m]>
Ohh ok. Thanks!
<K-ballo>
may not be in the actual docs, you may have to peek at examples