Skip to content

Instantly share code, notes, and snippets.

View jyasskin's full-sized avatar
💭
Back on Monday

Jeffrey Yasskin jyasskin

💭
Back on Monday
View GitHub Profile
@jyasskin
jyasskin / instanceof_demo.html
Last active January 4, 2016 05:29
Running on localhost, this displays "Tag Name: CXX-FUNCTION; Instance of CxxFunctionElement: false", but when copied to jsbin, it shows "Tag Name: CXX-FUNCTION; Instance of CxxFunctionElement: true". I believe 'true' is the expected result.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.1.3/platform.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.1.3/polymer.js"></script>
<polymer-element name="cxx-function" constructor="CxxFunctionElement" noscript>
<template>
<pre><code><content></content></code></pre>
$ clang++ -O1 -g test.cc -fno-omit-frame-pointer -o test && ~/src/chromium/src/third_party/valgrind/linux_x64/bin/valgrind ./test
==10069== Memcheck, a memory error detector
==10069== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==10069== Using Valgrind-3.9.0.SVN and LibVEX; rerun with -h for copyright info
==10069== Command: ./test
==10069==
==10069== Conditional jump or move depends on uninitialised value(s)
==10069== at 0x400597: main (test.cc:15)
==10069==
Yep.
static void
update_class_location(tree cls, location_t new_location)
{
tree instantiations, tmpl_info, tmpl_decl;
DECL_SOURCE_LOCATION (TYPE_NAME (cls)) = new_location;
if ((tmpl_info = CLASSTYPE_TEMPLATE_INFO (cls)))
{
tmpl_decl = TI_TEMPLATE (tmpl_info);
for (instantiations = DECL_TEMPLATE_INSTANTIATIONS (tmpl_decl);
instantiations;
# 1 "bad.h" 1
template <class A> struct MisplacedDbg;
# 1 "bad_partial.h"
template<class T> struct MisplacedDbg<T*>;
# 1 "bad_full.h"
struct Full;
template<> struct MisplacedDbg<Full>;
# 1 "util.h"
struct Arg;
typedef MisplacedDbg<Arg> Typedef1;