Thread: [CEDET-devel] seems a bug
Brought to you by:
zappo
From: peng yu <yup...@gm...> - 2010-05-21 13:55:18
|
void test_func ( void ) { char new; new = 0; } When I move the cursor to "new" on the line "new = 0", and type M-x semantic-ia-fast-jump, semantic can not find the define of variable "new". If I change the variable "new" to another name, it can work well. "new" is a valid variable in C program, so it seems a bug. |
From: Richard K. <em...@gm...> - 2010-05-23 19:54:22
|
Peng, I do not consider special handling of "new" word a bug. Rather I consider it a feature. "new" is a special word in C++ along with "delete", "class", "try", "catch", "throw" and others. Even though these may have no special meaning in C, they should still not be used in C in my opinion, primary because many C programs are either converted to C++ later or many C programs are written such that they compile and work exactly the same whether you throw C or C++ compiler at them. I understand that some C programs will probably never have to deal with C++. However in my personal experience over the past 15 to 20 years, I have converted almost all C programs that I had to modify and maintain into C++ first. First reason is that C++ compilers provide much better checks than C compilers. I have found that taking a C program and merely trying to resolve all compile warnings and errors that result when compiled as c++ results in finding several bugs not to mention tightening up loose end. Hence I would recommend that as much C programs be written to avoid conflict with C++ especially if it is easy to do so. In summary I would ask that cedet NOT BE MODIFIED to allow "new" or any other C++ keywords to be treated as user defined names. -----Original Message----- From: peng yu <yup...@gm...> To: ced...@li... Subject: [CEDET-devel] seems a bug Date: Fri, 21 May 2010 21:55:11 +0800 void test_func ( void ) { char new; new = 0; } When I move the cursor to "new" on the line "new = 0", and type M-x semantic-ia-fast-jump, semantic can not find the define of variable "new". If I change the variable "new" to another name, it can work well. "new" is a valid variable in C program, so it seems a bug. ------------------------------------------------------------------------------ _______________________________________________ Cedet-devel mailing list Ced...@li... https://lists.sourceforge.net/lists/listinfo/cedet-devel |