www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - LDC Specific C++11 Violations

reply "Hans W. Uhlig" <huhlig gmail.com> writes:
[  0%] Built target idgen
[  0%] Built target impcnvgen
[  0%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/func.c.o
[  0%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/unittests.c.o
[  0%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/parse.c.o
[  0%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/identifier.c.o
[  0%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/optimize.c.o
[  0%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/lexer.c.o
[  0%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/interpret.c.o
[  0%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/enum.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/access.c.o
[  1%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/class.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/traits.c.o
[  1%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/mars.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/opover.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/builtin.c.o
[  1%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/json.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/module.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/sideeffect.c.o
[  1%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/template.c.o
[  2%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/scope.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/declaration.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/expression.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/hdrgen.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/version.c.o
[  2%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/init.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/mangle.c.o
[  2%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/struct.c.o
[  2%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/mtype.c.o
[  2%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/utf.c.o
[  3%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/html.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/entity.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/rmem.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/port.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/array.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/stringtable.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/root.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/speller.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/man.c.o
[  3%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/async.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/aav.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/root/longdouble.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/cppmangle.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/ctfeexpr.c.o
[  4%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/cond.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/inline.c.o
[  4%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/cast.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/delegatize.c.o
[  4%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/dsymbol.c.o
[  4%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/clone.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/irstate.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/staticassert.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/attrib.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/imphint.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/canthrow.c.o
[  5%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/dump.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/intrange.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/dmd2/arrayop.c.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/dvalue.cpp.o
[  5%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/complex.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/runtime.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/structs.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/llvmhelpers.cpp.o
In file included from 
/home/huhlig/Temp/d/ldc/gen/llvmhelpers.cpp:16:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/arrays.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/classes.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/nested.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/asmstmt.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/asmstmt.cpp:147:
/home/huhlig/Temp/d/ldc/gen/asm-x86.h:1679:47: warning: 
comparison of unsigned expression < 0 is always false 
[-Wtautological-compare]
                 for (operand_i = 0; operand_i < 0; operand_i++)
                                     ~~~~~~~~~ ^ ~
1 warning generated.
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/statements.cpp.o
[  6%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/linkage.cpp.o
[  6%] Building CXX object CMakeFiles/LDCShared.dir/gen/abi.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/llvmcompat.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/tollvm.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/irstate.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/typinf.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/typinf.cpp:35:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/rttibuilder.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/logger.cpp.o
[  7%] Building CXX object CMakeFiles/LDCShared.dir/gen/aa.cpp.o
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/declarations.cpp.o
In file included from 
/home/huhlig/Temp/d/ldc/gen/declarations.cpp:16:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
/home/huhlig/Temp/d/ldc/gen/declarations.cpp:216:23: warning: 
comparison of integers of different signs: 'structalign_t' (aka 
'unsigned int') and 'int'
       [-Wsign-compare]
         if (alignment != STRUCTALIGN_DEFAULT)
             ~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~
2 warnings generated.
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/tocall.cpp.o
/home/huhlig/Temp/d/ldc/gen/tocall.cpp:217:20: warning: 
comparison of integers of different signs: 'size_t' (aka 
'unsigned long') and 'int' [-Wsign-compare]
             if (sz < PTRSIZE)
                 ~~ ^ ~~~~~~~
1 warning generated.
[  7%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/passes/GarbageCollect2Stack.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/passes/SimplifyDRuntimeCalls.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/passes/StripExternals.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/abi-x86.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/functions.cpp.o
In file included from 
/home/huhlig/Temp/d/ldc/gen/functions.cpp:18:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/abi-x86-64.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/abi-win64.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/warnings.cpp.o
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/module.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/module.cpp:22:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  8%] Building CXX object CMakeFiles/LDCShared.dir/gen/toir.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/toir.cpp:18:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/pragma.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/pragma.cpp:17:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  8%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/optimizer.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/programs.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/abi-ppc64.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/cl_helpers.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/todebug.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/naked.cpp.o
In file included from /home/huhlig/Temp/d/ldc/gen/naked.cpp:13:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/gen/binops.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irstruct.cpp.o
/home/huhlig/Temp/d/ldc/ir/irstruct.cpp:71:29: warning: 
comparison of integers of different signs: 'structalign_t' (aka 
'unsigned int') and 'int'
       [-Wsign-compare]
     if (sd && sd->alignment != STRUCTALIGN_DEFAULT)
               ~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~
1 warning generated.
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irdsymbol.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irtype.cpp.o
[  9%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irtypefunction.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irlandingpad.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irtypestruct.cpp.o
[ 10%] Building CXX object CMakeFiles/LDCShared.dir/ir/irvar.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irmodule.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irfuncty.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irtypeclass.cpp.o
In file included from 
/home/huhlig/Temp/d/ldc/ir/irtypeclass.cpp:20:
/home/huhlig/Temp/d/ldc/dmd2/template.h:379:11: warning: 
'TemplateMixin::mangle' hides overloaded virtual function 
[-Woverloaded-virtual]
     char *mangle();
           ^
/home/huhlig/Temp/d/ldc/dmd2/template.h:331:11: note: hidden 
overloaded virtual function 'TemplateInstance::mangle' declared 
here: different number of
       parameters (1 vs 0)
     char *mangle(bool isv = false);
           ^
1 warning generated.
[ 10%] Building CXX object CMakeFiles/LDCShared.dir/ir/ir.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irfunction.cpp.o
[ 10%] Building CXX object 
CMakeFiles/LDCShared.dir/ir/irclass.cpp.o
Linking CXX static library lib/libldc.a
[ 11%] Built target LDCShared
Scanning dependencies of target gen_gccbuiltins
[ 11%] Building CXX object 
CMakeFiles/gen_gccbuiltins.dir/utils/gen_gccbuiltins.cpp.o
Linking CXX executable bin/gen_gccbuiltins
[ 11%] Built target gen_gccbuiltins
Scanning dependencies of target ldc2
[ 11%] Building CXX object 
CMakeFiles/ldc2.dir/driver/cl_options.cpp.o
[ 11%] Building CXX object 
CMakeFiles/ldc2.dir/driver/configfile.cpp.o
[ 11%] Building CXX object CMakeFiles/ldc2.dir/driver/target.cpp.o
[ 11%] Building CXX object CMakeFiles/ldc2.dir/driver/toobj.cpp.o
[ 11%] Building CXX object CMakeFiles/ldc2.dir/driver/tool.cpp.o
[ 12%] Building CXX object CMakeFiles/ldc2.dir/driver/linker.cpp.o
[ 12%] Building CXX object CMakeFiles/ldc2.dir/driver/main.cpp.o
May 28 2013
parent reply "Hans W. Uhlig" <huhlig gmail.com> writes:
I apparently erased my header. Building the latest trunk of LDC 
reveals a few warnings that seem worrisome. Notably Overloaded 
functions that violate their contract and some signed/unsigned 
weirdness. Plus a couple of useless comparisons.
May 28 2013
parent "Kai Nacke" <kai redstar.de> writes:
On Wednesday, 29 May 2013 at 01:07:47 UTC, Hans W. Uhlig wrote:
 I apparently erased my header. Building the latest trunk of LDC 
 reveals a few warnings that seem worrisome. Notably Overloaded 
 functions that violate their contract and some signed/unsigned 
 weirdness. Plus a couple of useless comparisons.
Hi Hans! Most of these warnings come from the DMD frontend. I saw that you are working on a C++11 pull request for DMD. Once that is done the warning should go away in LDC, too. But I have a look at the 1-vs-0 parameter issue. That looks a bit weird. Regards Kai
May 28 2013