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

Side by Side Diff: base/logging.h

Issue 2163023002: Unify usage of logging/assert macros in base/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix base/android/build_info.cc compile Created 4 years, 4 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
« no previous file with comments | « base/lazy_instance.h ('k') | base/memory/singleton.h » ('j') | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <cassert> 10 #include <cassert>
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 #undef DEFINE_CHECK_OP_IMPL 604 #undef DEFINE_CHECK_OP_IMPL
605 605
606 #define CHECK_EQ(val1, val2) CHECK_OP(EQ, ==, val1, val2) 606 #define CHECK_EQ(val1, val2) CHECK_OP(EQ, ==, val1, val2)
607 #define CHECK_NE(val1, val2) CHECK_OP(NE, !=, val1, val2) 607 #define CHECK_NE(val1, val2) CHECK_OP(NE, !=, val1, val2)
608 #define CHECK_LE(val1, val2) CHECK_OP(LE, <=, val1, val2) 608 #define CHECK_LE(val1, val2) CHECK_OP(LE, <=, val1, val2)
609 #define CHECK_LT(val1, val2) CHECK_OP(LT, < , val1, val2) 609 #define CHECK_LT(val1, val2) CHECK_OP(LT, < , val1, val2)
610 #define CHECK_GE(val1, val2) CHECK_OP(GE, >=, val1, val2) 610 #define CHECK_GE(val1, val2) CHECK_OP(GE, >=, val1, val2)
611 #define CHECK_GT(val1, val2) CHECK_OP(GT, > , val1, val2) 611 #define CHECK_GT(val1, val2) CHECK_OP(GT, > , val1, val2)
612 612
613 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) 613 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON)
614 #define ENABLE_DLOG 0
615 #else
616 #define ENABLE_DLOG 1
617 #endif
618
619 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON)
620 #define DCHECK_IS_ON() 0 614 #define DCHECK_IS_ON() 0
621 #else 615 #else
622 #define DCHECK_IS_ON() 1 616 #define DCHECK_IS_ON() 1
623 #endif 617 #endif
624 618
625 // Definitions for DLOG et al. 619 // Definitions for DLOG et al.
626 620
627 #if ENABLE_DLOG 621 #if DCHECK_IS_ON()
628 622
629 #define DLOG_IS_ON(severity) LOG_IS_ON(severity) 623 #define DLOG_IS_ON(severity) LOG_IS_ON(severity)
630 #define DLOG_IF(severity, condition) LOG_IF(severity, condition) 624 #define DLOG_IF(severity, condition) LOG_IF(severity, condition)
631 #define DLOG_ASSERT(condition) LOG_ASSERT(condition) 625 #define DLOG_ASSERT(condition) LOG_ASSERT(condition)
632 #define DPLOG_IF(severity, condition) PLOG_IF(severity, condition) 626 #define DPLOG_IF(severity, condition) PLOG_IF(severity, condition)
633 #define DVLOG_IF(verboselevel, condition) VLOG_IF(verboselevel, condition) 627 #define DVLOG_IF(verboselevel, condition) VLOG_IF(verboselevel, condition)
634 #define DVPLOG_IF(verboselevel, condition) VPLOG_IF(verboselevel, condition) 628 #define DVPLOG_IF(verboselevel, condition) VPLOG_IF(verboselevel, condition)
635 629
636 #else // ENABLE_DLOG 630 #else // DCHECK_IS_ON()
637 631
638 // If ENABLE_DLOG is off, we want to avoid emitting any references to 632 // If !DCHECK_IS_ON(), we want to avoid emitting any references to |condition|
639 // |condition| (which may reference a variable defined only if NDEBUG 633 // (which may reference a variable defined only if DCHECK_IS_ON()).
640 // is not defined). Contrast this with DCHECK et al., which has 634 // Contrast this with DCHECK et al., which has different behavior.
641 // different behavior.
642 635
643 #define DLOG_IS_ON(severity) false 636 #define DLOG_IS_ON(severity) false
644 #define DLOG_IF(severity, condition) EAT_STREAM_PARAMETERS 637 #define DLOG_IF(severity, condition) EAT_STREAM_PARAMETERS
645 #define DLOG_ASSERT(condition) EAT_STREAM_PARAMETERS 638 #define DLOG_ASSERT(condition) EAT_STREAM_PARAMETERS
646 #define DPLOG_IF(severity, condition) EAT_STREAM_PARAMETERS 639 #define DPLOG_IF(severity, condition) EAT_STREAM_PARAMETERS
647 #define DVLOG_IF(verboselevel, condition) EAT_STREAM_PARAMETERS 640 #define DVLOG_IF(verboselevel, condition) EAT_STREAM_PARAMETERS
648 #define DVPLOG_IF(verboselevel, condition) EAT_STREAM_PARAMETERS 641 #define DVPLOG_IF(verboselevel, condition) EAT_STREAM_PARAMETERS
649 642
650 #endif // ENABLE_DLOG 643 #endif // DCHECK_IS_ON()
651 644
652 // DEBUG_MODE is for uses like 645 // DEBUG_MODE is for runtime uses like
653 // if (DEBUG_MODE) foo.CheckThatFoo(); 646 // if (DEBUG_MODE) foo.CheckThatFoo();
654 // instead of 647 // We tie its state to DCHECK_IS_ON().
655 // #ifndef NDEBUG
656 // foo.CheckThatFoo();
657 // #endif
658 // 648 //
659 // We tie its state to ENABLE_DLOG. 649 // For compile-time checks, #if DCHECK_IS_ON() can be used.
660 enum { DEBUG_MODE = ENABLE_DLOG }; 650 enum { DEBUG_MODE = DCHECK_IS_ON() };
661
662 #undef ENABLE_DLOG
663 651
664 #define DLOG(severity) \ 652 #define DLOG(severity) \
665 LAZY_STREAM(LOG_STREAM(severity), DLOG_IS_ON(severity)) 653 LAZY_STREAM(LOG_STREAM(severity), DLOG_IS_ON(severity))
666 654
667 #define DPLOG(severity) \ 655 #define DPLOG(severity) \
668 LAZY_STREAM(PLOG_STREAM(severity), DLOG_IS_ON(severity)) 656 LAZY_STREAM(PLOG_STREAM(severity), DLOG_IS_ON(severity))
669 657
670 #define DVLOG(verboselevel) DVLOG_IF(verboselevel, VLOG_IS_ON(verboselevel)) 658 #define DVLOG(verboselevel) DVLOG_IF(verboselevel, VLOG_IS_ON(verboselevel))
671 659
672 #define DVPLOG(verboselevel) DVPLOG_IF(verboselevel, VLOG_IS_ON(verboselevel)) 660 #define DVPLOG(verboselevel) DVPLOG_IF(verboselevel, VLOG_IS_ON(verboselevel))
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 #elif NOTIMPLEMENTED_POLICY == 5 985 #elif NOTIMPLEMENTED_POLICY == 5
998 #define NOTIMPLEMENTED() do {\ 986 #define NOTIMPLEMENTED() do {\
999 static bool logged_once = false;\ 987 static bool logged_once = false;\
1000 LOG_IF(ERROR, !logged_once) << NOTIMPLEMENTED_MSG;\ 988 LOG_IF(ERROR, !logged_once) << NOTIMPLEMENTED_MSG;\
1001 logged_once = true;\ 989 logged_once = true;\
1002 } while(0);\ 990 } while(0);\
1003 EAT_STREAM_PARAMETERS 991 EAT_STREAM_PARAMETERS
1004 #endif 992 #endif
1005 993
1006 #endif // BASE_LOGGING_H_ 994 #endif // BASE_LOGGING_H_
OLDNEW
« no previous file with comments | « base/lazy_instance.h ('k') | base/memory/singleton.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698