Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(473)

Side by Side Diff: base/logging.h

Issue 9244006: Make NOTIMPLEMENTED_POLICY=0 actually work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_LOGGING_H_ 5 #ifndef BASE_LOGGING_H_
6 #define BASE_LOGGING_H_ 6 #define BASE_LOGGING_H_
7 #pragma once 7 #pragma once
8 8
9 #include <cassert> 9 #include <cassert>
10 #include <string> 10 #include <string>
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 957
958 #if defined(COMPILER_GCC) 958 #if defined(COMPILER_GCC)
959 // On Linux, with GCC, we can use __PRETTY_FUNCTION__ to get the demangled name 959 // On Linux, with GCC, we can use __PRETTY_FUNCTION__ to get the demangled name
960 // of the current function in the NOTIMPLEMENTED message. 960 // of the current function in the NOTIMPLEMENTED message.
961 #define NOTIMPLEMENTED_MSG "Not implemented reached in " << __PRETTY_FUNCTION__ 961 #define NOTIMPLEMENTED_MSG "Not implemented reached in " << __PRETTY_FUNCTION__
962 #else 962 #else
963 #define NOTIMPLEMENTED_MSG "NOT IMPLEMENTED" 963 #define NOTIMPLEMENTED_MSG "NOT IMPLEMENTED"
964 #endif 964 #endif
965 965
966 #if NOTIMPLEMENTED_POLICY == 0 966 #if NOTIMPLEMENTED_POLICY == 0
967 #define NOTIMPLEMENTED() ; 967 #define NOTIMPLEMENTED() EAT_STREAM_PARAMETERS
968 #elif NOTIMPLEMENTED_POLICY == 1 968 #elif NOTIMPLEMENTED_POLICY == 1
969 // TODO, figure out how to generate a warning 969 // TODO, figure out how to generate a warning
970 #define NOTIMPLEMENTED() COMPILE_ASSERT(false, NOT_IMPLEMENTED) 970 #define NOTIMPLEMENTED() COMPILE_ASSERT(false, NOT_IMPLEMENTED)
971 #elif NOTIMPLEMENTED_POLICY == 2 971 #elif NOTIMPLEMENTED_POLICY == 2
972 #define NOTIMPLEMENTED() COMPILE_ASSERT(false, NOT_IMPLEMENTED) 972 #define NOTIMPLEMENTED() COMPILE_ASSERT(false, NOT_IMPLEMENTED)
973 #elif NOTIMPLEMENTED_POLICY == 3 973 #elif NOTIMPLEMENTED_POLICY == 3
974 #define NOTIMPLEMENTED() NOTREACHED() 974 #define NOTIMPLEMENTED() NOTREACHED()
975 #elif NOTIMPLEMENTED_POLICY == 4 975 #elif NOTIMPLEMENTED_POLICY == 4
976 #define NOTIMPLEMENTED() LOG(ERROR) << NOTIMPLEMENTED_MSG 976 #define NOTIMPLEMENTED() LOG(ERROR) << NOTIMPLEMENTED_MSG
977 #elif NOTIMPLEMENTED_POLICY == 5 977 #elif NOTIMPLEMENTED_POLICY == 5
978 #define NOTIMPLEMENTED() do {\ 978 #define NOTIMPLEMENTED() do {\
979 static int count = 0;\ 979 static int count = 0;\
980 LOG_IF(ERROR, 0 == count++) << NOTIMPLEMENTED_MSG;\ 980 LOG_IF(ERROR, 0 == count++) << NOTIMPLEMENTED_MSG;\
981 } while(0) 981 } while(0)
982 #endif 982 #endif
983 983
984 namespace base { 984 namespace base {
985 985
986 template <typename STRING_TYPE> class BasicStringPiece; 986 template <typename STRING_TYPE> class BasicStringPiece;
987 typedef BasicStringPiece<std::string> StringPiece; 987 typedef BasicStringPiece<std::string> StringPiece;
988 988
989 // Allows StringPiece to be logged. 989 // Allows StringPiece to be logged.
990 BASE_EXPORT std::ostream& operator<<(std::ostream& o, const StringPiece& piece); 990 BASE_EXPORT std::ostream& operator<<(std::ostream& o, const StringPiece& piece);
991 991
992 } // namespace base 992 } // namespace base
993 993
994 #endif // BASE_LOGGING_H_ 994 #endif // BASE_LOGGING_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698