Author Topic: The 12 March 2007 build will NOT be out.  (Read 14517 times)

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 12 March 2007 build will NOT be out.
« Reply #15 on: March 13, 2007, 08:20:02 pm »
I think it's a bad idea to undefine these macros. We should just use different names. We don't know what other code might break because we re-define a previously established macro...
The point is these are not established macros. They are just computer-generated bullshit.

The gcc documentation even states that these macros violate the ISO standard. More precisely, it says that if the non-standard macros unix and linux (or similar ones) are present in some outdated implementation, then Gcc will also define the correct, standard-compliant ones (__unix__ and __linux__).
According to ISO, you are guaranteed that any platform/compiler specific macros start with at least one underscore. At the same time, you must not use identifiers that start with underscores in your code (as these names are reserved for the compiler/platform).
Thus, there is really no legal way that namespace platform { const int linux; }; could be secretly replaced by some obnoxious macro.

However, reality looks like gcc just defines these macros anyway, which is really really bad.
So by undefining them, we're actually making things better :)

This issue, by the way, is a glancing example of why macros suck so bad, and why we should really get rid of any macros and preprocessor directives that we don't strictly need. Macros are just plain evil and stupid like a loaf of bread, you can't say otherwise...  :(
There are still a few places where we can't work around preprocessor alltogether, but I'd suggest we really , really do where we can.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2778
Re: The 12 March 2007 build will NOT be out.
« Reply #16 on: March 13, 2007, 10:20:16 pm »
Hello, I have litle problem :(, I could not make a new project enymore.
That means I dont see any Project template on New->Project, although
there are no other templates. So, what could be the reason for this behavior.
I'm using CB svn selfbuild rev 3687.

Did you remember to run update.bat or ./update after re-compiling CodeBlocks?

Kalma

  • Guest
Re: The 12 March 2007 build will NOT be out.
« Reply #17 on: March 14, 2007, 06:20:21 pm »
Hello again 8), yes I did run update.bat and I also tried to reinstall nothing happened. Even if I deleted the registry keys and the configuration files in my homepath nothing happened. Idont know what else Icould do to fix this behavior. :(

bloodmagic

  • Guest
I'm sorry to post it in Chinese
« Reply #18 on: March 16, 2007, 05:41:58 am »
This time i use English .
ps:“ 期待正式版” means "longing for the solid(stable?) version.
sorry for that again :lol: