History log of /external/webrtc/webrtc/base/checks.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> Add RTC_ prefix to (D)CHECKs and related macros.

We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1335923002

Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/webrtc/base/checks.cc
4ca66d691e1334231e57c069f4683d1a4d2d48f2 10-Sep-2014 andrew@webrtc.org <andrew@webrtc.org> include cstdlib for free() and abort()

This previous CL added uses of free() and abort() without including cstdlib:
https://webrtc-codereview.appspot.com/22449004

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/23559004

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7127 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
34a6764981a656c62daed0d962f01374a08f9bac 02-Sep-2014 andrew@webrtc.org <andrew@webrtc.org> Remove the checks.h dependence on logging.h in a standalone build.

logging.h apparently drags in a lot of undesirable dependencies. It was
only required for the trivial LogMessageVoidify; simply add an
identical FatalMessageVoidify instead.

Keep the include in a Chromium build to still have the override
mechanism use Chromium's macros.

Bonus: Add the missing DCHECK_GT (noticed by bercic).

R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17259004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7031 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
b0dc3d720414003b271d2f992c34252dc736b74c 28-Aug-2014 andrew@webrtc.org <andrew@webrtc.org> Precompile out our standalone CHECK macros in a Chromium build.

As documented, the use of overrides/webrtc/base/logging.h in a Chromium
build reuslts in redefined macro errors. Fortunately, Chromium's macros
can be used as drop-in replacements for the standalone versions.

TBR=henrike

Review URL: https://webrtc-codereview.appspot.com/17239004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7004 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
a5b7869f3d9887d67a17f9607dcc0922c7d2b278 28-Aug-2014 andrew@webrtc.org <andrew@webrtc.org> Add CHECK and friends from Chromium.

Replace FATAL_ERROR_IF with the more familiar (to Chromium developers)
CHECK and DCHECK. The full Chromium implementation is fairly elaborate
but I copied enough to get us most of the benefits. I believe the main
missing component is a more advanced stack dump. For this bit I relied
on the V8 implementation.

There are a few minor modifications from the Chromium original:
- The FatalMessage class is specialized for logging fatal error
messages and aborting. Chromium uses the general LogMessage class,
which we could consider moving towards in the future.
- NOTIMPLEMENTED() and NOTREACHED() have been removed, partly because
I don't want to rely on our logging.h until base/ and system_wrappers/
are consolidated.
- FATAL() replaces LOG(FATAL).

Minor modifications from V8's stack dump:
- If parsing of a stack trace symbol fails, just print the unparsed
symbol. (I noticed this happened on Mac.)
- Use __GLIBCXX__ and __UCLIBC__. This is from examining the backtrace
use in Chromium.

UNREACHABLE() has been removed because its behavior is different than
Chromium's NOTREACHED(), which is bound to cause confusion. The few uses
were replaced with FATAL(), matching the previous behavior.

Add a NO_RETURN macro, allowing us to remove unreachable return
statements following a CHECK/FATAL.

TESTED=the addition of dummy CHECK, DCHECK, CHECK_EQ and FATAL did the
did the right things. Stack traces work on Mac, but I don't get symbols
on Linux.

R=henrik.lundin@webrtc.org, kwiberg@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22449004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7003 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
324f63ca38401cb38ae4564dcee80bfb4bb2927e 15-Jul-2014 kwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> rtc::Fatal output: Print space between # and message

R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6689 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
c50bf7cbd0483806c50a848d24349a79939e1161 14-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Added namespace rtc to some base classes and functions. It was causing linker error in the FYI bots: http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Android%20Builder%20%28dbg%29/builds/1808/steps/compile/logs/stdio but also, not doing it pollutes the global namespace.

BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19479005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6157 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
f048872e915a3ee229044ec4bc541f6cbf9e4de1 13-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Adds a modified copy of talk/base to webrtc/base. It is the first step in
migrating talk/base to webrtc/base.

BUG=N/A
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17479005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6129 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
e9a604accd54ab14dbf98f99ccdcf3ae1c54d27c 13-May-2014 perkj@webrtc.org <perkj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Revert 6107 "Adds a modified copy of talk/base to webrtc/base. I..."

This breaks Chromium FYI builds and prevent roll of webrtc/libjingle to Chrome.

http://chromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Win%20Builder/builds/457


> Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.
>
> BUG=N/A
> R=andrew@webrtc.org, wu@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/12199004

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6116 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc
2c7d1b39b9374d2bc9bda4755fd4813db66a135c 12-May-2014 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.

BUG=N/A
R=andrew@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6107 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/base/checks.cc