The original quake-c v106 release had a few compiler warnings. Heck, get any open source or free code and compile it - chances are you will see some warnings.
Do they warrant attention or repair? That depends.
After all, the code compiles and runs. A cursory inspection may not even reveal any fault with it...
The most important question is - does anything break?
With quake-c you need to be aware that warnings can affect code operation - here is an example from the 1.06 code found in misc.qc:
misc.qc(201): warning: No operation performed
Code:
void() misc_fireball =
{
...
if (!self.speed)
self.speed == 1000; // *** this caused the warning
}
What should this code do?
A: if a misc_fireball entity is loaded on a map by this spawn function and no speed is set, a default of 1000 gets set.
What is wrong here?
A: "==" is a conditional test and not an assignment operator.
This code does NOT assign 1000 to self.speed!
To verify this - coded added to function to set a global we can check
float lastsp; // add above function
...
lastsp = self.speed; // put after assignment
Now load any map that has a misc_fireball with no set speed.
For this example I cheated with an additional code mod:
// if (!self.speed)
This does not rely on the map entity and always does the assignment.
NOTE: prvm_global is a darkplaces console command.
warning code:
]prvm_global server lastsp
lastsp: 350.0000
fixed code:
]prvm_global server lastsp
lastsp: 1000.0000
How does this code actually affect the game?
It turns out 350 - 700 is a much better fireball launch speed. 1000 is kind of fast. That may be why this compiler warning never got fixed.
This is just an example, however. If your quake-c has compiler warnings that could be why it is not performing as you expect. This exact conditional non assignment error has caused me headaches in the past. I fixed it easy because I always maintain my quake-c code warning free.