This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler: Compiler error version 8.2.2 in s__algo.c

Tool/software: TI C/C++ Compiler

Hello,

I'm trying to port some projects from CCSv5.5 (compiler 7.4.21) to CCSv7.4 (compiler 8.2.2), this library was compiling fine but now I get compiler errors below in s__algo.c file, see below:

I've attached the projects that generate this error.

Any idea why it doesn't compile? Is compatibility broken between v7.4.21 to v8.2.2? 

Best regards,

David.test_ini_ccsv5.ziptest_ini_ccsv7.zip


**** Clean-only build of configuration Debug for project test_ini_ccsv7 ****

"C:\\ti\\ccs740\\ccsv7\\utils\\bin\\gmake" -k -j 8 clean -O

DEL /F "test_ini_ccsv7.lib"
DEL /F "IniFile.obj"
DEL /F "IniFile.d"
Could Not Find C:\Users\d.luca\workspace_v7_pgm\test_ini_ccsv7\Debug\test_ini_ccsv7.lib
Could Not Find C:\Users\d.luca\workspace_v7_pgm\test_ini_ccsv7\Debug\IniFile.obj
'Finished clean'

**** Build Finished ****

**** Build of configuration Debug for project test_ini_ccsv7 ****

"C:\\ti\\ccs740\\ccsv7\\utils\\bin\\gmake" -k -j 8 all -O

'Building file: "../IniFile.cpp"'
'Invoking: C6000 Compiler'
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/bin/cl6x" -mv6740 -O3 --opt_for_speed=0 -ms3 --include_path="C:/Users/d.luca/workspace_v7_pgm/test_ini_ccsv7" --include_path="C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include" --define=c6748 -g --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="IniFile.d_raw" "../IniFile.cpp"

>> Compilation failure
subdir_rules.mk:9: recipe for target 'IniFile.obj' failed
"..\.\inifile.h", line 113: warning #1-D: last line of file ends without a newline
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 87: error #2036: function "CIniFile::DescendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingSectionSort]" at line 473 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 89: error #2036: function "CIniFile::DescendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingSectionSort]" at line 473 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 93: error #2036: function "CIniFile::DescendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingSectionSort]" at line 473 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 100: error #2036: function "CIniFile::DescendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingSectionSort]" at line 473 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 104: error #2036: function "CIniFile::DescendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingSectionSort]" at line 473 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 87: error #2036: function "CIniFile::AscendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingSectionSort]" at line 475 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 89: error #2036: function "CIniFile::AscendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingSectionSort]" at line 475 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 93: error #2036: function "CIniFile::AscendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingSectionSort]" at line 475 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 100: error #2036: function "CIniFile::AscendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingSectionSort]" at line 475 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 104: error #2036: function "CIniFile::AscendingSectionSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingSectionSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingSectionSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingSectionSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingSectionSort]" at line 475 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 87: error #2036: function "CIniFile::DescendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingRecordSort]" at line 484 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 89: error #2036: function "CIniFile::DescendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingRecordSort]" at line 484 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 93: error #2036: function "CIniFile::DescendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingRecordSort]" at line 484 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 100: error #2036: function "CIniFile::DescendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingRecordSort]" at line 484 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 104: error #2036: function "CIniFile::DescendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::DescendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::DescendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::DescendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::DescendingRecordSort]" at line 484 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 87: error #2036: function "CIniFile::AscendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingRecordSort]" at line 486 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 89: error #2036: function "CIniFile::AscendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingRecordSort]" at line 486 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 93: error #2036: function "CIniFile::AscendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingRecordSort]" at line 486 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 100: error #2036: function "CIniFile::AscendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingRecordSort]" at line 486 of "../IniFile.cpp"
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include/s__algo.c", line 104: error #2036: function "CIniFile::AscendingRecordSort::operator()" cannot be called with the given argument list
argument types are: (const CIniFile::Record, const CIniFile::Record)
object type is: CIniFile::AscendingRecordSort
detected during:
instantiation of "const _Tp &std::priv::__median(const _Tp &, const _Tp &, const _Tp &, _Compare) [with _Tp=CIniFile::Record, _Compare=CIniFile::AscendingRecordSort]" at line 985
instantiation of "void std::priv::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp *, _Size, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Tp=CIniFile::Record, _Size=int, _Compare=CIniFile::AscendingRecordSort]" at line 1013
instantiation of "void std::sort(_RandomAccessIter, _RandomAccessIter, _Compare) [with _RandomAccessIter=CIniFile::Record *, _Compare=CIniFile::AscendingRecordSort]" at line 486 of "../IniFile.cpp"
20 errors detected in the compilation of "../IniFile.cpp".
gmake: *** [IniFile.obj] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

  • I have a partial answer.  If you add const to all the arguments to the operator() functions in the Sort classes in IniFile.h, then it builds clean.  Like this ...

    	struct AscendingSectionSort
    	{
    		bool operator()(const Record& Start, const Record& End)
    		{
    			return Start.Section < End.Section;
    		}
    	};
    
    	struct DescendingSectionSort
    	{
    		bool operator()(const Record& Start, const Record& End)
    		{
    			return Start.Section > End.Section;
    		}
    	};
    
    	struct AscendingRecordSort
    	{
    		bool operator()(const Record& Start, const Record& End)
    		{
    			return Start.Key < End.Key;
    		}
    	};
    
    	struct DescendingRecordSort
    	{
    		bool operator()(const Record& Start, const Record& End)
    		{
    			return Start.Key > End.Key;
    		}
    	};
    

    At this point, I'm not sure why this works.  That's next.  In the meantime, I didn't want you to wait.

    Thanks and regards,

    -George

  • Thanks George, that solved my issue. I'm surprised compiler didn't give me const error instead.
  • George Mock said:
    At this point, I'm not sure why this works.

    To have this investigated, I filed CODEGEN-4407 in the SDOWP system.  You are free to follow it with the SDOWP link below in my signature.

    Thanks and regards,

    -George