The int_errorcode macro in apr_dbd_oracle.c gives errors with Visual C++ when DEBUG is not defined: error C2143: syntax error : missing ';' before 'type' Attached patch changes macro to include the semicolon, so nothing is generated if DEBUG is undefined. Renames macro to INT_ERRORCODE insted of int_errorcode.
Created attachment 21105 [details] apr_dbd_oracle VC patch
Can you see if r594036 compiles for you?
Yes, it compiles fine now. Also tested the driver with Oracle 10.2.0 (Express Edition). Works OK. Apparently the bare ";" line is OK as an executable statement, but not as a declaration. I didn't think of that...
Yeah, the "problem" is that VC++ strictly enforces that declarations go before anything else. So, when this null statement becomes intermixed with declarations, VC++ correctly complains.