1aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin/* 2aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Copyright (C) 2015 The Android Open Source Project 3aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * 4aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Licensed under the Apache License, Version 2.0 (the "License"); 5aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * you may not use this file except in compliance with the License. 6aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * You may obtain a copy of the License at 7aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * 8aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * http://www.apache.org/licenses/LICENSE-2.0 9aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * 10aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Unless required by applicable law or agreed to in writing, software 11aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * distributed under the License is distributed on an "AS IS" BASIS, 12aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * See the License for the specific language governing permissions and 14aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * limitations under the License. 15aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin */ 16aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin 17aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#ifndef ART_CMDLINE_UNIT_H_ 18aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#define ART_CMDLINE_UNIT_H_ 19aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin 20aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkinnamespace art { 21aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin 22aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin// Used for arguments that simply indicate presence (e.g. "-help") without any values. 23aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkinstruct Unit { 24aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin // Avoid 'Conditional jump or move depends on uninitialised value(s)' errors 25aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin // when running valgrind by specifying a user-defined constructor. 26aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin Unit() {} 27758a801b66c134361a7b43f7e83f85d1fb800c4cAndreas Gampe Unit(const Unit&) = default; 28aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin ~Unit() {} 29aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin bool operator==(Unit) const { 30aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin return true; 31aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin } 32aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin}; 33aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin 34aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin} // namespace art 35aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin 36aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#endif // ART_CMDLINE_UNIT_H_ 37