id summary reporter owner description type status priority milestone component version resolution keywords cc 1 ANSI compilation mode patch for CS-Map Library mloskot somebody "I prepared patch that enables strict ANSI compilation mode with GCC for the CS-Map. The patch includes following changes: * fixes for source code of library, dictionaries compiler and test program * improvements for makefiles: [source:trunk/CsMapDev/Source/Library.mak Library.mak], [source:trunk/CsMapDev/Dictionaries/Compiler.mak Compiler.mak] and [source:trunk/CsMapDev/Test/Test.mak Test.mak] * new master Makefile in trunk/CsMapDev that controls building of all CS-Map components (see usage information included in Makefile comments) Here is set of compilation flags I used: {{{ -Wall -Wextra -Werror -pedantic -ansi }}} ---- Building CS-Map using refactored Makefile files: 1. Build CS-Map library, dictionaries compiler and test program {{{ $ cd trunk/CsMapDev $ make }}} 2. Build dictionaries {{{ $ cd trunk/CsMapDev $ make dict }}} 3. Run test program {{{ $ cd trunk/CsMapDev $ make test }}} 4. Clean all {{{ $ cd trunk/CsMapDev $ make clean }}} ---- One major update is not included in this patch, CS-Map uses names that belong to class of names reserved by C/C++ implementation. Reserved identifiers begin with 1 or 2 underscores and continuewith a capital letter (for instance, {{{ __This }}} name as variable is invalid), so they match to the following regular expression: {{{ _[_A-Z][0-9_a-zA-Z]* }}} In terms of the C/C++ ANSI, use of such identifiers leads to undefined behavior." enhancement new major Library svn-trunk ansi pedantic