Assigning and copying command line option objects shouldn't be allowed.
authorChris Bieneman <beanz@apple.com>
Thu, 22 Jan 2015 01:49:59 +0000 (01:49 +0000)
committerChris Bieneman <beanz@apple.com>
Thu, 22 Jan 2015 01:49:59 +0000 (01:49 +0000)
commite71fb5ce05089b9343c6cda9663c214b9c29c52e
treeae799ac8c7d0a54b08594e48e3c0c39803b08370
parent5156c3857066396e744137cdadf94fb18fa29da2
Assigning and copying command line option objects shouldn't be allowed.

Summary:
The default copy and assignment operators for these objects probably don't actually do what the clients intend, so they should be deleted.

Places using the assignment operator to set the value of an option should cast to the option's data type first to call into the override for operator=. Places using the copy constructor just need to be changed to not copy (i.e. passing by const reference instead of value).

Reviewers: dexonsmith, chandlerc

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D7114

llvm-svn: 226762
llvm/include/llvm/Support/CommandLine.h
llvm/tools/lli/lli.cpp
llvm/tools/llvm-profdata/llvm-profdata.cpp
llvm/tools/llvm-size/llvm-size.cpp