9 Commits

Author SHA1 Message Date
andrew@webrtc.org
4ca66d691e 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
2014-09-10 03:24:36 +00:00
andrew@webrtc.org
34a6764981 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
2014-09-02 19:00:45 +00:00
andrew@webrtc.org
b0dc3d7204 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
2014-08-28 19:00:15 +00:00
andrew@webrtc.org
a5b7869f3d 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
2014-08-28 16:28:26 +00:00
kwiberg@webrtc.org
324f63ca38 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
2014-07-15 11:41:05 +00:00
henrike@webrtc.org
c50bf7cbd0 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
2014-05-14 18:24:13 +00:00
henrike@webrtc.org
f048872e91 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
2014-05-13 18:00:26 +00:00
perkj@webrtc.org
e9a604accd 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
2014-05-13 08:15:48 +00:00
henrike@webrtc.org
2c7d1b39b9 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
2014-05-12 18:03:09 +00:00