gcc-warning

I can't make gcc work

I have to compile a .c file that came with a matlab toolbox. To this end I downloaded xcode 3.1.4, and now I am trying commands like gcc -o solvemc solvemc.c and getting errors like Undefined symbols: "_N_VFree", referenced from: _main in cca0ChgX.o _main in cca0ChgX.o _main in cca0ChgX.o _main in cca0ChgX....

Compiler detection of returning reference to local variable

I've just been bitten by a nasty undefined behavior due the returning a reference to a local variable. We know it's evil, and generally the compiler prints a nice warning to tell us so... well gcc (3.4.2) does not seem to push the checks too far though. std::string get_env_value(std::string const& key); std::string const& get_phase() ...

Why are no strict-aliasing warnings generated for this code?

I have the following code: struct A { short b; }; struct B { double a; }; void foo (struct B* src) { struct B* b = src; struct A* a = (struct A*)src; b->a = sin(rand()); if(a->b == rand()) { printf("Where are you strict aliasing warnings?\n"); } } I'm compiling the code with the following c...

Shouldn't be these warnings with g++ -Wall?

I was just curious if the following code should result in warning or not by g++ compiler: // Snip #1 bool x = 0; x++; // Snip #2 switch (x) { default: printf("hi\n"); } The problem is such statements exist in a legacy code i work upon :-|, I guess there should be some warnings for these? I have g++-4.4.3c ...

Warning-free Templating in C

Transitioning from C++, I am now learning the dark art of C and have developed the following code to replace my need for templating. In the bottom example, I have implemented your garden-variety Node structure in such a way that it can be used to store any data type. Consider the following... // vptr.c #include <stdio.h> struct Node {...