[Bug c++/30583] [ODR] Non-static inline functions cause bugs when defined more than once in different files

2007-01-28 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-01-28 19:15 --- This is just an ODR (one definition rule) violation which does not need to be diagnostic. In fact it might be hard to diagnostic this problem. C++ defines inline functions as weak/varge linkage so the definition of

[Bug c++/30583] [ODR] Non-static inline functions cause bugs when defined more than once in different files

2007-02-10 Thread bangerth at dealii dot org
--- Comment #2 from bangerth at dealii dot org 2007-02-11 04:11 --- As Andrew said: this is a violation of the C++ standard. You can have only one definition of a name and if you have more then your program is in error. The fact that you mark your functions inline doesn't change this: in

[Bug c++/30583] [ODR] Non-static inline functions cause bugs when defined more than once in different files

2007-02-11 Thread Ivan dot Scherbakov at acronis dot com
--- Comment #3 from Ivan dot Scherbakov at acronis dot com 2007-02-12 06:03 --- The way of declaring inline functions as static is evident, but in fact, when building large projects containing several libraries the case when the same inline function is defined more than once in differen

[Bug c++/30583] [ODR] Non-static inline functions cause bugs when defined more than once in different files

2007-02-12 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-02-12 10:49 --- To dect an ODR violation in this case, means a couple of things. First you cannot compare byte for byte the function as one might be compiled with optimizations and the other was compiled without. And then if you j