[LLVMdev] LLVM build fails using gcc-4.7.0 and -std=c++11 flags
Sid Manning
sidneym at codeaurora.org
Fri Sep 28 07:28:39 PDT 2012
On 09/28/12 02:19, Craig Topper wrote:
> I've fixed this specific error in r164813. Please let me know if there
> are more behind it.
>
I pulled this version, 164813 and the latest which is 164821 and I see
essentially same error, the line number changed from 38 to 40.
The problem seems to stem from the addition of LLVM_DELETED_FUNCTION. I
reverted back to a version that doesn't have this the build proceeds
without issue.
While this probably isn't the correct fix, I removed all instances of
LLVM_DELETED_FUNCTION from Operator.h and this allowed the build to
complete. I don't know if it is the redundant use of delete or a
problem with gcc-4.7.0
Here are the specifics from a build using the unmodified revision, r164813:
cd /local/scratch/llvm-tmp/build/lib/VMCore &&
/usr2/sidneym/llvm/tools/install/bin/c++ -D_GNU_SOURCE -D_DEBUG
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
-std=c++11 -fPIC -fvisibility-inlines-hidden
-I/local/scratch/llvm-tmp/build/lib/VMCore
-I/local/scratch/llvm-tmp/llvm/lib/VMCore
-I/local/scratch/llvm-tmp/build/include
-I/local/scratch/llvm-tmp/llvm/include -Wall -W -Wno-unused-parameter
-Wwrite-strings -pedantic -Wno-long-long -fno-exceptions -o
CMakeFiles/LLVMCore.dir/AsmWriter.cpp.o -c
/local/scratch/llvm-tmp/llvm/lib/VMCore/AsmWriter.cpp
In file included from
/local/scratch/llvm-tmp/llvm/lib/VMCore/AsmWriter.cpp:27:0:
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:82:3: error:
deleted function 'virtual
llvm::OverflowingBinaryOperator::~OverflowingBinaryOperator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:40:3: error:
overriding non-deleted function 'virtual llvm::Operator::~Operator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:136:3: error:
deleted function 'virtual
llvm::PossiblyExactOperator::~PossiblyExactOperator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:40:3: error:
overriding non-deleted function 'virtual llvm::Operator::~Operator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:173:3: error:
deleted function 'virtual llvm::FPMathOperator::~FPMathOperator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:40:3: error:
overriding non-deleted function 'virtual llvm::Operator::~Operator()'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h: In instantiation
of 'class llvm::ConcreteOperator<llvm::Operator, 29u>':
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:251:67: required
from here
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:196:3: error:
deleted function 'llvm::ConcreteOperator<SuperClass,
Opc>::~ConcreteOperator() [with SuperClass = llvm::Operator; unsigned
int Opc = 29u]'
/local/scratch/llvm-tmp/llvm/include/llvm/Operator.h:40:3: error:
overriding non-deleted function 'virtual llvm::Operator::~Operator()'
make[2]: *** [lib/VMCore/CMakeFiles/LLVMCore.dir/AsmWriter.cpp.o] Error 1
make[2]: Leaving directory `/local/scratch/llvm-tmp/build'
make[1]: *** [lib/VMCore/CMakeFiles/LLVMCore.dir/all] Error 2
make[1]: Leaving directory `/local/scratch/llvm-tmp/build'
make: *** [all] Error 2
sidneym at sidneym-ubuntu:..llvm-tmp/build> svnversion ../llvm
164813
sidneym at sidneym-ubuntu:..llvm-tmp/build> gcc --version
gcc (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> On Thu, Sep 27, 2012 at 2:16 PM, Sid Manning <sidneym at codeaurora.org
> <mailto:sidneym at codeaurora.org>> wrote:
>
>
> I just updated my llvm sources (revision 164794.) and I see the
> error, "overriding non-deleted function" when building with gcc
> 4.7.0 and passing -std=c++11.
>
> /usr2/sidneym/llvm/tools/__install/bin/c++ -D_GNU_SOURCE -D_DEBUG
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
> -D__STDC_LIMIT_MACROS -std=c++11 -fPIC -fvisibility-inlines-hidden
> -I/local/scratch/llvm-tmp/__build/lib/VMCore
> -I/local/scratch/llvm-tmp/__llvm/lib/VMCore
> -I/local/scratch/llvm-tmp/__build/include
> -I/local/scratch/llvm-tmp/__llvm/include -Wall -W
> -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long
> -fno-exceptions -o CMakeFiles/LLVMCore.dir/__AsmWriter.cpp.o -c
> /local/scratch/llvm-tmp/llvm/__lib/VMCore/AsmWriter.cpp
> In file included from
> /local/scratch/llvm-tmp/llvm/__lib/VMCore/AsmWriter.cpp:27:0:
> /local/scratch/llvm-tmp/llvm/__include/llvm/Operator.h:38:3: error:
> deleted function 'virtual llvm::Operator::~Operator()'
> In file included from
> /local/scratch/llvm-tmp/llvm/__include/llvm/Constant.h:17:0,
> from
> /local/scratch/llvm-tmp/llvm/__include/llvm/Constants.h:24,
> from
> /local/scratch/llvm-tmp/llvm/__lib/VMCore/AsmWriter.cpp:22:
> /local/scratch/llvm-tmp/llvm/__include/llvm/User.h:62:3: error:
> overriding non-deleted function 'virtual llvm::User::~User()'
> make[2]: *** [lib/VMCore/CMakeFiles/__LLVMCore.dir/AsmWriter.cpp.o]
> Error 1
> make[2]: Leaving directory `/local/scratch/llvm-tmp/__build'
> make[1]: *** [lib/VMCore/CMakeFiles/__LLVMCore.dir/all] Error 2
> make[1]: Leaving directory `/local/scratch/llvm-tmp/__build'
>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
> _________________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev
> <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>
>
>
>
> --
> ~Craig
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev
mailing list