What is the address of this line?
John Carter
john.carter@tait.co.nz
Mon Jun 19 05:38:00 GMT 2006
So we using gcc on an embedded platform. ie. Very constrained flash & ram.
We also using asserts.
Storing __LINE__ and __FILE__ is taking too much flash.
Question: I would like to create an assert macro ....
#define Assert( expression) do {\
if(!(expression)) { \
assert_occurred_at_program_counter = THE_ADDRESS_OF_THIS_LINE(); \
}
} while(0)
So how do I write that magical function / macro
THE_ADDRESS_OF_THIS_LINE(); That returns the address / PC at that line?
Preferable in a CPU neutral fashion, otherwise for a Sparc CPU.
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
>From this principle, all of life and physics may be deduced.
More information about the Gcc-help
mailing list