//==--- InterCheckerAPI.h ---------------------------------------*- C++ -*-==//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// This file allows introduction of checker dependencies. It contains APIs for
// inter-checker communications.
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
#define LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
namespace clang {
namespace ento {

/// Register the checker which evaluates CString API calls.
void registerCStringCheckerBasic(CheckerManager &Mgr);

}}
#endif /* INTERCHECKERAPI_H_ */

//==--- InterCheckerAPI.h ---------------------------------------*- C++ -*-==//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// This file allows introduction of checker dependencies. It contains APIs for
// inter-checker communications.
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
#define LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
namespace clang {
class CheckerManager;

namespace ento {

/// Register the checker which evaluates CString API calls.
void registerCStringCheckerBasic(CheckerManager &Mgr);

}}
#endif /* INTERCHECKERAPI_H_ */

Add a missing forward def of CheckerManager.  NFC.

This file doesn't include CheckerManager or forward declare it, so is sensitive to include order.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@235209 91177308-0d34-0410-b5e6-96231b3b80d8


/*
 * Copyright (C) 2012 ARM Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef __ASM_SPINLOCK_TYPES_H
#define __ASM_SPINLOCK_TYPES_H

#if !defined(__LINUX_SPINLOCK_TYPES_H) && !defined(__ASM_SPINLOCK_H)
# error "please don't include this file directly"
#endif

#define TICKET_SHIFT	16

typedef struct {
	u16 owner;
	u16 next;
} __aligned(4) arch_spinlock_t;

#define __ARCH_SPIN_LOCK_UNLOCKED	{ 0 , 0 }

typedef struct {
	volatile unsigned int lock;
} arch_rwlock_t;

#define __ARCH_RW_LOCK_UNLOCKED		{ 0 }

#endif

/*
 * Copyright (C) 2012 ARM Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef __ASM_SPINLOCK_TYPES_H
#define __ASM_SPINLOCK_TYPES_H

#if !defined(__LINUX_SPINLOCK_TYPES_H) && !defined(__ASM_SPINLOCK_H)
# error "please don't include this file directly"
#endif

#define TICKET_SHIFT	16

typedef struct {
#ifdef __AARCH64EB__
	u16 next;
	u16 owner;
#else
	u16 owner;
	u16 next;
#endif
} __aligned(4) arch_spinlock_t;

#define __ARCH_SPIN_LOCK_UNLOCKED	{ 0 , 0 }

typedef struct {
	volatile unsigned int lock;
} arch_rwlock_t;

#define __ARCH_RW_LOCK_UNLOCKED		{ 0 }

#endif

Fix the endianness of arch_spinlock_t

arm64: Fix the endianness of arch_spinlock_t

The owner and next members of the arch_spinlock_t structure need to be
swapped when compiling for big endian.

Signed-off-by: Catalin Marinas <15ce75b290ebaf27c3f9fd73ab848685ed3d8261@arm.com>
Reported-by: Matthew Leach <968f99dd328b703d57aa48028082f52162903fed@arm.com>
Acked-by: Will Deacon <b913f13ef92ac157955c954ccaaff7be065faba4@arm.com>


#pragma once
#include <cstdint>

namespace ni {
	struct InputPacket {
		constexpr static int MAGIC = 0xD00D;
		constexpr static int TYPE_LENGTH = 16;
		constexpr static int DATA_LENGTH = 128;

		uint16_t magic;
		char type[TYPE_LENGTH];
		uint16_t length;
		uint8_t data[DATA_LENGTH];

		bool isValid() const;
		bool isSafe() const;
	};
}

#pragma once
#include <cstdint>
#include "DeviceType.h"

namespace ni {
	struct InputPacket {
		constexpr static int MAGIC = 0xD00D;
		constexpr static int DATA_LENGTH = 128;

		uint16_t magic;
		DeviceType type;
		uint16_t length;
		uint8_t data[DATA_LENGTH];

		bool isValid() const;
		bool isSafe() const;
	};
}

Use DeviceType enum for the type field.

Use DeviceType enum for the type field.


//
// Created by dar on 2/13/16.
//

#ifndef C003_GUITEXT_H
#define C003_GUITEXT_H

#include "GuiElement.h"
#include <string>

class GuiText : public GuiElement {
public:
    GuiText(const std::string &string, int x, int y, char position, float scale, int color, char flags) {
        this->string = string;
        this->rawX = x;
        this->rawY = y;
        this->positionFlag = position;
        this->scale = scale;
        this->recalculateSize();
    }

    const std::string &getString() const {
        return string;
    }

    void updateString(const std::string &string) {
        this->string = string;
        this->recalculateSize();
    }

    float getScale() const {
        return scale;
    }

    void setScale(float scale) {
        GuiText::scale = scale;
    }

    int getColor() const {
        return color;
    }

    void setColor(int color) {
        GuiText::color = color;
    }

    char getFlags() const {
        return flags;
    }

    void setFlags(char flags) {
        GuiText::flags = flags;
    }

private:
    std::string string;
    float scale;
    int color;
    char flags;

    void recalculateSize() {
        //TODO this->width = getStringWidth(string); this->height = ...
    }
};

#endif //C003_GUITEXT_H

//
// Created by dar on 2/13/16.
//

#ifndef C003_GUITEXT_H
#define C003_GUITEXT_H

#include "GuiElement.h"
#include <string>

class GuiText : public GuiElement {
public:
    GuiText(const std::string &string, int x, int y, char position, float scale, int color, char flags) {
        this->string = string;
        this->rawX = x;
        this->rawY = y;
        this->positionFlag = position;
        this->scale = scale;
        this->flags = flags;
        this->recalculateSize();
    }

    const std::string &getString() const {
        return string;
    }

    void updateString(const std::string &string) {
        this->string = string;
        this->recalculateSize();
    }

    float getScale() const {
        return scale;
    }

    void setScale(float scale) {
        GuiText::scale = scale;
    }

    int getColor() const {
        return color;
    }

    void setColor(int color) {
        GuiText::color = color;
    }

    char getFlags() const {
        return flags;
    }

    void setFlags(char flags) {
        GuiText::flags = flags;
    }

private:
    std::string string;
    float scale;
    int color;
    char flags;

    void recalculateSize() {
        //TODO this->width = getStringWidth(string); this->height = ...
    }
};

#endif //C003_GUITEXT_H

Set "flags" variable in constructor

Set "flags" variable in constructor


#include <libavutil/rational.h>

typedef struct {
  char *fname;
  int w, h, bitrate;
  AVRational fps;
} output_params;

void lpms_init();
void lpms_deinit();
int  lpms_rtmp2hls(char *listen, char *outf, char *ts_tmpl, char *seg_time, char *seg_start);
int  lpms_transcode(char *inp, output_params *params, int nb_outputs);
int  lpms_length(char *inp, int ts_max, int packet_max);

#ifndef _LPMS_FFMPEG_H_
#define _LPMS_FFMPEG_H_

#include <libavutil/rational.h>

typedef struct {
  char *fname;
  int w, h, bitrate;
  AVRational fps;
} output_params;

void lpms_init();
int  lpms_rtmp2hls(char *listen, char *outf, char *ts_tmpl, char *seg_time, char *seg_start);
int  lpms_transcode(char *inp, output_params *params, int nb_outputs);

#endif // _LPMS_FFMPEG_H_

ffmpeg: Remove unused declarations from headers.

Also add some include guards.


//
//  IOException.h
//  pgf+
//
//  Created by Emil Djupfeldt on 2012-06-22.
//  Copyright (c) 2012 Chalmers University of Technology. All rights reserved.
//

#ifndef pgf__IOException_h
#define pgf__IOException_h

#include <gf/Exception.h>

namespace gf {

    class IOException : public Exception {
    private:

    public:
        IOException();
        IOException(const std::string& message);
        virtual ~IOException();
    };

}

#endif

//
//  IOException.h
//  pgf+
//
//  Created by Emil Djupfeldt on 2012-06-22.
//  Copyright (c) 2012 Chalmers University of Technology. All rights reserved.
//

#ifndef pgf__IOException_h
#define pgf__IOException_h

#include <gf/Exception.h>

namespace gf {

    class IOException : public Exception {
    private:

    public:
        IOException();
        IOException(const std::string& message);
        IOException(int err);
        virtual ~IOException();
    };

}

#endif

Add a constructor taking an c error number.


/*
    This file is part of libkcal.

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/
#ifndef KCAL_KCALVERSION_H
#define KCAL_KCALVERSION_H

#define LIBKCAL_IS_VERSION( a,b,c ) ( LIBKCAL_VERSION >= KDE_MAKE_VERSION(a,b,c) )
#define LIBKCAL_VERSION KDE_MAKE_VERSION(1,1,0)
#define LIBKCAL_VERSIONSTR "1.1"

#endif

/*
    This file is part of libkcal.

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/
#ifndef KCAL_KCALVERSION_H
#define KCAL_KCALVERSION_H

#define LIBKCAL_IS_VERSION( a,b,c ) ( LIBKCAL_VERSION >= KDE_MAKE_VERSION(a,b,c) )
#define LIBKCAL_VERSION KDE_MAKE_VERSION(1,2,0)
#define LIBKCAL_VERSIONSTR "1.2"

#endif

Increase libkcal version number, since we had bic changes since kde 3.3....

svn path=/trunk/kdepim/; revision=385823


/* Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/

#ifndef TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_
#define TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_

#include <functional>

#include "tensorflow/core/platform/macros.h"
#include "tensorflow_serving/util/executor.h"

namespace tensorflow {
namespace serving {

// An InlineExecutor is a trivial executor that immediately executes the closure
// given to it. It's useful as a mock, and in cases where an executor is needed,
// but multi-threadedness is not.
class InlineExecutor : public Executor {
 public:
  InlineExecutor();
  ~InlineExecutor() override;
  void Schedule(std::function<void()> fn) override;
};

}  // namespace serving
}  // namespace tensorflow

#endif  // TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_

/* Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/

#ifndef TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_
#define TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_

#include <functional>

#include "tensorflow/core/platform/macros.h"
#include "tensorflow_serving/util/executor.h"

namespace tensorflow {
namespace serving {

// An InlineExecutor is a trivial executor that immediately executes the closure
// given to it. It's useful as a fake, and in cases where an executor is needed,
// but multi-threadedness is not.
class InlineExecutor : public Executor {
 public:
  InlineExecutor();
  ~InlineExecutor() override;
  void Schedule(std::function<void()> fn) override;
};

}  // namespace serving
}  // namespace tensorflow

#endif  // TENSORFLOW_SERVING_UTIL_INLINE_EXECUTOR_H_

Correct mock -> fake in InlineExecutor documentation. Change: 163386931


#include <bert/encoder.h>
#include <bert/magic.h>
#include <bert/errno.h>

#include "test.h"

unsigned char output[6];

void test_output()
{
	if (output[0] != BERT_MAGIC)
	{
		test_fail("bert_encoder_push did not add the magic byte");
	}

	if (output[1] != BERT_INT)
	{
		test_fail("bert_encoder_push did not add the INT magic byte");
	}

	unsigned int i;

	for (i=2;i<6;i++)
	{
		if (output[i] != 0xff)
		{
			test_fail("output[%u] is 0x%x, expected 0x%x",output[i],0xff);
		}
	}
}

int main()
{
	bert_encoder_t *encoder = test_encoder(output,6);

	bert_data_t *data;

	if (!(data = bert_data_create_int(0xffffffff)))
	{
		test_fail("malloc failed");
	}

	test_encoder_push(encoder,data);

	bert_data_destroy(data);
	bert_encoder_destroy(encoder);

	test_output();
	return 0;
}

#include <bert/encoder.h>
#include <bert/magic.h>
#include <bert/errno.h>

#include "test.h"

unsigned char output[6];

void test_output()
{
	if (output[0] != BERT_MAGIC)
	{
		test_fail("bert_encoder_push did not add the magic byte");
	}

	if (output[1] != BERT_INT)
	{
		test_fail("bert_encoder_push did not add the INT magic byte");
	}

	unsigned char bytes[] = {0xff, 0xff, 0xff, 0xff};

	test_bytes(output+2,bytes,4);
}

int main()
{
	bert_encoder_t *encoder = test_encoder(output,6);

	bert_data_t *data;

	if (!(data = bert_data_create_int(0xffffffff)))
	{
		test_fail("malloc failed");
	}

	test_encoder_push(encoder,data);

	bert_data_destroy(data);
	bert_encoder_destroy(encoder);

	test_output();
	return 0;
}

Make use of test_bytes in the int encoder test.


#include <stdio.h>
#include <stdlib.h>
/* Linked List Implementation in C */
// This program aims at "Inserting a node at the n-th position"

typedef struct node{
	int data;
	struct node *link;
} node;

node* head; //global variable

void insert_n(int x, int n){
node* temp;
temp = (node*)malloc(sizeof(node));

temp->data = x;
temp->link=NULL;

if(n == 1) { //if the node is to be inserted at the beginning
	temp->link = head;
	head = temp;
	return;
}

//if not at begining then we need to traverse to the n-1 th node
node* temp_travel;
temp_travel = head; //start at head
int i;

for (i =1 ; i<n-1 ; i++){
temp_travel = temp_travel->link;
}

//copy the nth nodes link into temp new node's link
temp->link = temp_travel->link;

//after copy we can destroy this link in n-1 th node and make it point to the new node
temp_travel->link= temp;
return;
}

void print(){
	node* temp = head;
	printf("list is:");
	while(temp->link != NULL){
		printf(" %d",temp->data);
		temp = temp->link;
	}
	printf("\n");
}

int main(){
	head = NULL; //empty list

	insert_n(2,1); //list is: 2
	insert_n(3,2); //list is: 2 3
	insert_n(3,2); //list is: 2 3
	insert_n(4,1); //list is: 4 2 3
 	insert_n(5,2); //list is: 4 5 2 3
	insert_n(6,4); //list is: 4 5 2 6 3
	insert_n(7,6); //list is: 4 5 2 6 3 7

	print();
	return 0;
}

Add Linked List Insert at nth position

Add Linked List Insert at nth position


/* lookup-node.c -- hash */

#include <stdlib.h>

#include "datastruct/hash.h"

#include "impl.h"

hash_node_t **hash_lookup_node(hash_t *h, const void *key)
{
  int           hash;
  hash_node_t **n;

  hash = h->hash_fn(key) % h->nbins;
  for (n = &h->bins[hash]; *n != NULL; n = &(*n)->next)
    if (h->compare(key, (*n)->key) == 0)
      break;

  return n;
}

/* lookup-node.c -- hash */

#include <stdlib.h>

#include "datastruct/hash.h"

#include "impl.h"

hash_node_t **hash_lookup_node(hash_t *h, const void *key)
{
  unsigned int  hash;
  hash_node_t **n;

  hash = h->hash_fn(key) % h->nbins;
  for (n = &h->bins[hash]; *n != NULL; n = &(*n)->next)
    if (h->compare(key, (*n)->key) == 0)
      break;

  return n;
}

Make return type decl match hash_fn.

hash_lookup_node: Make return type decl match hash_fn.


//===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file is shared between AddressSanitizer and ThreadSanitizer
// run-time libraries.
//
// The file provides 'placement new'.
// Do not include it into header files, only into source files.
//===----------------------------------------------------------------------===//
#ifndef SANITIZER_PLACEMENT_NEW_H
#define SANITIZER_PLACEMENT_NEW_H

#include "sanitizer_internal_defs.h"

#if __WORDSIZE == 64
inline void *operator new(__sanitizer::uptr sz, void *p) {
  return p;
}
#else
inline void *operator new(__sanitizer::u32 sz, void *p) {
  return p;
}
#endif

#endif  // SANITIZER_PLACEMENT_NEW_H

//===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file is shared between AddressSanitizer and ThreadSanitizer
// run-time libraries.
//
// The file provides 'placement new'.
// Do not include it into header files, only into source files.
//===----------------------------------------------------------------------===//
#ifndef SANITIZER_PLACEMENT_NEW_H
#define SANITIZER_PLACEMENT_NEW_H

#include "sanitizer_internal_defs.h"

namespace __sanitizer {
#if (__WORDSIZE == 64) || defined(__APPLE__)
typedef __sanitizer::uptr operator_new_ptr_type;
#else
typedef __sanitizer::u32 operator_new_ptr_type;
#endif
}  // namespace __sanitizer

inline void *operator new(operator_new_ptr_type sz, void *p) {
  return p;
}

#endif  // SANITIZER_PLACEMENT_NEW_H

[Sanitizer] Fix type for placement new on 32-bit Mac

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@158524 91177308-0d34-0410-b5e6-96231b3b80d8


/**
 * @file
 * @description char devices
 */

#ifndef __CHAR_DEVICE_H
#define __CHAR_DEVICE_H

typedef struct chardev {
	int (*putc) (void);
	int (*getc) (int);
} chardev_t;

#define MAX_COUNT_CHAR_DEVICES 10
static chardev_t pool_chardev[MAX_COUNT_CHAR_DEVICES];
static int chardev_c = 0;

#define ADD_CHAR_DEVICE(__NAME,__IN,__OUT) \
	int __NAME=0;\
	__NAME=chardev_c; \
	pool_chardev[chardev_c++] = { \
		.getc = __IN; \
		.putc = __OUT;\
	};

#endif /* __CHAR_DEVICE_H */

/**
 * @file
 * @description char devices
 */

#ifndef __CHAR_DEVICE_H
#define __CHAR_DEVICE_H

typedef struct chardev {
	int (*putc) (void);
	int (*getc) (int);
} chardev_t;
#if 0
#define MAX_COUNT_CHAR_DEVICES 10
static chardev_t pool_chardev[MAX_COUNT_CHAR_DEVICES];
static int chardev_c = 0;

#define ADD_CHAR_DEVICE(__NAME,__IN,__OUT) \
	int __NAME=0;\
	__NAME=chardev_c; \
	pool_chardev[chardev_c++] = { \
		.getc = __IN; \
		.putc = __OUT;\
	};
#endif
#endif /* __CHAR_DEVICE_H */

Delete char_dev massive from header

Delete char_dev massive from header


// RUN: %llvmgcc -S %s
// Test case by Eric Postpischil!
void foo(void)
{
  char a[1];
  int t = 1;
  ((char (*)[t]) a)[0][0] = 0;
}

Test case for Radar 8004649.

Test case for Radar 8004649.

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@105949 91177308-0d34-0410-b5e6-96231b3b80d8


#ifndef _FAKE_LOCK_SCREEN_PATTERN_H_
#define _FAKE_LOCK_SCREEN_PATTERN_H_

#include <gtk/gtk.h>

#if !GTK_CHECK_VERSION(3, 0, 0)
typedef struct {
  gdouble red;
  gdouble green;
  gdouble blue;
  gdouble alpha;
} GdkRGBA;
#endif

typedef struct _FakeLockOption {
  void *module;
  gchar *real;
  gchar *dummy;
} FakeLockOption;

typedef struct {
  gint mark;
  gint value;
  GdkPoint top_left;
  GdkPoint bottom_right;
} FakeLockPatternPoint;

typedef enum {
  FLSP_ONE_STROKE,
  FLSP_ON_BOARD,
  FLSP_N_PATTERN,
} FakeLockScreenPattern;

void flsp_draw_circle(cairo_t *context,
                      gint x, gint y, gint radius,
                      GdkRGBA circle, GdkRGBA border);

gboolean is_marked(gint x, gint y,
                   gint *marked, void *user_data);

#endif

#ifndef _FAKE_LOCK_SCREEN_PATTERN_H_
#define _FAKE_LOCK_SCREEN_PATTERN_H_

#include <gtk/gtk.h>

#if !GTK_CHECK_VERSION(3, 0, 0)
typedef struct {
  gdouble red;
  gdouble green;
  gdouble blue;
  gdouble alpha;
} GdkRGBA;
#endif

typedef struct _FakeLockOption {
  void *module;
  gint width;
  gint height;
  gchar *real;
  gchar *dummy;
} FakeLockOption;

typedef struct {
  gint mark;
  gint value;
  GdkPoint top_left;
  GdkPoint bottom_right;
} FakeLockPatternPoint;

typedef enum {
  FLSP_ONE_STROKE,
  FLSP_ON_BOARD,
  FLSP_N_PATTERN,
} FakeLockScreenPattern;

void flsp_draw_circle(cairo_t *context,
                      gint x, gint y, gint radius,
                      GdkRGBA circle, GdkRGBA border);

gboolean is_marked(gint x, gint y,
                   gint *marked, void *user_data);

#endif

Store size of drawing area

Store size of drawing area


#ifdef LOVR_WEBGL
#include <GLES3/gl3.h>
#include <GLES2/gl2ext.h>
#include <GL/gl.h>
#include <GL/glext.h>
#else
#include "lib/glad/glad.h"
#endif

#include <stdint.h>

#pragma once

#define GPU_BUFFER_FIELDS \
  uint32_t id; \
  uint8_t incoherent;

#define GPU_CANVAS_FIELDS \
  uint32_t framebuffer; \
  uint32_t resolveBuffer; \
  uint32_t depthBuffer; \
  bool immortal;

#define GPU_MESH_FIELDS \
  uint32_t vao; \
  uint32_t ibo;

#define GPU_SHADER_FIELDS \
  uint32_t program;

#define GPU_TEXTURE_FIELDS \
  GLuint id; \
  GLuint msaaId; \
  GLenum target; \
  uint8_t incoherent;

#ifdef LOVR_WEBGL
#include <GLES3/gl3.h>
#include <GLES2/gl2ext.h>
#include <GL/gl.h>
#include <GL/glext.h>
#else
#include "lib/glad/glad.h"
#endif

#include <stdint.h>

#pragma once

#define GPU_BUFFER_FIELDS \
  uint32_t id; \
  uint8_t incoherent;

#define GPU_CANVAS_FIELDS \
  uint32_t framebuffer; \
  uint32_t resolveBuffer; \
  uint32_t depthBuffer; \
  bool immortal;

#define GPU_MESH_FIELDS \
  uint32_t vao; \
  uint32_t ibo;

#define GPU_SHADER_FIELDS \
  uint32_t program;

#define GPU_TEXTURE_FIELDS \
  uint8_t incoherent; \
  GLuint id; \
  GLuint msaaId; \
  GLenum target;

Adjust Texture padding so it's 64 bytes;


/**
 * @file tree/bounds.h
 *
 * Bounds that are useful for binary space partitioning trees.
 *
 * TODO: Come up with a better design so you can do plug-and-play distance
 * metrics.
 *
 * @experimental
 */

#ifndef TREE_BOUNDS_H
#define TREE_BOUNDS_H

#include <mlpack/core/math/math_lib.h>
#include <mlpack/core/kernels/lmetric.h>
#include "hrectbound.h"
#include "dhrectperiodicbound.h"
#include "dballbound.h"

#endif // TREE_BOUNDS_H

/**
 * @file tree/bounds.h
 *
 * Bounds that are useful for binary space partitioning trees.
 *
 * TODO: Come up with a better design so you can do plug-and-play distance
 * metrics.
 *
 * @experimental
 */

#ifndef TREE_BOUNDS_H
#define TREE_BOUNDS_H

#include <mlpack/core/math/math_lib.h>
#include <mlpack/core/math/range.h>
#include <mlpack/core/math/kernel.h>
#include <mlpack/core/kernels/lmetric.h>
#include "hrectbound.h"
#include "dhrectperiodicbound.h"
#include "dballbound.h"

#endif // TREE_BOUNDS_H

Include the correct files since math_lib.h no longer does that.


#include <stdint.h>

#include <jni.h>

#include <JavaScriptCore/JSContextRef.h>

#include "EXGL.h"

JNIEXPORT jint JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextCreate
(JNIEnv *env, jclass clazz, jlong jsCtxPtr) {
  JSGlobalContextRef jsCtx = (JSGlobalContextRef) (intptr_t) jsCtxPtr;
  if (jsCtx) {
    return EXGLContextCreate(jsCtx);
  }
  return 0;
}

JNIEXPORT void JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextDestroy
(JNIEnv *env, jclass clazz, jint exglCtxId) {
  EXGLContextDestroy(exglCtxId);
}

JNIEXPORT void JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextFlush
(JNIEnv *env, jclass clazz, jint exglCtxId) {
  EXGLContextFlush(exglCtxId);
}

#include <stdint.h>

#include <jni.h>

#include <JavaScriptCore/JSContextRef.h>

#include "EXGL.h"

JNIEXPORT jint JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextCreate
(JNIEnv *env, jclass clazz, jlong jsCtxPtr) {
  JSGlobalContextRef jsCtx = (JSGlobalContextRef) (intptr_t) jsCtxPtr;
  if (jsCtx) {
    return UEXGLContextCreate(jsCtx);
  }
  return 0;
}

JNIEXPORT void JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextDestroy
(JNIEnv *env, jclass clazz, jint exglCtxId) {
  UEXGLContextDestroy(exglCtxId);
}

JNIEXPORT void JNICALL
Java_host_exp_exponent_exgl_EXGL_EXGLContextFlush
(JNIEnv *env, jclass clazz, jint exglCtxId) {
  UEXGLContextFlush(exglCtxId);
}

Update to `UEX` prefix for unversioned C/C++ API

fbshipit-source-id: 57bd0cb


/* libunwind - a platform-independent unwind library
   Copyright (C) 2002 Hewlett-Packard Co
	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>

This file is part of libunwind.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */

#include <stdlib.h>

#include "unwind_i.h"

void
unw_destroy_addr_space (unw_addr_space_t as)
{
#ifndef UNW_LOCAL_ONLY
# ifdef UNW_DEBUG
  memset (as, 0, sizeof (*as));
# endif
  free (as);
#endif
}

Make it a no-op for UNW_LOCAL_ONLY.

(unw_destroy_addr_space): Make it a no-op for UNW_LOCAL_ONLY.

2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gdestroy_addr_space.c -> src/ia64/Gdestroy_addr_space-ia64.c

(Logical change 1.32)


/*
 * This program tests if a new thread's initial tls data
 * is clean.
 *
 * David Xu <davidxu@freebsd.org>
 *
 * $FreeBSD$
 */

#include <stdio.h>
#include <pthread.h>

int __thread n;

void *f1(void *arg)
{
	n = 1;
	return (0);
}

void *f2(void *arg)
{
	if (n != 0) {
		printf("bug, n == %d \n", n);
		exit(1);
	}
	return (0);
}

int main()
{
	pthread_t td;
	int i;

	pthread_create(&td, NULL, f1, NULL);
	pthread_join(td, NULL);
	for (i = 0; i < 1000; ++i) {
		pthread_create(&td, NULL, f2, NULL);
		pthread_yield();
		pthread_join(td, NULL);
	}
	return (0);
}

/*
 * This program tests if a new thread's initial tls data
 * is clean.
 *
 * David Xu <davidxu@freebsd.org>
 *
 * $FreeBSD$
 */

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

int __thread n;

void *f1(void *arg)
{
	if (n != 0) {
		printf("bug, n == %d \n", n);
		exit(1);
	}
	n = 1;
	return (0);
}

int main()
{
	pthread_t td;
	int i;

	for (i = 0; i < 1000; ++i) {
		pthread_create(&td, NULL, f1, NULL);
		pthread_join(td, NULL);
	}
	sleep(2);
	for (i = 0; i < 1000; ++i) {
		pthread_create(&td, NULL, f1, NULL);
		pthread_join(td, NULL);
	}
	return (0);
}

Adjust code to be more reliable.

Adjust code to be more reliable.


/*
 * Arch specific extensions to struct device
 *
 * This file is released under the GPLv2
 */
#include <asm-generic/device.h>

/*
 * Arch specific extensions to struct device
 *
 * This file is released under the GPLv2
 */
#ifndef _ASM_SPARC_DEVICE_H
#define _ASM_SPARC_DEVICE_H

struct device_node;
struct of_device;

struct dev_archdata {
	struct device_node	*prom_node;
	struct of_device	*op;
};

#endif /* _ASM_SPARC_DEVICE_H */

[SPARC]: Define minimal struct dev_archdata, similarly to sparc64.

Signed-off-by: David S. Miller <fe08d3c717adf2ae63592e4c9aec6e3e404d8e3e@davemloft.net>


#pragma once

#include <QtWidgets/QDialog>
#include <QtWidgets/QLabel>
#include <QtCore/QStringListModel>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtCore/QTimer>
#include <QtCore/QThread>
#include "binaryninjaapi.h"
#include "uitypes.h"

class BINARYNINJAUIAPI GetSymbolsListThread: public QThread
{
	Q_OBJECT

	QStringList m_allSymbols;
	std::function<void()> m_completeFunc;
	std::mutex m_mutex;
	bool m_done;
	BinaryViewRef m_view;

protected:
	virtual void run() override;

public:
	GetSymbolsListThread(BinaryViewRef view, const std::function<void()>& completeFunc);
	void cancel();

	const QStringList& getSymbols() const { return m_allSymbols; }
};

class BINARYNINJAUIAPI AddressDialogWithPreview: public QDialog
{
	Q_OBJECT

	QComboBox* m_combo;
	QStringListModel* m_model;
	QLabel* m_previewText;
	BinaryViewRef m_view;
	uint64_t m_addr;
	uint64_t m_here;
	QCheckBox* m_checkBox;
	bool m_resultValid;
	QTimer* m_updateTimer;
	QStringList m_historyEntries;
	int m_historySize;
	GetSymbolsListThread* m_updateThread;
    QColor m_defaultColor;
	QFont m_defaultFont;
	QString m_prompt;

	void commitHistory();
	void customEvent(QEvent* event);

private Q_SLOTS:
	void updateTimerEvent();
	void accepted();
	void updateRelativeState(int state);
	void updatePreview(QString text);

public:
	AddressDialogWithPreview(QWidget* parent, BinaryViewRef view, uint64_t here,
		const QString& title = "Go to Address", const QString& prompt = "Enter Expression");
	~AddressDialogWithPreview() { delete m_updateThread; }
	uint64_t getOffset() const { return m_addr; }
};

Add autocomplete and preview to 'Go To Address' dialog


/*
 * Copyright © 2015 Canonical Limited
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the licence, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 *
 * Author: Ryan Lortie <desrt@desrt.ca>
 */

#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
#error "Only <glib-object.h> can be included directly."
#endif

G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitiallyUnowned, g_object_unref)
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GValue, g_value_clear)

/*
 * Copyright © 2015 Canonical Limited
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the licence, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 *
 * Author: Ryan Lortie <desrt@desrt.ca>
 */

#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
#error "Only <glib-object.h> can be included directly."
#endif

G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitiallyUnowned, g_object_unref)
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GValue, g_value_unset)

Revert "gvalue: Use g_value_clear as clear function"

This reverts commit 3bb2e8dfc9eae7c6abd8fbec5fa751ffcb495121.


//
// Copyright (C) 2007 SIPez LLC.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// Copyright (C) 2007 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// $$
///////////////////////////////////////////////////////////////////////////////

#ifndef _MprnIntMsg_h_
#define _MprnIntMsg_h_

// SYSTEM INCLUDES

// APPLICATION INCLUDES
#include "os/OsMsg.h"
#include "utl/UtlString.h"
#include "MpResNotificationMsg.h"

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS

/// Message notification object used to send an abstract integer.
class MprnIntMsg : public MpResNotificationMsg
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

/* ============================ CREATORS ================================== */
///@name Creators
//@{

     /// Constructor
   MprnIntMsg(MpResNotificationMsg::RNMsgType msgType,
              const UtlString& namedResOriginator,
              int value,
              MpConnectionID connId = MP_INVALID_CONNECTION_ID,
              int streamId = -1);

     /// Copy constructor
   MprnIntMsg(const MprnIntMsg& rMsg);

     /// Create a copy of this msg object (which may be of a derived type)
   virtual OsMsg* createCopy() const;

     /// Destructor
   virtual ~MprnIntMsg();

//@}

/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{

     /// Assignment operator
   MprnIntMsg& operator=(const MprnIntMsg& rhs);

     /// Set the value this notification reports.
   void setValue(int value);

//@}

/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{

     /// Get the value this notification reports.
   int getValue() const;

//@}

/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{

//@}

/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
   int mValue; ///< Reported value.
};

/* ============================ INLINE METHODS ============================ */

#endif  // _MprnIntMsg_h_

Add notification message, bearing some abstract integer.

git-svn-id: f26ccc5efe72c2bd8e1c40f599fe313f2692e4de@10874 a612230a-c5fa-0310-af8b-88eea846685b


#ifndef __DIJKSTRA_H__
#define __DIJKSTRA_H__

#include <track_node.h>

int dijkstra(const track_node* const track,
             const track_node* const start,
             const track_node* const end,
             path_node* const path);

#endif

#ifndef __DIJKSTRA_H__
#define __DIJKSTRA_H__

#include <track_node.h>

#define MAX_ROUTING_TIME_ESTIMATE 5

int dijkstra(const track_node* const track,
             const track_node* const start,
             const track_node* const end,
             path_node* const path);

#endif

Add a max routing time estimate (in clock ticks)


#pragma once

#include <libevm/VMFace.h>
#include <evmjit/libevmjit/ExecutionEngine.h>

namespace dev
{
namespace eth
{

class JitVM: public VMFace
{
public:
	virtual bytesConstRef execImpl(u256& io_gas, ExtVMFace& _ext, OnOpFunc const& _onOp = {}, uint64_t _steps = (uint64_t)-1) override final;

private:
	jit::RuntimeData m_data;
	jit::ExecutionEngine m_engine;
	std::unique_ptr<VMFace> m_fallbackVM; ///< VM used in case of input data rejected by JIT
};

}
}

#pragma once

#include <libevm/VMFace.h>
#include <evmjit/libevmjit/ExecutionEngine.h>

namespace dev
{
namespace eth
{

class JitVM: public VMFace
{
public:
	virtual bytesConstRef execImpl(u256& io_gas, ExtVMFace& _ext, OnOpFunc const& _onOp, uint64_t _steps) override final;

private:
	jit::RuntimeData m_data;
	jit::ExecutionEngine m_engine;
	std::unique_ptr<VMFace> m_fallbackVM; ///< VM used in case of input data rejected by JIT
};

}
}

Change the way execution results are collected.

Changes handling ExecutionResult by Executive. From now execution results are collected on if a storage for results (ExecutionResult) is provided to an Executiove instance up front. This change allow better output management for calls - VM interface improved.


// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_
#define CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_
#pragma once

#include <string>

#include "base/ref_counted.h"

class Extension;

namespace base {
class Time;
}

namespace webkit_glue {
struct WebApplicationInfo;
}

// Generates a version number for an extension from a time. The goal is to make
// use of the version number to communicate some useful information. The
// returned version has the format:
// <year>.<month><day>.<upper 16 bits of unix timestamp>.<lower 16 bits>
std::string ConvertTimeToExtensionVersion(const base::Time& time);

// Wraps the specified web app in an extension. The extension is created
// unpacked in the system temp dir. Returns a valid extension that the caller
// should take ownership on success, or NULL and |error| on failure.
//
// NOTE: This function does file IO and should not be called on the UI thread.
// NOTE: The caller takes ownership of the directory at extension->path() on the
// returned object.
scoped_refptr<Extension> ConvertWebAppToExtension(
    const webkit_glue::WebApplicationInfo& web_app_info,
    const base::Time& create_time);

#endif  // CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_

// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_
#define CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_
#pragma once

#include <string>

#include "base/ref_counted.h"

class Extension;

namespace base {
class Time;
}

namespace webkit_glue {
class WebApplicationInfo;
}

// Generates a version number for an extension from a time. The goal is to make
// use of the version number to communicate some useful information. The
// returned version has the format:
// <year>.<month><day>.<upper 16 bits of unix timestamp>.<lower 16 bits>
std::string ConvertTimeToExtensionVersion(const base::Time& time);

// Wraps the specified web app in an extension. The extension is created
// unpacked in the system temp dir. Returns a valid extension that the caller
// should take ownership on success, or NULL and |error| on failure.
//
// NOTE: This function does file IO and should not be called on the UI thread.
// NOTE: The caller takes ownership of the directory at extension->path() on the
// returned object.
scoped_refptr<Extension> ConvertWebAppToExtension(
    const webkit_glue::WebApplicationInfo& web_app_info,
    const base::Time& create_time);

#endif  // CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_

Revert 64847 - Clang fix.

Revert 64847 - Clang fix.

TBR=evan@chromium.org
Review URL: http://codereview.chromium.org/4300003

git-svn-id: dd90618784b6a4b323ea0c23a071cb1c9e6f2ac7@64850 4ff67af0-8c30-449e-8e8b-ad334ec8d88c


/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

#ifndef _SYS_MSG_H
# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
#endif

#include <bits/types.h>

/* Define options for message queue functions.  */
#define MSG_NOERROR    010000  /* no error if message is too big */
#ifdef __USE_GNU
# define MSG_EXCEPT    020000  /* recv any msg except of specified type */
#endif

/* Types used in the structure definition.  */
typedef unsigned long int msgqnum_t;
typedef unsigned long int msglen_t;

/* Structure of record for one message inside the kernel.
   The type `struct msg' is opaque.  */
struct msqid_ds
{
  struct ipc_perm msg_perm;    /* structure describing operation permission */
  unsigned int __unused1;
  __time_t msg_stime;          /* time of last msgsnd command */
  unsigned int __unused2;
  __time_t msg_rtime;          /* time of last msgrcv command */
  unsigned int __unused3;
  __time_t msg_ctime;          /* time of last change */
  unsigned long __msg_cbytes; /* current number of bytes on queue */
  msgqnum_t msg_qnum;          /* number of messages currently on queue */
  msglen_t msg_qbytes;         /* max number of bytes allowed on queue */
  __pid_t msg_lspid;           /* pid of last msgsnd() */
  __pid_t msg_lrpid;           /* pid of last msgrcv() */
  unsigned long __unused4;
  unsigned long __unused5;
};

#ifdef __USE_MISC

# define msg_cbytes    __msg_cbytes

/* ipcs ctl commands */
# define MSG_STAT 11
# define MSG_INFO 12

/* buffer for msgctl calls IPC_INFO, MSG_INFO */
struct msginfo
  {
    int msgpool;
    int msgmap;
    int msgmax;
    int msgmnb;
    int msgmni;
    int msgssz;
    int msgtql;
    unsigned short int msgseg;
  };

#endif /* __USE_MISC */

Make powerpc compile. Needs this header...


/* syslog_c.c -- call syslog for Go.

   Copyright 2011 The Go Authors. All rights reserved.
   Use of this source code is governed by a BSD-style
   license that can be found in the LICENSE file.  */

#include <syslog.h>

/* We need to use a C function to call the syslog function, because we
   can't represent a C varargs function in Go.  */

void syslog_c(int, const char*)
  asm ("libgo_syslog.syslog.syslog_c");

void
syslog_c (int priority, const char *msg)
{
  syslog (priority, "%s", msg);
}

/* syslog_c.c -- call syslog for Go.

   Copyright 2011 The Go Authors. All rights reserved.
   Use of this source code is governed by a BSD-style
   license that can be found in the LICENSE file.  */

#include <syslog.h>

/* We need to use a C function to call the syslog function, because we
   can't represent a C varargs function in Go.  */

void syslog_c(int, const char*)
  asm ("libgo_log.syslog.syslog_c");

void
syslog_c (int priority, const char *msg)
{
  syslog (priority, "%s", msg);
}

Fix name of C syslog function.

syslog: Fix name of C syslog function.

From Rainer Orth.

R=iant
CC=gofrontend-dev
https://golang.org/cl/5480052


/** @file
  Platform specific Debug Agent abstraction for timer used by the agent.

  The timer is used by the debugger to break into a running program.

  Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef __GDB_TIMER_LIB__
#define __GDB_TIMER_LIB__

/**
  Setup all the hardware needed for the debug agents timer.

  This function is used to set up debug enviroment. It may enable interrupts.

**/
VOID
EFIAPI
DebugAgentTimerIntialize (
  VOID
  );

/**
  Set the period for the debug agent timer. Zero means disable the timer.

  @param[in] TimerPeriodMilliseconds    Frequency of the debug agent timer.

**/
VOID
EFIAPI
DebugAgentTimerSetPeriod (
  IN  UINT32  TimerPeriodMilliseconds
  );

/**
  Perform End Of Interrupt for the debug agent timer. This is called in the
  interrupt handler after the interrupt has been processed.

**/
VOID
EFIAPI
DebugAgentTimerEndOfInterrupt (
  VOID
  );

#endif

Fix newline at end of file issue.

Fix newline at end of file issue.

git-svn-id: 5648d1bec6962b0a6d1d1b40eba8cf5cdb62da3d@10508 6f19259b-4bc3-4df7-8a09-765794883524


#ifndef RPLNN_RASTERIZER_H
#define RPLNN_RASTERIZER_H

/* Currently wants the points in pixel coordinates, (0, 0) at screen center increasing towards top-right. Tri wanted as CCW
 * Depth buffer stores the depth in the first 24bits and the rest 8 are reserved for future use (stencil). */
void rasterizer_rasterize(uint32_t *render_target, uint32_t *depth_buf, const struct vec2_int *target_size, const struct vec4_float *vert_buf, const struct vec2_float *uv_buf, const unsigned int *ind_buf, const unsigned int index_count, uint32_t *texture, struct vec2_int *texture_size);
void rasterizer_clear_depth_buffer(uint32_t *depth_buf, const struct vec2_int *buf_size);

#endif /* RPLNN_RASTERIZER_H */

Clean up 7: Split function parameter list to multiple lines.


#include "../modlib.h"
#include "../parser.h"
#include "stypes.h"

#include "scoils.h"

//Use external slave configuration
extern MODBUSSlaveStatus MODBUSSlave;

Create slave coils module header file

Create slave coils module header file


// PARAM: --enable sem.unknown_function.spawn
#include <goblint.h>
#include <stddef.h>

int magic(void* (f (void *)));

void *t_fun(void *arg) {
  // __goblint_check(1); // reachable
  return NULL;
}

int main() {
  magic(t_fun); // unknown function
  return 0;
}

// PARAM: --enable sem.unknown_function.spawn
#include <goblint.h>
#include <stddef.h>

int magic(void* (f (void *)));

void *t_fun(void *arg) {
  __goblint_check(1); // reachable
  return NULL;
}

int main() {
  magic(t_fun); // unknown function
  return 0;
}

Undo commenting out of __goblint_check

Undo commenting out of __goblint_check


/*
 * Copyright 2017 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef SkUserConfigManual_DEFINED
#define SkUserConfigManual_DEFINED
  #define GR_TEST_UTILS 1
  #define SK_BUILD_FOR_ANDROID_FRAMEWORK
  #define SK_DEFAULT_FONT_CACHE_LIMIT   (768 * 1024)
  #define SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE (512 * 1024)
  #define SK_USE_FREETYPE_EMBOLDEN

  // Disable these Ganesh features
  #define SK_DISABLE_EXPLICIT_GPU_RESOURCE_ALLOCATION
  #define SK_DISABLE_RENDER_TARGET_SORTING
  // Check error is expensive. HWUI historically also doesn't check its allocations
  #define GR_GL_CHECK_ALLOC_WITH_GET_ERROR 0

  // Legacy flags
  #define SK_IGNORE_GPU_DITHER
  #define SK_SUPPORT_DEPRECATED_CLIPOPS
  #define SK_SUPPORT_LEGACY_DRAWLOOPER
  #define SK_IGNORE_LINEAR_METRICS_FIX

  // Needed until we fix https://bug.skia.org/2440
  #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
  #define SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
  #define SK_SUPPORT_LEGACY_AA_CHOICE
  #define SK_SUPPORT_LEGACY_AAA_CHOICE

  #define SK_DISABLE_DAA  // skbug.com/6886

#endif // SkUserConfigManual_DEFINED

/*
 * Copyright 2017 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef SkUserConfigManual_DEFINED
#define SkUserConfigManual_DEFINED
  #define GR_TEST_UTILS 1
  #define SK_BUILD_FOR_ANDROID_FRAMEWORK
  #define SK_DEFAULT_FONT_CACHE_LIMIT   (768 * 1024)
  #define SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE (512 * 1024)
  #define SK_USE_FREETYPE_EMBOLDEN

  // Disable these Ganesh features
  #define SK_DISABLE_EXPLICIT_GPU_RESOURCE_ALLOCATION
  #define SK_DISABLE_RENDER_TARGET_SORTING
  // Check error is expensive. HWUI historically also doesn't check its allocations
  #define GR_GL_CHECK_ALLOC_WITH_GET_ERROR 0

  // Legacy flags
  #define SK_IGNORE_GPU_DITHER
  #define SK_SUPPORT_DEPRECATED_CLIPOPS
  #define SK_SUPPORT_LEGACY_DRAWLOOPER

  // Needed until we fix https://bug.skia.org/2440
  #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
  #define SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
  #define SK_SUPPORT_LEGACY_AA_CHOICE
  #define SK_SUPPORT_LEGACY_AAA_CHOICE

  #define SK_DISABLE_DAA  // skbug.com/6886

#endif // SkUserConfigManual_DEFINED

Remove SK_IGNORE_LINEAR_METRICS_FIX flag from Skia

Test: refactoring change, will land once all existing tests pass.
Change-Id: I2cdb41023689e458990a71c5dbcc35844a22bbfa


// Test code-completion in the presence of tabs
struct Point { int x, y; };

void f(struct Point *p) {
	p->

// RUN: c-index-test -code-completion-at=%s:5:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: {TypedText x}
// CHECK-CC1: {TypedText y}

Add a test case for code-completion in the presence of tabs

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@92882 91177308-0d34-0410-b5e6-96231b3b80d8


/*
 * libreset - Reentrent set library for fast set operations in C
 *
 * Copyright (C) 2014 Matthias Beyer
 * Copyright (C) 2014 Julian Ganz
 *
 * This file is part of libreset.
 *
 * libreset is free software: you can redistribute it and/or modify it under the
 * terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation, either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * libreset is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with libreset. If not, see <http://www.gnu.org/licenses/>.
 */

/**
 * @addtogroup internal_parameters
 *
 * This group contains parameters and tweakables for the data structures.
 *
 * @{
 */

#ifndef __PARAMS_H__
#define __PARAMS_H__

/**
 * Number of variants to derive from a hash function
 *
 * When generating a bloom filter for a single element from a hash, some
 * transformatoin will be applied to generate multiple variants of the hash.
 * This way, only one hash is neccessary to use bloom filters.
 */
#define HASH_VARIANTS (3)

/**
 * @}
 */

#endif

Add header for parameters and tweakables


//===-- Support/ThreadSupport.h - Generic threading support -----*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines platform-agnostic interfaces that can be used to write
// multi-threaded programs.  Autoconf is used to chose the correct
// implementation of these interfaces, or default to a non-thread-capable system
// if no matching system support is available.
//
//===----------------------------------------------------------------------===//

#ifndef SUPPORT_THREADSUPPORT_H
#define SUPPORT_THREADSUPPORT_H

// FIXME: We need autoconf support to detect pthreads!
#if 0
#include "Support/ThreadSupport-PThreads.h"
#else
#include "Support/ThreadSupport-NoSupport.h"
#endif // If no system support is available

namespace llvm {
  /// MutexLocker - Instances of this class acquire a given Lock when
  /// constructed and hold that lock until destruction.
  ///
  class MutexLocker {
    Mutex &M;
    MutexLocker(const LockHolder &);    // DO NOT IMPLEMENT
    void operator=(const MutexLocker&); // DO NOT IMPLEMENT
  public:
    MutexLocker(Mutex &m) : M(m) { M.acquire(); }
    ~MutexLocker() { M.release(); }
  };
}

#endif // SUPPORT_THREADSUPPORT_H

//===-- Support/ThreadSupport.h - Generic threading support -----*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines platform-agnostic interfaces that can be used to write
// multi-threaded programs.  Autoconf is used to chose the correct
// implementation of these interfaces, or default to a non-thread-capable system
// if no matching system support is available.
//
//===----------------------------------------------------------------------===//

#ifndef SUPPORT_THREADSUPPORT_H
#define SUPPORT_THREADSUPPORT_H

// FIXME: Eventually don't #include config.h here
#include "Config/config.h"
#if defined(HAVE_PTHREAD_MUTEX_LOCK) && HAVE_PTHREAD_MUTEX_LOCK
#include "Support/ThreadSupport-PThreads.h"
#else
#include "Support/ThreadSupport-NoSupport.h"
#endif // If no system support is available

namespace llvm {
  /// MutexLocker - Instances of this class acquire a given Lock when
  /// constructed and hold that lock until destruction.
  ///
  class MutexLocker {
    Mutex &M;
    MutexLocker(const MutexLocker &);    // DO NOT IMPLEMENT
    void operator=(const MutexLocker &); // DO NOT IMPLEMENT
  public:
    MutexLocker(Mutex &m) : M(m) { M.acquire(); }
    ~MutexLocker() { M.release(); }
  };
}

#endif // SUPPORT_THREADSUPPORT_H

Use autoconf answers from config.h (FIXME, should autoconf this file
directly instead).

Fix LockHolder/MutexLocker typo.

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@11156 91177308-0d34-0410-b5e6-96231b3b80d8


// RUN: clang %s -fsyntax-only -print-stats
#ifdef __APPLE__
#include <Carbon/Carbon.h>
#endif

// RUN: clang %s -fsyntax-only -print-stats &&
// RUN: clang -x c-header -o %t %s && clang -token-cache %t %s
#ifdef __APPLE__
#include <Carbon/Carbon.h>
#endif

Enhance -fsyntax-only test of Carbon.h to also include testing for PTH.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@61958 91177308-0d34-0410-b5e6-96231b3b80d8


/*
 * Copyright 2015 Wink Saville
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <ac_stop.h>
#include <ac_printf.h>

/**
 * Set memory to the given byte value
 *
 * @param s points to the array
 * @param val is a byte used to fill the array
 * @param count is an integer the size of a pointer
 *
 * @return = s
 */
void* ac_memset(void *s, ac_u8 val, ac_uptr count) {
  // TODO: Optimize
  ac_u8* pU8 = s;
  for(ac_uptr i = 0; i < count; i++) {
    *pU8++ = val;
  }
  return s;
}

/**
 * Set memory, compiler needs this for initializing structs and such.
 */
void* memset(void *s, int val, ac_size_t count) {
  return ac_memset(s, val, count);
}

Add memset, needed by compiler for initializing structs and such


//
//  ISHAppDelegate.h
//  isHUD
//
//  Created by ghawkgu on 11/15/11.
//  Copyright (c) 2011 ghawkgu. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#define HUD_FADE_IN_DURATION    (0.25)
#define HUD_FADE_OUT_DURATION   (0.5)
#define HUD_DISPLAY_DURATION    (2.0)
#define HUD_ALPHA_VALUE         (0.6)
#define HUD_CORNER_RADIUS       (18.0)

#define HUD_HORIZONTAL_MARGIN   (30)
#define HUD_HEIGHT              (100)

#define MENUITEM_TAG_TOGGLE_LOGIN_ITEM 1
#define STATUS_MENU_ICON @"icon-18x18.png"

@interface ISHAppDelegate : NSObject <NSApplicationDelegate> {
@private
    BOOL fadingOut;
}
@property (unsafe_unretained) IBOutlet NSWindow *window;
@property (unsafe_unretained) IBOutlet NSTextField *isName;
@property (unsafe_unretained) IBOutlet NSMenu *statusMenu;
@property (unsafe_unretained) IBOutlet NSView *panelView;
@property (unsafe_unretained) IBOutlet NSImageView *isImage;
@property (strong) NSStatusItem * myStatusMenu;

- (IBAction)quit:(id)sender;
- (IBAction)toggleLoginItem:(id)sender;
@end

//
//  ISHAppDelegate.h
//  isHUD
//
//  Created by ghawkgu on 11/15/11.
//  Copyright (c) 2011 ghawkgu. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#define HUD_FADE_IN_DURATION    (0.25)
#define HUD_FADE_OUT_DURATION   (0.5)
#define HUD_DISPLAY_DURATION    (2.0)
#define HUD_ALPHA_VALUE         (0.6)
#define HUD_CORNER_RADIUS       (18.0)

#define HUD_HORIZONTAL_MARGIN   (30)
#define HUD_HEIGHT              (90)

#define MENUITEM_TAG_TOGGLE_LOGIN_ITEM 1
#define STATUS_MENU_ICON @"icon-18x18.png"

@interface ISHAppDelegate : NSObject <NSApplicationDelegate> {
@private
    BOOL fadingOut;
}
@property (unsafe_unretained) IBOutlet NSWindow *window;
@property (unsafe_unretained) IBOutlet NSTextField *isName;
@property (unsafe_unretained) IBOutlet NSMenu *statusMenu;
@property (unsafe_unretained) IBOutlet NSView *panelView;
@property (unsafe_unretained) IBOutlet NSImageView *isImage;
@property (strong) NSStatusItem * myStatusMenu;

- (IBAction)quit:(id)sender;
- (IBAction)toggleLoginItem:(id)sender;
@end

Set the height of the HUD to 90.

Set the height of the HUD to 90.


#ifndef FREEDOM_TO_MOVE_GENE_H
#define FREEDOM_TO_MOVE_GENE_H

#include <fstream>

#include "Gene.h"

// Total number of legal moves
class Freedom_To_Move_Gene : public Gene
{
    public:
        Freedom_To_Move_Gene();
        explicit Freedom_To_Move_Gene(std::ifstream& ifs);
        ~Freedom_To_Move_Gene() override;

        Freedom_To_Move_Gene* duplicate() const override;

        std::string name() const override;

    private:
        size_t maximum_number_of_moves;

        double score_board(const Board& board, Color perspective) const override;
};

#endif // FREEDOM_TO_MOVE_GENE_H

#ifndef FREEDOM_TO_MOVE_GENE_H
#define FREEDOM_TO_MOVE_GENE_H

#include <fstream>

#include "Gene.h"

// Total number of legal moves
class Freedom_To_Move_Gene : public Gene
{
    public:
        Freedom_To_Move_Gene();
        ~Freedom_To_Move_Gene() override;

        Freedom_To_Move_Gene* duplicate() const override;

        std::string name() const override;

    private:
        size_t maximum_number_of_moves;

        double score_board(const Board& board, Color perspective) const override;
};

#endif // FREEDOM_TO_MOVE_GENE_H

Remove unneeded method override declaration from Freedom to Move


#include <stm32f4xx.h>
#include <stm32f4xx_gpio.h>

void init_GPIO()
{
	GPIO_InitTypeDef GPIO_InitStruct = {
		.GPIO_Pin = GPIO_Pin_15,
		.GPIO_Mode = GPIO_Mode_OUT,
		.GPIO_Speed = GPIO_Speed_50MHz,
		.GPIO_OType =GPIO_OType_PP,
		.GPIO_PuPd = GPIO_PuPd_UP
	};

	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

	GPIO_Init(GPIOD, &GPIO_InitStruct);
}

int main()
{
	init_GPIO();

	return 0;
}

#include <stm32f4xx.h>
#include <stm32f4xx_gpio.h>

void init_GPIO()
{
	GPIO_InitTypeDef GPIO_InitStruct = {
		.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15,
		.GPIO_Mode = GPIO_Mode_OUT,
		.GPIO_Speed = GPIO_Speed_50MHz,
		.GPIO_OType =GPIO_OType_PP,
		.GPIO_PuPd = GPIO_PuPd_DOWN
	};

	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

	GPIO_Init(GPIOD, &GPIO_InitStruct);
}

int main()
{
	init_GPIO();

	GPIO_SetBits(GPIOD, GPIO_Pin_12);
	return 0;
}

Adjust GPIO settings and add some test code


// project-specific definitions for otaa sensor
//#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au921 1
//#define CFG_as923 1
#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS

// project-specific definitions for otaa sensor
//#define CFG_eu868 1
#define CFG_us915 1
//#define CFG_au921 1
//#define CFG_as923 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS

Change default region back to US

Change default region back to US


/* Definition of protocol GSXCBuildDelegate
   Copyright (C) 2022 Free Software Foundation, Inc.

   By: Gregory John Casamento
   Date: 25-01-2022

   This file is part of GNUstep.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110 USA.
*/

#ifndef _GSXCBuildDelegate_h_INCLUDE
#define _GSXCBuildDelegate_h_INCLUDE

#import <Foundation/NSObject.h>

#if	defined(__cplusplus)
extern "C" {
#endif

@protocol GSXCBuildDelegate

@optional
- (void) project: (PBXProject *)project publishMessage: (NSString *)message;

@end

#if	defined(__cplusplus)
}
#endif

#endif	/* _GSXCBuildDelegate_h_INCLUDE */

/* Definition of protocol GSXCBuildDelegate
   Copyright (C) 2022 Free Software Foundation, Inc.

   By: Gregory John Casamento
   Date: 25-01-2022

   This file is part of GNUstep.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110 USA.
*/

#ifndef _GSXCBuildDelegate_h_INCLUDE
#define _GSXCBuildDelegate_h_INCLUDE

#import <Foundation/NSObject.h>
#import "PBXProject.h"

#if	defined(__cplusplus)
extern "C" {
#endif

@protocol GSXCBuildDelegate

@optional
- (void) project: (PBXProject *)project publishMessage: (NSString *)message;

@end

#if	defined(__cplusplus)
}
#endif

#endif	/* _GSXCBuildDelegate_h_INCLUDE */

Build delegate change so reporting back updates shows correctly


//
//  HTMLRange.h
//  HTMLKit
//
//  Created by Iska on 20/11/16.
//  Copyright © 2016 BrainCookie. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface HTMLRange : NSObject

@end

//
//  HTMLRange.h
//  HTMLKit
//
//  Created by Iska on 20/11/16.
//  Copyright © 2016 BrainCookie. All rights reserved.
//

#import "HTMLNode.h"

/**
 A HTML Range, represents a sequence of content within a node tree.
 Each range has a start and an end which are boundary points.
 A boundary point is a tuple consisting of a node and a non-negative numeric offset.

 https://dom.spec.whatwg.org/#ranges
 */
@interface HTMLRange : NSObject

/**
 The node of the start boundary point.
 */
@property (nonatomic, readonly, strong) HTMLNode *startContainer;

/**
  The offset of the start boundary point.
 */
@property (nonatomic, readonly, assign) NSUInteger startOffset;

/**
 The node of the end boundary point.
 */
@property (nonatomic, readonly, strong) HTMLNode *endContainer;

/**
 The offset of the end boundary point.
 */
@property (nonatomic, readonly, assign) NSUInteger endOffset;

/**
 Checks whether the range is collapsed, i.e. if start is the same as end.

 @return `YES` if the range is collapsed, `NO` otherwise.
 */
@property (nonatomic, readonly, assign, getter=isCollapsed) BOOL collapsed;

/**
 The common container node that contains both start and end nodes.
 */
@property (nonatomic, readonly, weak) HTMLNode *commonAncestorContainer;

@end

Add properties to HTML Range interface

Add properties to HTML Range interface

See:
https://dom.spec.whatwg.org/#range


// SKIP
// TODO: be sound and claim that assert may hold instead of must not hold
// assert passes when compiled
#include <assert.h>

struct s {
  int fst;
};

int main() {
  struct s a;
  void *p = &a.fst;
  void *q = ((int(*)[1]) (&a))[0];
  assert(p == q);
  return 0;
}

Add skipped base AD.meet unsoundness test


#pragma once

#include "sqlite3.h"
#include "Common.h"

namespace SQLite3 {
  class Statement {
    friend void notifyUnlock(void* args[], int nArgs);

  public:
    static StatementPtr Prepare(sqlite3* sqlite, Platform::String^ sql);
    ~Statement();

    void Bind(const SafeParameterVector& params);
    void Bind(ParameterMap^ params);

    void Run();
    Platform::String^ One();
    Platform::String^ All();
    void Each(EachCallback^ callback, Windows::UI::Core::CoreDispatcher^ dispatcher);

    bool ReadOnly() const;

  private:
    Statement(sqlite3_stmt* statement);

    void BindParameter(int index, Platform::Object^ value);
    int BindParameterCount();
    std::wstring BindParameterName(int index);
    int BindText(int index, Platform::String^ val);
    int BindInt(int index, int64 val);
    int BindDouble(int index, double val);
    int BindNull(int index);

    int Step();
    void GetRow(std::wostringstream& row);
    Platform::Object^ GetColumn(int index);

    int ColumnCount();
    int ColumnType(int index);
    Platform::String^ ColumnName(int index);
    Platform::String^ ColumnText(int index);
    int64 ColumnInt(int index);
    double ColumnDouble(int index);

  private:
    HANDLE dbLockMutex;
    sqlite3_stmt* statement;
  };
}

#pragma once

#include "sqlite3.h"
#include "Common.h"

namespace SQLite3 {
  class Statement {
  public:
    static StatementPtr Prepare(sqlite3* sqlite, Platform::String^ sql);
    ~Statement();

    void Bind(const SafeParameterVector& params);
    void Bind(ParameterMap^ params);

    void Run();
    Platform::String^ One();
    Platform::String^ All();
    void Each(EachCallback^ callback, Windows::UI::Core::CoreDispatcher^ dispatcher);

    bool ReadOnly() const;

  private:
    Statement(sqlite3_stmt* statement);

    void BindParameter(int index, Platform::Object^ value);
    int BindParameterCount();
    std::wstring BindParameterName(int index);
    int BindText(int index, Platform::String^ val);
    int BindInt(int index, int64 val);
    int BindDouble(int index, double val);
    int BindNull(int index);

    int Step();
    void GetRow(std::wostringstream& row);
    Platform::Object^ GetColumn(int index);

    int ColumnCount();
    int ColumnType(int index);
    Platform::String^ ColumnName(int index);
    Platform::String^ ColumnText(int index);
    int64 ColumnInt(int index);
    double ColumnDouble(int index);

  private:
    HANDLE dbLockMutex;
    sqlite3_stmt* statement;
  };
}

Remove orphaned notifyUnlock friend function


#pragma once

#include <cstdio>
#include <cstdarg>
#include <sstream>
#include <stdarg.h>

#include <ctime>
#include <iomanip>

#define BOT_BREAK __debugbreak();

#if true
    #define BOT_ASSERT(cond, msg, ...) \
        do \
        { \
            if (!(cond)) \
            { \
                Assert::ReportFailure(#cond, __FILE__, __LINE__, (msg), ##__VA_ARGS__); \
                BOT_BREAK \
            } \
        } while(0)
#else
    #define BOT_ASSERT(cond, msg, ...)
#endif

namespace Assert
{
    extern std::string lastErrorMessage;

    const std::string CurrentDateTime();

    void ReportFailure(const char * condition, const char * file, int line, const char * msg, ...);
}

#pragma once

#include <cstdio>
#include <cstdarg>
#include <sstream>
#include <stdarg.h>

#include <ctime>
#include <iomanip>

#ifdef WIN32
    #define BOT_BREAK __debugbreak();
#else
    #define BOT_BREAK ;
#endif

#if true
    #define BOT_ASSERT(cond, msg, ...) \
        do \
        { \
            if (!(cond)) \
            { \
                Assert::ReportFailure(#cond, __FILE__, __LINE__, (msg), ##__VA_ARGS__); \
                BOT_BREAK \
            } \
        } while(0)
#else
    #define BOT_ASSERT(cond, msg, ...)
#endif

namespace Assert
{
    extern std::string lastErrorMessage;

    const std::string CurrentDateTime();

    void ReportFailure(const char * condition, const char * file, int line, const char * msg, ...);
}

Put dummy BOT_ASSERT in case of non-Windows build

Unfortunately non-Windows platforms don't have good analogue
for Winodws DebugBrake(). There are several alternatives that
depend heavily on debugger time.

Since we have lldb, gdb and probably something else but still
need to compile the code this commit replaces BOT_ASSERT with a dummy
until it will be decided how to handle such cases in a portable way.


// RUN: %ocheck 0 %s

void abort(void);

g()
{
	return 0;
}

main()
{
	int n = 5; // an unaligned value
	int vla[n];

	vla[0] = 1;
	vla[1] = 2;
	vla[2] = 3;
	vla[3] = 4;

	{
		// this alloca is done in order after the vla,
		// but is coalesced to before the VLA by the stack logic
		int x = 99;

		if(x != 99) abort();

		if(g())
			return 3; // scope-leave/restore vla, but doesn't pop the vla state

		int y = 35;
		if(y != 35) abort();

		// more scope leave code
		for(int i = 0; i < 10; i++)
			if(i == 5)
				break;

		if(vla[0] != 1) abort();
		if(vla[1] != 2) abort();
		if(vla[2] != 3) abort();
		if(vla[3] != 4) abort();
		if(sizeof vla != n * sizeof(int))
			abort();

		if(y != 35) abort();
		if(x != 99) abort();
	}

	if(vla[0] != 1) abort();
	if(vla[1] != 2) abort();
	if(vla[2] != 3) abort();
	if(vla[3] != 4) abort();
	if(sizeof vla != n * sizeof(int))
		abort();

	return 0;
}

Test normal (backend-)allocas inside VLA scope


#ifndef IPSS_BENCH_H
#define IPSS_BENCH_H

extern void start_ipss_measurement();
extern void stop_ipss_measurement();

#endif

#ifndef IPSS_BENCH_H
#define IPSS_BENCH_H

#ifdef   __cplusplus
extern "C"
{
#endif

void start_ipss_measurement();
void stop_ipss_measurement();

#ifdef   __cplusplus
}
#endif

#endif

Update header for use from C++

CMSIS-DSP: Update header for use from C++


/*
name: TEST016
description: Basic pointer test
output:
test016.c:43: error: redefinition of 'func2'
test016.c:47: error: incompatible types when assigning
G1	I	g
F1
G2	F1	func1
{
-
A2	I	x
A4	P	p
	G1	#I1	:I
	A2	#I1	:I
	A4	A2	'P	:P
	A4	@I	#I0	:I
	j	L5	A2	#I0	=I
	yI	#I1
L5
	A4	G1	'P	:P
	A4	@I	#I0	:I
	j	L6	A4	#I0	IP	!I
	yI	#I1
L6
	yI	#I0
}
G3	F1	func2
{
-
A1	I	x
A2	P	p
A4	P	pp
	A1	#I1	:I
	A2	A1	'P	:P
	A4	A2	'P	:P
	j	L5	A2	#I0	IP	=I
	A4	@P	@I	#I0	:I
L5
	A2	#I0	IP	:P
	yI	A1
}
????
*/

#line 1

int g;

int
func1(void)
{
	int  x;
	int *p;

	g = 1;
	x = 1;
	p = &x;
	*p = 0;
	if (x)
		return 1;

	p = &g;
	*p = 0;
	if (p == 0)
		return 1;
	return 0;
}

int
func2(void)
{
	int   x;
	int  *p;
	int **pp;

	x = 1;
	p = &x;
	pp = &p;
	if (p != 0)
		**pp = 0;
	p = 0;
	return x;
}

int
func2(void)
{
	char c;
	int *p;

	p = &c;
	return *p;
}

Add basic test for pointers

Add basic test for pointers


//
//  ObjectiveRocks.h
//  ObjectiveRocks
//
//  Created by Iska on 20/11/14.
//  Copyright (c) 2014 BrainCookie. All rights reserved.
//

#import "RocksDB.h"
#import "RocksDBOptions.h"
#import "RocksDBReadOptions.h"
#import "RocksDBWriteOptions.h"
#import "RocksDBWriteBatch.h"
#import "RocksDBIterator.h"
#import "RocksDBSnapshot.h"
#import "RocksDBComparator.h"

Add RocksDB comparator import to the main public header


/*
name: TEST003
description: Select function to call inside ternary operator
output:
*/

int
foo(void)
{
	return 42;
}

int
bar(void)
{
	return 24;
}

int
main(void)
{
	return (1 ? foo : bar)();
}

/*
name: TEST003
description: Select function to call inside ternary operator
output:
F1
X1	F1	foo
G1	F1	foo	{
-
	yI	#I2A
}
X2	F1	bar
G2	F1	bar	{
-
	yI	#I18
}
X3	F1	main
G3	F1	main	{
-
	yI	G1	cI
}
*/

int
foo(void)
{
	return 42;
}

int
bar(void)
{
	return 24;
}

int
main(void)
{
	return (1 ? foo : bar)();
}

Add correct output for TEST003

Add correct output for TEST003

stateless take a look that it even optimize out
the ternary operator.


#include <stdlib.h>
#include <stdio.h>
#include <glib.h>

enum markdown_extensions {
    EXT_SMART            = 1,
    EXT_NOTES            = 2,
    EXT_FILTER_HTML      = 3,
    EXT_FILTER_STYLES    = 4
};

enum markdown_formats {
    HTML_FORMAT,
    LATEX_FORMAT,
    GROFF_MM_FORMAT
};

GString * markdown_to_g_string(char *text, int extensions, int output_format);
char * markdown_to_string(char *text, int extensions, int output_format);

/* vim: set ts=4 sw=4 : */

#include <stdlib.h>
#include <stdio.h>
#include <glib.h>

enum markdown_extensions {
    EXT_SMART            = 0x01,
    EXT_NOTES            = 0x02,
    EXT_FILTER_HTML      = 0x04,
    EXT_FILTER_STYLES    = 0x08
};

enum markdown_formats {
    HTML_FORMAT,
    LATEX_FORMAT,
    GROFF_MM_FORMAT
};

GString * markdown_to_g_string(char *text, int extensions, int output_format);
char * markdown_to_string(char *text, int extensions, int output_format);

/* vim: set ts=4 sw=4 : */

Fix extensions flags bit collision.

Fix extensions flags bit collision.

Setting EXT_FILTER_HTML was the same as setting
(EXT_SMART | EXT_NOTES); setting EXT_FILTER_STYLES would
also set EXT_NOTES.

The switch to hex notation is purely to hint that the
values are meant to be used as bit flags directly.


// LAF Base Library
// Copyright (c) 2014-2016 David Capello
//
// This file is released under the terms of the MIT license.
// Read LICENSE.txt for more information.

#ifndef BASE_SCOPED_VALUE_H_INCLUDED
#define BASE_SCOPED_VALUE_H_INCLUDED
#pragma once

namespace base {

  template<typename T>
  class ScopedValue {
  public:
    ScopedValue(T& instance, const T& inScopeValue, const T& outScopeValue)
      : m_instance(instance)
      , m_outScopeValue(outScopeValue) {
      m_instance = inScopeValue;
    }

    ~ScopedValue() {
      m_instance = m_outScopeValue;
    }

  private:
    T& m_instance;
    T m_outScopeValue;
  };

} // namespace base

#endif

// LAF Base Library
// Copyright (c) 2022 Igara Studio S.A.
// Copyright (c) 2014-2016 David Capello
//
// This file is released under the terms of the MIT license.
// Read LICENSE.txt for more information.

#ifndef BASE_SCOPED_VALUE_H_INCLUDED
#define BASE_SCOPED_VALUE_H_INCLUDED
#pragma once

namespace base {

  template<typename T,
           typename U = T>
  class ScopedValue {
  public:
    ScopedValue(T& instance, const U& inScopeValue, const U& outScopeValue)
      : m_instance(instance)
      , m_outScopeValue(outScopeValue) {
      m_instance = inScopeValue;
    }

    ~ScopedValue() {
      m_instance = m_outScopeValue;
    }

  private:
    T& m_instance;
    U m_outScopeValue;
  };

} // namespace base

#endif

Add new U param to ScopedValue<T, U>

Add new U param to ScopedValue<T, U>

In this way we can use it for std::atomics, e.g.

  base::ScopedValue<std::atomic<bool>, bool>


#ifndef __AUDIO_RX_H__
#define __AUDIO_RX_H__

#include <stdint.h>

typedef void (*put_audio_samples_rx)(uint8_t*, int, int);

int start_audio_rx(const char* sdp, int maxDelay, put_audio_samples_rx callback);
int stop_audio_rx();

#endif /* __AUDIO_RX_H__ */

#ifndef __AUDIO_RX_H__
#define __AUDIO_RX_H__

#include <stdint.h>

typedef void (*put_audio_samples_rx)(uint8_t *samples, int size, int nframe);

int start_audio_rx(const char* sdp, int maxDelay, put_audio_samples_rx callback);
int stop_audio_rx();

#endif /* __AUDIO_RX_H__ */

Add params name in put_audio_samples_rx pointer function definition.


#include <string>
#include <vector>
#ifndef __hpux
using namespace std;
#endif

#pragma create TClass vector<bool>;
#pragma create TClass vector<char>;
#pragma create TClass vector<short>;
#pragma create TClass vector<long>;
#pragma create TClass vector<unsigned char>;
#pragma create TClass vector<unsigned short>;
#pragma create TClass vector<unsigned int>;
#pragma create TClass vector<unsigned long>;
#pragma create TClass vector<float>;
#pragma create TClass vector<double>;
#pragma create TClass vector<char*>;
#pragma create TClass vector<const char*>;
#pragma create TClass vector<string>;

#if (!(G__GNUC==3 && G__GNUC_MINOR==1)) && !defined(G__KCC) && (!defined(G__VISUAL) || G__MSC_VER<1300)
// gcc3.1,3.2 has a problem with iterator<void*,...,void&>
#pragma create TClass vector<void*>;
#endif

#include <string>
#include <vector>
#ifndef __hpux
using namespace std;
#endif

#pragma create TClass vector<bool>;
#pragma create TClass vector<char>;
#pragma create TClass vector<short>;
#pragma create TClass vector<long>;
#pragma create TClass vector<unsigned char>;
#pragma create TClass vector<unsigned short>;
#pragma create TClass vector<unsigned int>;
#pragma create TClass vector<unsigned long>;
#pragma create TClass vector<float>;
#pragma create TClass vector<double>;
#pragma create TClass vector<char*>;
#pragma create TClass vector<const char*>;
#pragma create TClass vector<string>;
#pragma create TClass vector<Long64_t>;
#pragma create TClass vector<ULong64_t>;

#if (!(G__GNUC==3 && G__GNUC_MINOR==1)) && !defined(G__KCC) && (!defined(G__VISUAL) || G__MSC_VER<1300)
// gcc3.1,3.2 has a problem with iterator<void*,...,void&>
#pragma create TClass vector<void*>;
#endif

Add missing TClass creation for vector<Long64_t> and vector<ULong64_t>

git-svn-id: ecbadac9c76e8cf640a0bca86f6bd796c98521e3@38659 27541ba8-7e3a-0410-8455-c3a389f83636


/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/* Mock PWM control module for Chrome EC */

#include "pwm.h"
#include "timer.h"
#include "uart.h"

static int fan_target_rpm;
static int kblight;

int pwm_set_fan_target_rpm(int rpm)
{
	uart_printf("Fan RPM: %d\n", rpm);
	fan_target_rpm = rpm;
	return EC_SUCCESS;
}

int pwm_get_fan_target_rpm(void)
{
	return fan_target_rpm;
}

int pwm_set_keyboard_backlight(int percent)
{
	uart_printf("KBLight: %d\n", percent);
	kblight = percent;
	return EC_SUCCESS;
}

int pwm_get_keyboard_backlight(void)
{
	return kblight;
}

int pwm_get_keyboard_backlight_enabled(void)
{
	/* Always enabled */
	return 1;
}

int pwm_enable_keyboard_backlight(int enable)
{
	/* Not implemented */
	return EC_SUCCESS;
}

void pwm_task(void)
{
	/* Do nothing */
	while (1)
		usleep(5000000);
}

/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/* Mock PWM control module for Chrome EC */

#include "pwm.h"
#include "timer.h"
#include "uart.h"

static int fan_target_rpm;
static int kblight;

int pwm_set_fan_target_rpm(int rpm)
{
	uart_printf("Fan RPM: %d\n", rpm);
	fan_target_rpm = rpm;
	return EC_SUCCESS;
}

int pwm_get_fan_target_rpm(void)
{
	return fan_target_rpm;
}

int pwm_set_keyboard_backlight(int percent)
{
	uart_printf("KBLight: %d\n", percent);
	kblight = percent;
	return EC_SUCCESS;
}

int pwm_get_keyboard_backlight(void)
{
	return kblight;
}

int pwm_get_keyboard_backlight_enabled(void)
{
	/* Always enabled */
	return 1;
}

int pwm_enable_keyboard_backlight(int enable)
{
	/* Not implemented */
	return EC_SUCCESS;
}

int pwm_set_fan_duty(int percent)
{
	/* Not implemented */
	return EC_SUCCESS;
}

void pwm_task(void)
{
	/* Do nothing */
	while (1)
		usleep(5000000);
}

Fix unit test compilation error

Fix unit test compilation error

A host command to set fan duty cycle is recently added and mock PWM
module doesn't provide the implementation. This breaks our unit test.
Let's fix this.

BUG=chrome-os-partner:10820
TEST='thermal' unit test passed.

Change-Id: I8644742cfec7d2112d7ff1e266b5ac3429c46945
Reviewed-on: https://gerrit.chromium.org/gerrit/26019
Reviewed-by: Vincent Palatin <70a9964ec8fd10b0b08fcc8623c2add25ddf99ac@chromium.org>
Commit-Ready: Vic Yang <5fd92abeee651458f98e2856f4f200ee971cee4d@chromium.org>
Tested-by: Vic Yang <5fd92abeee651458f98e2856f4f200ee971cee4d@chromium.org>


#include "rmc.h"

// HMMMMM. All of these get optimized away and shouldn't.
// Also, if r doesn't get used usefully, that load gets optimized away.
// I can't decide whether that is totally fucked or not.

int global_p, global_q;

int bogus_ctrl_dep1() {
    XEDGE(read, write);

    L(read, int r = global_p);
    if (r == r) {
        L(write, global_q = 1);
    }

    return r;
}

// Do basically the same thing in each branch
int bogus_ctrl_dep2() {
    XEDGE(read, write);

    L(read, int r = global_p);
    if (r) {
        L(write, global_q = 1);
    } else {
        L(write, global_q = 1);
    }

    return r;
}

// Have a bogus ctrl dep
int bogus_ctrl_dep3() {
    XEDGE(read, write);

    L(read, int r = global_p);
    if (r) {};

    L(write, global_q = 1);

    return r;
}

Add a bunch of rmc tests that we brutally miscompile because llvm optimizes everything away.


//
//  CDZThingsHubConfiguration.h
//  thingshub
//
//  Created by Chris Dzombak on 1/13/14.
//  Copyright (c) 2014 Chris Dzombak. All rights reserved.
//

@interface CDZThingsHubConfiguration : NSObject

/**
 Asynchronously returns the app's current `CZDThingsHubConfiguration` as the next value in the signal, then completes.

 Walks from ~ down to the current directory, merging in .thingshubconfig files as they are found.
 Command-line parameters override any parameters set in the merged config file.

 If there's a validation error, the signal will complete with an error.
 */
+ (RACSignal *)currentConfiguration;

/// Global (typically); configured by "tagNamespace = ". Default is "github".
@property (nonatomic, copy, readonly) NSString *tagNamespace;

/// Global (typically); configured by "reviewTag = ". Default is "review".
@property (nonatomic, copy, readonly) NSString *reviewTagName;

/// Global (typically); configured by "githubLogin = "
@property (nonatomic, copy, readonly) NSString *githubLogin;

/// Per-project (typically); configured by "githubOrg = "
@property (nonatomic, copy, readonly) NSString *githubOrgName;

/// Per-project; configured by "githubRepo = "
@property (nonatomic, copy, readonly) NSString *githubRepoName;

/// Per-project; configured by "thingsArea = ". May be missing; default is nil.
@property (nonatomic, copy, readonly) NSString *thingsAreaName;

@end

//
//  CDZThingsHubConfiguration.h
//  thingshub
//
//  Created by Chris Dzombak on 1/13/14.
//  Copyright (c) 2014 Chris Dzombak. All rights reserved.
//

@class RACSignal;

@interface CDZThingsHubConfiguration : NSObject

/**
 Asynchronously returns the app's current `CZDThingsHubConfiguration` as the next value in the signal, then completes.

 Walks from ~ down to the current directory, merging in .thingshubconfig files as they are found.
 Command-line parameters override any parameters set in the merged config file.

 If there's a validation error, the signal will complete with an error.
 */
+ (RACSignal *)currentConfiguration;

/// Global (typically); configured by "tagNamespace = ". Default is "github".
@property (nonatomic, copy, readonly) NSString *tagNamespace;

/// Global (typically); configured by "reviewTag = ". Default is "review".
@property (nonatomic, copy, readonly) NSString *reviewTagName;

/// Global (typically); configured by "githubLogin = "
@property (nonatomic, copy, readonly) NSString *githubLogin;

/// Per-project (typically); configured by "githubOrg = "
@property (nonatomic, copy, readonly) NSString *githubOrgName;

/// Per-project; configured by "githubRepo = "
@property (nonatomic, copy, readonly) NSString *githubRepoName;

/// Per-project; configured by "thingsArea = ". May be missing; default is nil.
@property (nonatomic, copy, readonly) NSString *thingsAreaName;

@end

Add missing forward class declaration to ThingsHubConfiguration


#include <stdio.h>

int my_array[] = {1,2,3,4,5,6};

void f()
{
	printf("called f\n");
}

void (*f_pointer())(void)
{
	return &f;
}

int hundredth(int a[])
{
	return a[100];
}

int head(int a[])
{
	return a[0];
}

int (*f2())(int*)
{
	return &head;
}

int previous(int a[])
{
	return a[-1];
}

int main(void)
{
	int one  = head(my_array);
	int prev = previous(&my_array[1]);
	int two = f2()(my_array);
	f();
	f_pointer()();
	printf("Head of array => %d\n", one);
	printf("Head of array => %d\n", prev);
	printf("Head of array => %d\n", two);
	return 0;
}

Test taking address of C array

Test taking address of C array


/* Copyright 2017 The primitiv Authors. All Rights Reserved. */

#ifndef PRIMITIV_C_STATUS_H_
#define PRIMITIV_C_STATUS_H_

#include <primitiv/c/define.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum primitiv_Status {
  PRIMITIV_OK = 0,
  PRIMITIV_ERROR = 1,
} primitiv_Status;

extern PRIMITIV_C_API const char *primitiv_Status_get_message();

extern PRIMITIV_C_API void primitiv_Status_reset();

#ifdef __cplusplus
}  // end extern "C"
#endif

#endif  // PRIMITIV_C_STATUS_H_

/* Copyright 2017 The primitiv Authors. All Rights Reserved. */

#ifndef PRIMITIV_C_STATUS_H_
#define PRIMITIV_C_STATUS_H_

#include <primitiv/c/define.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum primitiv_Status {
  PRIMITIV_OK = 0,
  PRIMITIV_ERROR = -1,
} primitiv_Status;

extern PRIMITIV_C_API const char *primitiv_Status_get_message();

extern PRIMITIV_C_API void primitiv_Status_reset();

#ifdef __cplusplus
}  // end extern "C"
#endif

#endif  // PRIMITIV_C_STATUS_H_

Change the PRIMITIV_ERROR value from 1 to -1 so that MSB can imply errors.


// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_
#define UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_

#include "base/compiler_specific.h"
#include "base/string16.h"
#include "ui/views/controls/textfield/textfield_controller.h"
#include "ui/views/examples/example_base.h"

namespace views {

class Label;

namespace examples {

// An example that compares the multi-line rendering of different controls.
class MultilineExample : public ExampleBase,
                         public TextfieldController {
 public:
  MultilineExample();
  virtual ~MultilineExample();

  // ExampleBase:
  virtual void CreateExampleView(View* container) OVERRIDE;

 private:
  class RenderTextView;

  // TextfieldController:
  virtual void ContentsChanged(Textfield* sender,
                               const string16& new_contents) OVERRIDE;
  virtual bool HandleKeyEvent(Textfield* sender,
                              const ui::KeyEvent& key_event) OVERRIDE;

  RenderTextView* render_text_view_;
  Label* label_;
  Textfield* textfield_;

  DISALLOW_COPY_AND_ASSIGN(MultilineExample);
};

}  // namespace examples
}  // namespace views

#endif  // UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_

// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_
#define UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_

#include "base/compiler_specific.h"
#include "base/strings/string16.h"
#include "ui/views/controls/textfield/textfield_controller.h"
#include "ui/views/examples/example_base.h"

namespace views {

class Label;

namespace examples {

// An example that compares the multi-line rendering of different controls.
class MultilineExample : public ExampleBase,
                         public TextfieldController {
 public:
  MultilineExample();
  virtual ~MultilineExample();

  // ExampleBase:
  virtual void CreateExampleView(View* container) OVERRIDE;

 private:
  class RenderTextView;

  // TextfieldController:
  virtual void ContentsChanged(Textfield* sender,
                               const string16& new_contents) OVERRIDE;
  virtual bool HandleKeyEvent(Textfield* sender,
                              const ui::KeyEvent& key_event) OVERRIDE;

  RenderTextView* render_text_view_;
  Label* label_;
  Textfield* textfield_;

  DISALLOW_COPY_AND_ASSIGN(MultilineExample);
};

}  // namespace examples
}  // namespace views

#endif  // UI_VIEWS_EXAMPLES_MULTILINE_EXAMPLE_H_

views/examples: Update the include of string16.h to point to its new location.

string16.h now lives in base/strings/ directory.

BUG=247723
TBR=ben@chromium.org
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/17193002

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@206667 0039d316-1c4b-4281-b951-d872f2087c98


#include <ruby.h>

static ID id_cmp;

static VALUE rb_array_binary_index(VALUE self, VALUE value) {
  int lower = 0;
  int upper = RARRAY(self)->len - 1;
  int i, comp;

  while(lower <= upper) {
    i = lower + (upper - lower) / 2;
    comp = FIX2INT(rb_funcall(value, id_cmp, 1, RARRAY(self)->ptr[i]));

    if(comp == 0) {
      return LONG2NUM(i);
    } else if(comp == 1) {
      lower = i + 1;
    } else {
      upper = i - 1;
    };
  }
  return Qnil;
}

void Init_binary_search() {
  id_cmp = rb_intern("<=>");
  rb_define_method(rb_cArray, "binary_index", rb_array_binary_index, 1);
}

#include <ruby.h>

#ifndef RARRAY_PTR
#define RARRAY_PTR(ary) RARRAY(ary)->ptr
#endif
#ifndef RARRAY_LEN
#define RARRAY_LEN(ary) RARRAY(ary)->len
#endif

static ID id_cmp;

static VALUE rb_array_binary_index(VALUE self, VALUE value) {
  int lower = 0;
  int upper = RARRAY_LEN(self) - 1;
  int i, comp;

  while(lower <= upper) {
    i = lower + (upper - lower) / 2;
    comp = FIX2INT(rb_funcall(value, id_cmp, 1, RARRAY_PTR(self)[i]));

    if(comp == 0) {
      return LONG2NUM(i);
    } else if(comp == 1) {
      lower = i + 1;
    } else {
      upper = i - 1;
    };
  }
  return Qnil;
}

void Init_binary_search() {
  id_cmp = rb_intern("<=>");
  rb_define_method(rb_cArray, "binary_index", rb_array_binary_index, 1);
}

Use RARRAY_LEN and RARRAY_PTR on ruby 1.9


#include <windows.h>
#include <stdio.h>
#include <tchar.h>

//
// RelativeLink.c
// by Jacob Appelbaum <jacob@appelbaum.net>
//
// This is a very small program to work around the lack of relative links
// in any of the most recent builds of Windows.
//
// To build this, you need Cygwin or MSYS.
//
// You need to build the icon resource first:
// windres RelativeLink-res.rc RelativeLink-res.o
//
// Then you'll compile the program and include the icon object file:
// gcc -mwindows -o StartTorBrowserBundle RelativeLink.c RelativeLink-res.o
//
// End users will be able to use StartTorBrowserBundle.exe
//

//int _tmain( int argc, TCHAR *argv[])
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory ( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory ( &pi, sizeof(pi) );

    TCHAR *ProgramToStart;
    ProgramToStart = TEXT ("App/vidalia.exe --datadir .\\Data\\Vidalia\\");

    if( !CreateProcess(
        NULL, ProgramToStart, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))
    {
         MessageBox ( NULL, TEXT ("Unable to start Vidalia"), NULL, NULL );
         return -1;
    }

    return 0;
}

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

//
// RelativeLink.c
// by Jacob Appelbaum <jacob@appelbaum.net>
//
// This is a very small program to work around the lack of relative links
// in any of the most recent builds of Windows.
//
// To build this, you need Cygwin or MSYS.
//
// You need to build the icon resource first:
// windres RelativeLink-res.rc RelativeLink-res.o
//
// Then you'll compile the program and include the icon object file:
// gcc -mwindows -o StartTorBrowserBundle RelativeLink.c RelativeLink-res.o
//
// End users will be able to use StartTorBrowserBundle.exe
//

//int _tmain( int argc, TCHAR *argv[])
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory ( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory ( &pi, sizeof(pi) );

    TCHAR *ProgramToStart;
    ProgramToStart = TEXT ("App/vidalia.exe --datadir .\\Data\\Vidalia\\");

    if( !CreateProcess(
        NULL, ProgramToStart, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))
    {
         MessageBox ( NULL, TEXT ("Unable to start Vidalia"), NULL, MB_OK);
         return -1;
    }

    return 0;
}

Fix pointer without cast issue.

Fix pointer without cast issue.

svn:r14724


#include <stdlib.h> /* malloc(), free() */
#include <sys/mman.h> /* mmap(), munmap() */
#include <stdio.h> /* perror() */
#include <assert.h>

int main(int argc, char **argv)
{
  void *addr, *addr2;
  size_t size = 16 * 1024;

  addr = mmap((void*) 0, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, (off_t) 0);
  assert(addr != MAP_FAILED);

  /* Assert: memory mapped twice does not error. */
  addr2 = mmap(addr + (size / 2), size / 2, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, (off_t) 0);
  assert(addr2 != MAP_FAILED);

  return 0;
}

Test that mmap()ing a region twice does not fail.


//
//  UIViewController+IDPExtensions.h
//  ClipIt
//
//  Created by Vadim Lavrov Viktorovich on 2/20/13.
//  Copyright (c) 2013 IDAP Group. All rights reserved.
//

#import <UIKit/UIKit.h>

#define IDPViewControllerViewOfClassGetterSynthesize(theClass, getterName) \
        - (theClass *)getterName { \
            if ([self.view isKindOfClass:[theClass class]]) { \
                return (theClass *)self.view; \
            } \
            return nil; \
        }

@interface UIViewController (IDPExtensions)

@property (nonatomic, retain, readonly) UITableView *tableView;

@end

//
//  UIViewController+IDPExtensions.h
//  ClipIt
//
//  Created by Vadim Lavrov Viktorovich on 2/20/13.
//  Copyright (c) 2013 IDAP Group. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIViewController (IDPExtensions)

@property (nonatomic, retain, readonly) UITableView *tableView;

@end

Move IDPViewControllerViewOfClassGetterSynthesize to CommonKit -> IDPPropertyMacros.h


#define KBUILD_MODNAME "SomeModule"
#define CONFIG_DEBUG_SPINLOCK 1
#undef __GNUC_MINOR__
#define __GNUC_MINOR__ 4

Redefine version macro to avoid gcc 4.5 features not supported by CIL


// RUN: not %clang -o /dev/null -v -fxray-instrument -c %s
// XFAIL: -linux-
// REQUIRES: amd64 || x86_64 || x86_64h || arm || aarch64 || arm64
typedef int a;

// RUN: not %clang -o /dev/null -v -fxray-instrument -c %s
// XFAIL: -linux-
// REQUIRES-ANY: amd64, x86_64, x86_64h, arm, aarch64, arm64
typedef int a;

Revert "[test] Replace `REQUIRES-ANY: a, b, c` with `REQUIRES: a || b || c`."

The underlying `lit` change needs to be better-coordinated with libc++.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@292898 91177308-0d34-0410-b5e6-96231b3b80d8


#ifndef HALIDE_RUNTIME_MUTEX_H
#define HALIDE_RUNTIME_MUTEX_H

#include "HalideRuntime.h"

// Avoid ODR violations
namespace {

// An RAII mutex
struct ScopedMutexLock {
    halide_mutex *mutex;

    ScopedMutexLock(halide_mutex *mutex) : mutex(mutex) {
        halide_mutex_lock(mutex);
    }

    ~ScopedMutexLock() {
        halide_mutex_unlock(mutex);
    }
};

}

#endif

Add an OS mutex to Halide runtime.

Add an OS mutex to Halide runtime.

Document an issue with the POSIX thread pool.

Ensure memoization cache is cleaned up when a JITted module is
shutdown. (Also provides a way to clear the cache from AOT code.)

Former-commit-id: cf5298c90763481e80a748c1b10453c482fdd7a8


/* To avoid recursion in certain includes */
#ifndef _RTDEFS_H_
#define _RTDEFS_H_ 1

#define MAXCHANS 4
#define MAX_INPUT_FDS 128
#define AUDIO_DEVICE 9999999

/* definition of input file desc struct used by rtinput */
typedef struct inputdesc {
	char filename[1024];
	int fd;
	int refcount;
#ifdef USE_SNDLIB
	short header_type;        /* e.g., AIFF_sound_file (in sndlib.h) */
	short data_format;        /* e.g., snd_16_linear (in sndlib.h) */
	short chans;
#else
  #ifdef sgi
	void *handle;
  #endif
#endif
	int data_location;        /* offset of sound data start in file */
	float dur;
} InputDesc;

/* for insts - so they don't have to include globals.h */
extern int MAXBUF;
extern int NCHANS;
extern int RTBUFSAMPS;
extern float SR;

#endif /* _RTDEFS_H_ */

/* To avoid recursion in certain includes */
#ifndef _RTDEFS_H_
#define _RTDEFS_H_ 1

#define MAXCHANS 4
#define MAX_INPUT_FDS 128
#define AUDIO_DEVICE 9999999

/* definition of input file desc struct used by rtinput */
typedef struct inputdesc {
	char filename[1024];
	int fd;
	int refcount;
#ifdef USE_SNDLIB
	short header_type;        /* e.g., AIFF_sound_file (in sndlib.h) */
	short data_format;        /* e.g., snd_16_linear (in sndlib.h) */
	short chans;
	float srate;
#else
  #ifdef sgi
	void *handle;
  #endif
#endif
	int data_location;        /* offset of sound data start in file */
	float dur;
} InputDesc;

/* for insts - so they don't have to include globals.h */
extern int MAXBUF;
extern int NCHANS;
extern int RTBUFSAMPS;
extern float SR;

#endif /* _RTDEFS_H_ */

Add srate field to InputDesc.

Add srate field to InputDesc.