/**
 * @file RandGenerator.h
 * @brief generate random item ids
 * @author Jun Jiang
 * @date 2011-11-30
 */

#ifndef RAND_GENERATOR_H
#define RAND_GENERATOR_H

#include <util/ThreadModel.h>

#include <boost/random.hpp>

namespace sf1r
{

template<typename ValueType = int,
         typename Distribution = boost::uniform_int<ValueType>,
         typename Engine = boost::mt19937,
         typename LockType = izenelib::util::ReadWriteLock>
class RandGenerator
{
public:
    RandGenerator()
        : generator_(Engine(), Distribution())
    {}

    void seed(int value)
    {
        ScopedWriteLock lock(lock_);

        generator_.engine().seed(value);
    }

    ValueType generate(ValueType min, ValueType max)
    {
        ScopedWriteLock lock(lock_);

        Distribution& dist = generator_.distribution();
        if (dist.min() != min || dist.max() != max)
        {
            dist = Distribution(min, max);
        }

        return generator_();
    }

private:
    typedef boost::variate_generator<Engine, Distribution> Generator;
    Generator generator_;

    typedef izenelib::util::ScopedWriteLock<LockType> ScopedWriteLock;
    LockType lock_;
};

} // namespace sf1r

#endif // RAND_GENERATOR_H

/**
 * @file RandGenerator.h
 * @brief generate random item ids
 * @author Jun Jiang
 * @date 2011-11-30
 */

#ifndef RAND_GENERATOR_H
#define RAND_GENERATOR_H

#include <util/ThreadModel.h>

#include <boost/random.hpp>

namespace sf1r
{

template<typename ValueType = int,
         typename Distribution = boost::uniform_int<ValueType>,
         typename Engine = boost::mt19937,
         typename LockType = izenelib::util::ReadWriteLock>
class RandGenerator
{
public:
    RandGenerator()
        : generator_(Engine(), Distribution())
    {}

    void seed(unsigned int value)
    {
        ScopedWriteLock lock(lock_);

        Engine& engine = generator_.engine();
        engine.seed(value);
    }

    ValueType generate(ValueType min, ValueType max)
    {
        ScopedWriteLock lock(lock_);

        Distribution& dist = generator_.distribution();
        if (dist.min() != min || dist.max() != max)
        {
            dist = Distribution(min, max);
        }

        return generator_();
    }

private:
    typedef boost::variate_generator<Engine, Distribution> Generator;
    Generator generator_;

    typedef izenelib::util::ScopedWriteLock<LockType> ScopedWriteLock;
    LockType lock_;
};

} // namespace sf1r

#endif // RAND_GENERATOR_H

Fix compile error under boost 1.38, caused by boost/random.hpp seed()


#ifndef _TPOOL_TASK_BASE_H_
#define _TPOOL_TASK_BASE_H_

#include <boost/shared_ptr.hpp>

namespace tpool {
  class TaskBase {
  public:
    typedef boost::shared_ptr<TaskBase> Ptr;

    ~TaskBase() {}

    virtual void Do() = 0;
  };
}

#endif

#ifndef _TPOOL_TASK_BASE_H_
#define _TPOOL_TASK_BASE_H_

#include <boost/shared_ptr.hpp>

namespace tpool {
  class TaskBase {
  public:
    typedef boost::shared_ptr<TaskBase> Ptr;
    enum State {
      INIT,
      RUNNING,
      FINISHED,
      CANCELED,
    };

    ~TaskBase() {}

    virtual void Do() = 0;
    virtual State GetState() const;
  };
}

#endif

Add the state definitions for Task.

Add the state definitions for Task.


#ifndef __FEATURES_H
#define __FEATURES_H

#ifdef __STDC__

#define __P(x) x
#define __const const

/* Almost ansi */
#if __STDC__ != 1
#define const
#define volatile
#endif

#else /* K&R */

#define __P(x) ()
#define __const
#define const
#define volatile

#endif

/* No C++ */
#define __BEGIN_DECLS
#define __END_DECLS

/* GNUish things */
#define __CONSTVALUE
#define __CONSTVALUE2

#define _POSIX_THREAD_SAFE_FUNCTIONS

#include <sys/cdefs.h>

#endif

#ifndef __FEATURES_H
#define __FEATURES_H

/* Major and minor version number of the uCLibc library package.  Use
   these macros to test for features in specific releases.  */
#define	__UCLIBC__		0
#define	__UCLIBC_MAJOR__	9
#define	__UCLIBC_MINOR__	1

#ifdef __STDC__

#define __P(x) x
#define __const const

/* Almost ansi */
#if __STDC__ != 1
#define const
#define volatile
#endif

#else /* K&R */

#define __P(x) ()
#define __const
#define const
#define volatile

#endif

/* No C++ */
#define __BEGIN_DECLS
#define __END_DECLS

/* GNUish things */
#define __CONSTVALUE
#define __CONSTVALUE2

#define _POSIX_THREAD_SAFE_FUNCTIONS

#include <sys/cdefs.h>

#endif

Add in a version number so apps can tell uclib is being used. -Erik


/* Copyright (c) 2013, Linaro Limited
 * All rights reserved.
 *
 * SPDX-License-Identifier:     BSD-3-Clause
 */

/**
 * @file
 *
 * ODP synchronisation
 */

#ifndef ODP_SYNC_H_
#define ODP_SYNC_H_

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Synchronise stores
 *
 * Ensures that all CPU store operations that precede the odp_sync_stores()
 * call are globally visible before any store operation that follows it.
 */
static inline void odp_sync_stores(void)
{
#if defined __x86_64__ || defined __i386__

	__asm__  __volatile__ ("sfence\n" : : : "memory");

#elif defined __arm__

	__asm__ __volatile__ ("dmb st" : : : "memory");

#elif defined __OCTEON__

	__asm__  __volatile__ ("syncws\n" : : : "memory");

#else
	__sync_synchronize();
#endif
}

#ifdef __cplusplus
}
#endif

#endif

/* Copyright (c) 2013, Linaro Limited
 * All rights reserved.
 *
 * SPDX-License-Identifier:     BSD-3-Clause
 */

/**
 * @file
 *
 * ODP synchronisation
 */

#ifndef ODP_SYNC_H_
#define ODP_SYNC_H_

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Synchronise stores
 *
 * Ensures that all CPU store operations that precede the odp_sync_stores()
 * call are globally visible before any store operation that follows it.
 */
static inline void odp_sync_stores(void)
{
#if defined __x86_64__ || defined __i386__

	__asm__  __volatile__ ("sfence\n" : : : "memory");

#elif defined __arm__ || defined __aarch64__

	__asm__ __volatile__ ("dmb st" : : : "memory");

#elif defined __OCTEON__

	__asm__  __volatile__ ("syncws\n" : : : "memory");

#else
	__sync_synchronize();
#endif
}

#ifdef __cplusplus
}
#endif

#endif

Add write memory barrier for aarch64

Add write memory barrier for aarch64

This patch updates odp_sync_stores routine to add write memory barrier for
aarch64.

Signed-off-by: Ankit Jindal <0920ec6e02c95b572519373847b995b0763a0743@linaro.org>
Signed-off-by: Tushar Jagad <3604ae1aed16529df1f2280ecebda0599cb1687d@linaro.org>
Reviewed-by: Anders Roxell <b4e8e89057bc64bc4f9625a4a821c9ac177a7ed2@linaro.org>


#ifndef KPUTS_H
#define KPUTS_H
#include "drivers/terminal.h"

void kputs(char* string);
void kprint_int(char* string, int i);

#endif

#ifndef KPUTS_H
#define KPUTS_H
#include <stdarg.h>
#include "drivers/terminal.h"

void kputs(char* string);
void kprintf(char* string, ...);

#endif

Update headers to match new printf

Update headers to match new printf


#ifndef GRIDCELL_H
#define GRIDCELL_H

#include <gsl/gsl_rng.h>

/*
    DATA STRUCTURES
*/

#define GC_NUM_STATES 4
typedef enum { DECIDUOUS,CONIFEROUS,TRANSITIONAL,MIXED} State;
typedef double StateData [GC_NUM_STATES];

typedef enum { MOORE, VONNE} NeighType;

extern State GC_POSSIBLE_STATES [GC_NUM_STATES];  // this is an array giving all possible states

typedef struct {
    double meanTemp;
    /*Task: list all variables need to be used*/
    // Fill later
} Climate;

typedef struct {
    State* currentState;
    State* stateHistory;
    Climate climate;
    StateData prevalence;
    StateData transitionProbs;
    size_t historySize;
} GridCell;

/*.
    FUNCTION PROTOTYPES
*/

GridCell* gc_make_cell (size_t numTimeSteps); // allocate memory and null initialize cell, initialize pointers
void gc_get_trans_prob (GridCell* cell);
void gc_select_new_state (GridCell* cell, gsl_rng* rng);
void gc_destroy_cell(GridCell *cell);

#endif

#ifndef GRIDCELL_H
#define GRIDCELL_H

#include <gsl/gsl_rng.h>

/*
    DATA STRUCTURES
*/

#define GC_NUM_STATES 4
typedef enum { DECIDUOUS,CONIFEROUS,TRANSITIONAL,MIXED} State;
typedef double StateData [GC_NUM_STATES];
typedef enum { MOORE, VONNE} NeighType;

typedef struct {
    double meanTemp;
    /*Task: list all variables need to be used*/
    // Fill later
} Climate;

typedef struct {
    State* currentState;
    State* stateHistory;
    Climate climate;
    StateData prevalence;
    StateData transitionProbs;
    size_t historySize;
} GridCell;

/*.
    FUNCTION PROTOTYPES
*/

GridCell* gc_make_cell (size_t numTimeSteps); // allocate memory and null initialize cell, initialize pointers
void gc_get_trans_prob (GridCell* cell);
void gc_select_new_state (GridCell* cell, gsl_rng* rng);
void gc_destroy_cell(GridCell *cell);

#endif

Delete unused extern variable declared

Delete unused extern variable declared


#ifndef GUICONSTANTS_H
#define GUICONSTANTS_H

/* Milliseconds between model updates */
static const int MODEL_UPDATE_DELAY = 500;

/* AskPassphraseDialog -- Maximum passphrase length */
static const int MAX_PASSPHRASE_SIZE = 1024;

/* CubitsGUI -- Size of icons in status bar */
static const int STATUSBAR_ICONSIZE = 16;

/* Invalid field background style */
#define STYLE_INVALID "background:#FF8080"

/* Transaction list -- unconfirmed transaction */
#define COLOR_UNCONFIRMED QColor(128, 128, 128)
/* Transaction list -- negative amount */
#define COLOR_NEGATIVE QColor(255, 0, 0)
/* Transaction list -- bare address (without label) */
#define COLOR_BAREADDRESS QColor(140, 140, 140)

/* Tooltips longer than this (in characters) are converted into rich text,
   so that they can be word-wrapped.
 */
static const int TOOLTIP_WRAP_THRESHOLD = 80;

/* Maximum allowed URI length */
static const int MAX_URI_LENGTH = 255;

/* QRCodeDialog -- size of exported QR Code image */
#define EXPORT_IMAGE_SIZE 256

#endif // GUICONSTANTS_H

#ifndef GUICONSTANTS_H
#define GUICONSTANTS_H

/* Milliseconds between model updates */
static const int MODEL_UPDATE_DELAY = 5000;

/* AskPassphraseDialog -- Maximum passphrase length */
static const int MAX_PASSPHRASE_SIZE = 1024;

/* CubitsGUI -- Size of icons in status bar */
static const int STATUSBAR_ICONSIZE = 16;

/* Invalid field background style */
#define STYLE_INVALID "background:#FF8080"

/* Transaction list -- unconfirmed transaction */
#define COLOR_UNCONFIRMED QColor(128, 128, 128)
/* Transaction list -- negative amount */
#define COLOR_NEGATIVE QColor(255, 0, 0)
/* Transaction list -- bare address (without label) */
#define COLOR_BAREADDRESS QColor(140, 140, 140)

/* Tooltips longer than this (in characters) are converted into rich text,
   so that they can be word-wrapped.
 */
static const int TOOLTIP_WRAP_THRESHOLD = 80;

/* Maximum allowed URI length */
static const int MAX_URI_LENGTH = 255;

/* QRCodeDialog -- size of exported QR Code image */
#define EXPORT_IMAGE_SIZE 256

#endif // GUICONSTANTS_H

Set more rare GUI update

Set more rare GUI update


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

int
main (int argc, char *argv[])
{
  int rank, size, length;
  char name[BUFSIZ];

  MPI_Init (&argc, &argv);
  MPI_Comm_rank (MPI_COMM_WORLD, &rank);
  MPI_Comm_size (MPI_COMM_WORLD, &size);
  MPI_Get_processor_name (name, &length);

  printf ("%s: hello world from process %d of %d\n", name, rank, size);

  MPI_Finalize ();

  return EXIT_SUCCESS;
}

Add missing file for the MPI test.

Add missing file for the MPI test.

svn path=/nixos/trunk/; revision=27337


// (C) Copyright 2017, Google Inc.
// 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.
// Portability include to match the Google test environment.

#ifndef TESSERACT_UNITTEST_CYCLETIMER_H
#define TESSERACT_UNITTEST_CYCLETIMER_H

#include "absl/time/clock.h" // for GetCurrentTimeNanos

// See https://github.com/google/or-tools/blob/master/ortools/base/timer.h
class CycleTimer {
public:
  CycleTimer() {
    Reset();
  }

  void Reset() {
    running_ = false;
    sum_ = 0;
  }

  // When Start() is called multiple times, only the most recent is used.
  void Start() {
    running_ = true;
    start_ = absl::GetCurrentTimeNanos();
  }

  void Restart() {
    sum_ = 0;
    Start();
  }

  void Stop() {
    if (running_) {
      sum_ += absl::GetCurrentTimeNanos() - start_;
      running_ = false;
    }
  }
  int64_t GetInMs() const { return GetNanos() / 1000000; }

 protected:
  int64_t GetNanos() const {
    return running_ ? absl::GetCurrentTimeNanos() - start_ + sum_ : sum_;
  }

 private:
  bool running_;
  int64_t start_;
  int64_t sum_;
};

#endif  // TESSERACT_UNITTEST_CYCLETIMER_H

Add a basic implementation of class CycleTimer

It is used by baseapi_test.

Signed-off-by: Stefan Weil <8d4c780fcfdc41841e5070f4c43da8958ba6aec0@weilnetz.de>


#ifndef TR_HUB_SERIAL_PORT_H
#define TR_HUB_SERIAL_PORT_H

#include <stdio.h>    // Standard input/output definitions
#include <string.h>   // String function definitions
#include <unistd.h>   // UNIX standard function definitions
#include <fcntl.h>    // File control definitions
#include <errno.h>    // Error number definitions
#include <termios.h>  // POSIX terminal control definitions
#include <sys/ioctl.h>

#include <boost/thread.hpp>
#include <boost/function.hpp>

#include <string>

namespace tr_hub_parser
{

class SerialPort
{
public:
  SerialPort();
  virtual ~SerialPort();

  bool connect(const std::string port);
  void disconnect();

  bool sendChar(const char c[]);

  void setSerialCallbackFunction(boost::function<void(uint8_t)> *f);
  void serialThread();

  int serial_port_fd_;
  boost::thread serial_thread_;
  bool serial_thread_should_exit_;

  boost::function<void(uint8_t)> * serial_callback_function;
};

} // namespace tr_hub_parser

#endif  // TR_HUB_SERIAL_PORT_H

#ifndef TERARANGER_HUB_SERIAL_PORT_H
#define TERARANGER_HUB_SERIAL_PORT_H

#include <stdio.h>    // Standard input/output definitions
#include <string.h>   // String function definitions
#include <unistd.h>   // UNIX standard function definitions
#include <fcntl.h>    // File control definitions
#include <errno.h>    // Error number definitions
#include <termios.h>  // POSIX terminal control definitions
#include <sys/ioctl.h>

#include <boost/thread.hpp>
#include <boost/function.hpp>

#include <string>

namespace tr_hub_parser
{

class SerialPort
{
public:
  SerialPort();
  virtual ~SerialPort();

  bool connect(const std::string port);
  void disconnect();

  bool sendChar(const char c[]);

  void setSerialCallbackFunction(boost::function<void(uint8_t)> *f);
  void serialThread();

  int serial_port_fd_;
  boost::thread serial_thread_;
  bool serial_thread_should_exit_;

  boost::function<void(uint8_t)> * serial_callback_function;
};

} // namespace tr_hub_parser

#endif  // TERARANGER_HUB_SERIAL_PORT_H

Fix ifdef for serial port header file

Fix ifdef for serial port header file


extern void __VERIFIER_error() __attribute__ ((__noreturn__));
extern int __VERIFIER_nondet_int();
void __VERIFIER_assert(int cond) {
    if (!(cond)) {
        ERROR: __VERIFIER_error();
    }
    return;
}

int main()
{
    int x, y;
    if (__VERIFIER_nondet_int())
    {
        x = 0;
        y = 1;
    }
    else
    {
        x = 1;
        y = 0;
    }

    // if (!(x + y == 1))
    if (x + y != 1)
        __VERIFIER_error();
    return 0;
}

extern void __VERIFIER_error() __attribute__ ((__noreturn__));
extern int __VERIFIER_nondet_int();

int main()
{
    int x, y;
    if (__VERIFIER_nondet_int())
    {
        x = 0;
        y = 1;
    }
    else
    {
        x = 1;
        y = 0;
    }

    // if (!(x + y == 1))
    if (x + y != 1)
        __VERIFIER_error();
    return 0;
}

Remove unused __VERIFIER_assert definition from nofun test


#ifndef QTYAML_GLOBAL_H
#define QTYAML_GLOBAL_H

#include <QtCore/QtGlobal>

#if defined(QTYAML_LIBRARY)
#  define QTYAMLSHARED_EXPORT Q_DECL_EXPORT
#else
#  define QTYAMLSHARED_EXPORT Q_DECL_IMPORT
#endif

#endif // QTYAML_GLOBAL_H

#ifndef QTYAML_GLOBAL_H
#define QTYAML_GLOBAL_H

#include <QtCore/QtGlobal>

#ifdef YAML_DECLARE_STATIC
#  define QTYAMLSHARED_EXPORT
#else
#  ifdef QTYAML_LIBRARY
#    define QTYAMLSHARED_EXPORT Q_DECL_EXPORT
#  else
#    define QTYAMLSHARED_EXPORT Q_DECL_IMPORT
#  endif
#endif

#endif // QTYAML_GLOBAL_H

Add support for static lib

Add support for static lib


/* $Id$ $Revision$ */
/* vim:set shiftwidth=4 ts=8: */

/**********************************************************
*      This software is part of the graphviz package      *
*                http://www.graphviz.org/                 *
*                                                         *
*            Copyright (c) 1994-2004 AT&T Corp.           *
*                and is licensed under the                *
*            Common Public License, Version 1.0           *
*                      by AT&T Corp.                      *
*                                                         *
*        Information and Software Systems Research        *
*              AT&T Research, Florham Park NJ             *
**********************************************************/

#ifdef __cplusplus
extern "C" {
#endif

#ifndef HTMLLEX_H
#define HTMLLEX_H

#include <agxbuf.h>

    extern int initHTMLlexer(char *, agxbuf *);
    extern int htmllex(void);
    extern int htmllineno(void);
    extern int clearHTMLlexer(void);
    void htmlerror(const char *);

#endif

#ifdef __cplusplus
}
#endif

/* $Id$ $Revision$ */
/* vim:set shiftwidth=4 ts=8: */

/**********************************************************
*      This software is part of the graphviz package      *
*                http://www.graphviz.org/                 *
*                                                         *
*            Copyright (c) 1994-2004 AT&T Corp.           *
*                and is licensed under the                *
*            Common Public License, Version 1.0           *
*                      by AT&T Corp.                      *
*                                                         *
*        Information and Software Systems Research        *
*              AT&T Research, Florham Park NJ             *
**********************************************************/

#ifdef __cplusplus
extern "C" {
#endif

#ifndef HTMLLEX_H
#define HTMLLEX_H

#include <agxbuf.h>

    extern int initHTMLlexer(char *, agxbuf *, int);
    extern int htmllex(void);
    extern int htmllineno(void);
    extern int clearHTMLlexer(void);
    void htmlerror(const char *);

#endif

#ifdef __cplusplus
}
#endif

Add support for charset attribute and Latin1 encoding.


/*
 * Copyright (c) 2012-2016
 * See LICENSE for details.
 *
 * Israel Jacquez <mrkotfw@gmail.com
 */

#include <sys/cdefs.h>

#include <smpc/smc.h>

#include <cpu/instructions.h>
#include <cpu/frt.h>
#include <cpu/intc.h>
#include <cpu/map.h>
#include <cpu/slave.h>

static void _slave_entry(void);
static void _default_entry(void);

static void (*_entry)(void) = _default_entry;

void
cpu_slave_init(void)
{
        smpc_smc_sshoff_call();

        cpu_slave_entry_clear();

        cpu_intc_ihr_set(INTC_INTERRUPT_SLAVE_ENTRY, _slave_entry);

        smpc_smc_sshon_call();
}

void
cpu_slave_entry_set(void (*entry)(void))
{
        _entry = (entry != NULL) ? entry : _default_entry;
}

static void
_slave_entry(void)
{
        while (true) {
                while (((cpu_frt_status_get()) & FRTCS_ICF) == 0x00);

                cpu_frt_control_chg((uint8_t)~FRTCS_ICF);

                _entry();
        }
}

static void
_default_entry(void)
{
}

/*
 * Copyright (c) 2012-2016
 * See LICENSE for details.
 *
 * Israel Jacquez <mrkotfw@gmail.com
 */

#include <sys/cdefs.h>

#include <smpc/smc.h>

#include <cpu/instructions.h>
#include <cpu/frt.h>
#include <cpu/intc.h>
#include <cpu/map.h>
#include <cpu/slave.h>

static void _slave_entry(void);

static void _default_entry(void);

static void (*_entry)(void) = _default_entry;

void
cpu_slave_init(void)
{
        smpc_smc_sshoff_call();

        cpu_slave_entry_clear();

        cpu_intc_ihr_set(INTC_INTERRUPT_SLAVE_ENTRY, _slave_entry);

        smpc_smc_sshon_call();
}

void
cpu_slave_entry_set(void (*entry)(void))
{
        _entry = (entry != NULL) ? entry : _default_entry;
}

static void __noreturn
_slave_entry(void)
{
        while (true) {
                while (((cpu_frt_status_get()) & FRTCS_ICF) == 0x00);

                cpu_frt_control_chg((uint8_t)~FRTCS_ICF);

                _entry();
        }
}

static void
_default_entry(void)
{
}

Mark _slave_entry to never return

Mark _slave_entry to never return


/*
 * ds1742rtc.h - register definitions for the Real-Time-Clock / CMOS RAM
 *
 * Copyright (C) 1999-2001 Toshiba Corporation
 * Copyright (C) 2003 Ralf Baechle (ralf@linux-mips.org)
 *
 * Permission is hereby granted to copy, modify and redistribute this code
 * in terms of the GNU Library General Public License, Version 2 or later,
 * at your option.
 */
#ifndef __LINUX_DS1742RTC_H
#define __LINUX_DS1742RTC_H

#include <asm/ds1742.h>

#define RTC_BRAM_SIZE		0x800
#define RTC_OFFSET		0x7f8

/*
 * Register summary
 */
#define RTC_CONTROL		(RTC_OFFSET + 0)
#define RTC_CENTURY		(RTC_OFFSET + 0)
#define RTC_SECONDS		(RTC_OFFSET + 1)
#define RTC_MINUTES		(RTC_OFFSET + 2)
#define RTC_HOURS		(RTC_OFFSET + 3)
#define RTC_DAY			(RTC_OFFSET + 4)
#define RTC_DATE		(RTC_OFFSET + 5)
#define RTC_MONTH		(RTC_OFFSET + 6)
#define RTC_YEAR		(RTC_OFFSET + 7)

#define RTC_CENTURY_MASK	0x3f
#define RTC_SECONDS_MASK	0x7f
#define RTC_DAY_MASK		0x07

/*
 * Bits in the Control/Century register
 */
#define RTC_WRITE		0x80
#define RTC_READ		0x40

/*
 * Bits in the Seconds register
 */
#define RTC_STOP		0x80

/*
 * Bits in the Day register
 */
#define RTC_BATT_FLAG		0x80
#define RTC_FREQ_TEST		0x40

#endif /* __LINUX_DS1742RTC_H */

Add definitions for the Dallas DS1742 RTC / non-volatile memory.

Signed-off-by: Ralf Baechle <92f48d309cda194c8eda36aa8f9ae28c488fa208@linux-mips.org>


; PR 1332
; RUN: %llvmgcc %s -S -o /dev/null

struct Z { int a:1; int :0; int c:1; } z;

// PR 1332
// RUN: %llvmgcc %s -S -o /dev/null

struct Z { int a:1; int :0; int c:1; } z;

Use // not ; since this is C.

Use // not ; since this is C.

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


// 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 CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_H_
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_H_

// TODO(gbillock): Make this an inner class of WrenchMenu. (even needed?)
class WrenchMenuObserver {
 public:
  // Invoked when the WrenchMenu is about to be destroyed (from its destructor).
  virtual void WrenchMenuDestroyed() = 0;

 protected:
  virtual ~WrenchMenuObserver() {}
};

#endif  // CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_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 CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_H_
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_H_

class WrenchMenuObserver {
 public:
  // Invoked when the WrenchMenu is about to be destroyed (from its destructor).
  virtual void WrenchMenuDestroyed() = 0;

 protected:
  virtual ~WrenchMenuObserver() {}
};

#endif  // CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_MENU_OBSERVER_H_

Remove TODO about making WrenchMenuObserver an inner class of WrenchMenu.

Chromium code style says:
"Prefer putting delegate classes in their own header files. Implementors
of the
delegate interface will often be included elsewhere, which will often
cause more
coupling with the header of the main class."

http://www.chromium.org/developers/coding-style - Code formatting
section

BUG=None
R=sky@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/118623003

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


/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
*
* 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.
*/

/**
* Header file containing strided array type definitions.
*/
#ifndef STDLIB_STRIDED_TYPEDEFS_H
#define STDLIB_STRIDED_TYPEDEFS_H

#include "strided_nullary_typedefs.h"
#include "strided_unary_typedefs.h"
#include "strided_binary_typedefs.h"
#include "strided_ternary_typedefs.h"
#include "strided_quaternary_typedefs.h"
#include "strided_quinary_typedefs.h"

#endif // !STDLIB_STRIDED_TYPEDEFS_H

/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
*
* 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.
*/

/**
* Header file containing strided array type definitions.
*/
#ifndef STDLIB_STRIDED_TYPEDEFS_H
#define STDLIB_STRIDED_TYPEDEFS_H

// Note: keep in alphabetical order...
#include "strided_binary_typedefs.h"
#include "strided_nullary_typedefs.h"
#include "strided_quaternary_typedefs.h"
#include "strided_quinary_typedefs.h"
#include "strided_ternary_typedefs.h"
#include "strided_unary_typedefs.h"

#endif // !STDLIB_STRIDED_TYPEDEFS_H

Sort includes in alphabetical order

Sort includes in alphabetical order


/*
 * Copyright (c) 2016, Oracle and/or its affiliates.
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are
 * permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice, this list of
 * conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
 * conditions and the following disclaimer in the documentation and/or other materials provided
 * with the distribution.
 *
 * 3. Neither the name of the copyright holder nor the names of its contributors may be used to
 * endorse or promote products derived from this software without specific prior written
 * permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef TRUFFLE_H
#define TRUFFLE_H

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

#include <stdbool.h>

void *truffle_import(const char *name);
void truffle_export(const char *name, void *value);

bool truffle_is_executable(void *object);
void *truffle_execute(void *object, ...);
void *truffle_invoke(void *object, const char *name, ...);
bool truffle_has_size(void *object);
void *truffle_get_size(void *object);
bool truffle_is_boxed(void *object);
void *truffle_unbox(void *object);
bool truffle_is_null(void *object);
void *truffle_read(void *object, void *name);
void truffle_write(void *object, void *name, void *value);

#if defined(__cplusplus)
}
#endif

#endif

Define a potential header for interop functions


#pragma once

#include <mutex>
#include "throw_assert.h"
#include <pair>
#include <utility>

namespace Core {

// Simple multiple writer siingle reader queue implementation with infinite growth
template <class Collection>
class MWSRQueue {
  public:
    using T = Collection::value_type;

    void push_back(T&& it) {
      {
        std::unique_lock lock(_mx);
        coll.push_back(std::move(it));
      }

      waitrd.notify_one();
    }

    std::pair<bool, T> pop_front() {
      std::unique_lock lock(_mx);
      while (!coll.size() && !_killFlag)
        waitrd.wait(lock);
      if (_killFlag)
        return {false, T()};
      throw_assert(coll.size() > 0, "There should be at least one element in the queue");
      T ret = std::move(coll.front());
      coll.pop_front();
      lock.unlock();
      return {true, std::move(ret)};
    }

    void kill() {
      {
        std::unique_lock lock(_mx);
        _killFlag = true;
      }
      waitrd.notify_all();
    }

  private:
    std::mutex _mx;
    std::condition_variable _waitrd;
    Collection _coll;
    bool _killFlag = false;
};

}

Implement a simple queue for network events


#include <stdio.h>

/* print Fahrenheit-Celsius table
   for fahr = 0, 20, ..., 300
*/

int main(void)
{
  float fahr, celsius;
  int lower, upper, step;

  lower = 0;    // lower limit of temperature table
  upper = 300;   // upper limit
  step = 20;    // step size

  printf("Fahrenheit-Celsius Table\n\n");

  fahr = lower;
  while (fahr <= upper) {
    celsius = (5.0/9.0) * (fahr-32.0);
    printf("%3.0f %6.1f\n", fahr, celsius);
    fahr = fahr + step;
  }
}

#include <stdio.h>

/* print Fahrenheit-Celsius table
   for fahr = 0, 20, ..., 300
*/

// int main(void)
// {
//   float fahr, celsius;
//   int lower, upper, step;

//   lower = 0;    // lower limit of temperature table
//   upper = 300;   // upper limit
//   step = 20;    // step size

//   printf("Fahrenheit-Celsius Table\n\n");

//   fahr = lower;
//   while (fahr <= upper) {
//     celsius = (5.0/9.0) * (fahr-32.0);
//     printf("%3.0f %6.1f\n", fahr, celsius);
//     fahr = fahr + step;
//   }
// }

int main(void)
{
  for(int fahr = 0; fahr <= 300; fahr = fahr + 20)
  {
    printf("%3d %6.1f\n", fahr, (5.0/9.0) * (fahr-32));
  }
}

Implement temperature program with a for loop


#ifdef __cplusplus
extern "C" {
#endif
#include "lua.h"
#ifdef __cplusplus
}
#endif

#include "lualcm_lcm.h"
#include "lualcm_hash.h"
#include "lualcm_pack.h"

int luaopen_lcm_lcm(lua_State* L) {
  ll_lcm_makemetatable(L);
  ll_lcm_register_new(L);

  return 1;
}

int luaopen_lcm__hash(lua_State* L) {
  ll_hash_makemetatable(L);
  ll_hash_register_new(L);

  return 1;
}

int luaopen_lcm__pack(lua_State* L) {
  ll_pack_register(L);

  return 1;
}

int luaopen_lcm(lua_State* L) {
  lua_newtable(L);

  lua_pushstring(L, "lcm");
  luaopen_lcm_lcm(L);
  lua_rawset(L, -3);

  lua_pushstring(L, "_hash");
  luaopen_lcm__hash(L);
  lua_rawset(L, -3);

  lua_pushstring(L, "_pack");
  luaopen_lcm__pack(L);
  lua_rawset(L, -3);

  return 1;
}

#ifdef __cplusplus
extern "C" {
#endif
#include "lua.h"
#ifdef __cplusplus
}
#endif

#include "lualcm_lcm.h"
#include "lualcm_hash.h"
#include "lualcm_pack.h"

int luaopen_lcm_lcm(lua_State* L) {
  ll_lcm_makemetatable(L);
  ll_lcm_register_new(L);

  return 1;
}

int luaopen_lcm__hash(lua_State* L) {
  ll_hash_makemetatable(L);
  ll_hash_register_new(L);

  return 1;
}

int luaopen_lcm__pack(lua_State* L) {
  ll_pack_register(L);

  return 1;
}

#if defined(_WIN32)
__declspec(dllexport)
#elif __GNUC__ >= 4 || defined(__clang__)
__attribute__((visibility ("default")))
#endif
int luaopen_lcm(lua_State* L) {
  lua_newtable(L);

  lua_pushstring(L, "lcm");
  luaopen_lcm_lcm(L);
  lua_rawset(L, -3);

  lua_pushstring(L, "_hash");
  luaopen_lcm__hash(L);
  lua_rawset(L, -3);

  lua_pushstring(L, "_pack");
  luaopen_lcm__pack(L);
  lua_rawset(L, -3);

  return 1;
}

Fix export decoration of Lua module

Fix export decoration of Lua module

Add missing export decoration for Lua module entry point. This fixes the
Lua module that stopped working when ELF hidden visibility was enabled.
(I'm not sure about Windows, as I don't have Lua on Windows, but I
suspect it never worked on Windows.)


//
//  SendEmailController.h
//  PhotoWheel
//
//  Created by Kirby Turner on 12/11/12.
//  Copyright (c) 2012 White Peak Software Inc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

@protocol SendEmailControllerDelegate;

@interface SendEmailController : NSObject <MFMailComposeViewControllerDelegate>

@property (nonatomic, strong) UIViewController<SendEmailControllerDelegate> *viewController;
@property (nonatomic, strong) NSSet *photos;

- (id)initWithViewController:(UIViewController<SendEmailControllerDelegate> *)viewController;
- (void)sendEmail;

+ (BOOL)canSendMail;

@end

@protocol SendEmailControllerDelegate <NSObject>
@required
- (void)sendEmailControllerDidFinish:(SendEmailController *)controller;
@end

//
//  SendEmailController.h
//  PhotoWheel
//
//  Created by Kirby Turner on 12/11/12.
//  Copyright (c) 2012 White Peak Software Inc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

@protocol SendEmailControllerDelegate;

@interface SendEmailController : NSObject <MFMailComposeViewControllerDelegate>

@property (nonatomic, weak) UIViewController<SendEmailControllerDelegate> *viewController;
@property (nonatomic, strong) NSSet *photos;

- (id)initWithViewController:(UIViewController<SendEmailControllerDelegate> *)viewController;
- (void)sendEmail;

+ (BOOL)canSendMail;

@end

@protocol SendEmailControllerDelegate <NSObject>
@required
- (void)sendEmailControllerDidFinish:(SendEmailController *)controller;
@end

Change from strong to weak.

Change from strong to weak.


Correct bug : result is float, not integer


/** @file
Definition for a structure sharing information for CPU hot plug.

Copyright (c) 2013 - 2015, Intel Corporation. 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 _CPU_HOT_PLUG_DATA_H_
#define _CPU_HOT_PLUG_DATA_H_

#define  CPU_HOT_PLUG_DATA_REVISION_1      0x00000001

typedef struct {
  UINT32    Revision;          // Used for version identification for this structure
  UINT32    ArrayLength;       // The entries number of the following ApicId array and SmBase array
  //
  // Data required for SMBASE relocation
  //
  UINT64    *ApicId;           // Pointer to ApicId array
  UINTN     *SmBase;           // Pointer to SmBase array
  UINT32    Reserved;
  UINT32    SmrrBase;
  UINT32    SmrrSize;
} CPU_HOT_PLUG_DATA;

#endif

Add CPU Hot Plug Data include file

UefiCpuPkg: Add CPU Hot Plug Data include file

Add CpuHotPlugData.h that defines a data structure that is shared between
modules and is required for to support hot plug CPUs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: 3158a46dfd52e07d1fda3e32e1ab2e353a00b20f@18643 6f19259b-4bc3-4df7-8a09-765794883524


/*
name: TEST027
description: Test of cpp stringizer
output:
F2
G3	F2	main
{
\
A5	P	p
	A5	"68656C6C6F20697320626574746572207468616E20627965	'P	:P
	r	A5	@K	gK
}
*/

#define x(y) #y

int
main(void)
{
	char *p;
	p = x(hello)  " is better than bye";

	return *p;
}

Add basic test for macro argument stringizer


#ifndef Pods_Clappr_h
#define Pods_Clappr_h

#import <Foundation/Foundation.h>
#import <Clappr/Player.h>

#import <Clappr/CLPBaseObject.h>
#import <Clappr/CLPUIObject.h>
#import <Clappr/CLPContainer.h>
#import <Clappr/CLPPlayback.h>
#import <Clappr/CLPMediaControl.h>
#import <Clappr/CLPCore.h>
#import <Clappr/CLPPlayer.h>

#import <Clappr/CLPScrubberView.h>

#endif

#ifndef Pods_Clappr_h
#define Pods_Clappr_h

// System
#import <Foundation/Foundation.h>

//TODO To be excluded
#import <Clappr/Player.h>

// Core
#import <Clappr/CLPBaseObject.h>
#import <Clappr/CLPUIObject.h>
#import <Clappr/CLPContainer.h>
#import <Clappr/CLPPlayback.h>
#import <Clappr/CLPMediaControl.h>
#import <Clappr/CLPCore.h>
#import <Clappr/CLPPlayer.h>

// Components
#import <Clappr/CLPLoader.h>

// Plugins
#import <Clappr/CLPAVFoundationPlayback.h>

// Views
#import <Clappr/CLPScrubberView.h>

#endif

Add Loader and AVFoundation playback to clappr base header.


/*
 * A solution to Exercise 2-3 in The C Programming Language (Second Edition).
 *
 * This file was written by Damien Dart, <damiendart@pobox.com>. This is free
 * and unencumbered software released into the public domain. For more
 * information, please refer to the accompanying "UNLICENCE" file.
 */

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

int16_t lower(int16_t);

int main(void)
{
	int16_t character;
	while((character = getchar()) != EOF) {
		putchar(lower(character));
  }
	return EXIT_SUCCESS;
}

int16_t lower(int16_t character)
{
	return (character >= 'A' && character <= 'Z') ? character + 'a' - 'A' : character;
}

/*
 * A solution to Exercise 2-10 in The C Programming Language (Second Edition).
 *
 * This file was written by Damien Dart, <damiendart@pobox.com>. This is free
 * and unencumbered software released into the public domain. For more
 * information, please refer to the accompanying "UNLICENCE" file.
 */

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

int16_t lower(int16_t);

int main(void)
{
  int16_t character;
  while((character = getchar()) != EOF) {
    putchar(lower(character));
  }
  return EXIT_SUCCESS;
}

int16_t lower(int16_t character)
{
  return (character >= 'A' && character <= 'Z') ? character + 'a' - 'A' : character;
}

Purge tabs and fix a comment.

Purge tabs and fix a comment.


#ifndef RENDERMANAGER_H
#define RENDERMANAGER_H

#include <QMutex>
#include <QQueue>
#include <QString>
#include <QThread>
#include <QWaitCondition>
#include <functional>
#include "renderdoc_replay.h"

struct IReplayRenderer;
class LambdaThread;

class RenderManager
{
public:
  typedef std::function<void(IReplayRenderer *)> InvokeMethod;

  RenderManager();
  ~RenderManager();

  void Init(int proxyRenderer, QString replayHost, QString logfile, float *progress);

  bool IsRunning();
  ReplayCreateStatus GetCreateStatus() { return m_CreateStatus; }
  void AsyncInvoke(InvokeMethod m);
  void BlockInvoke(InvokeMethod m);

  void CloseThread();

private:
  struct InvokeHandle
  {
    InvokeHandle(InvokeMethod m)
    {
      method = m;
      processed = false;
      selfdelete = true;
    }

    InvokeMethod method;
    bool processed;
    bool selfdelete;
  };

  void run();

  QMutex m_RenderLock;
  QQueue<InvokeHandle *> m_RenderQueue;
  QWaitCondition m_RenderCondition;

  void PushInvoke(InvokeHandle *cmd);

  int m_ProxyRenderer;
  QString m_ReplayHost;
  QString m_Logfile;
  float *m_Progress;

  volatile bool m_Running;
  LambdaThread *m_Thread;
  ReplayCreateStatus m_CreateStatus;
};

#endif    // RENDERMANAGER_H

#ifndef RENDERMANAGER_H
#define RENDERMANAGER_H

#include <QMutex>
#include <QQueue>
#include <QString>
#include <QThread>
#include <QWaitCondition>
#include <functional>
#include "renderdoc_replay.h"

struct IReplayRenderer;
class LambdaThread;

// simple helper for the common case of 'we just need to run this on the render thread
#define INVOKE_MEMFN(function) \
  m_Core->Renderer()->AsyncInvoke([this](IReplayRenderer *) { function(); });

class RenderManager
{
public:
  typedef std::function<void(IReplayRenderer *)> InvokeMethod;

  RenderManager();
  ~RenderManager();

  void Init(int proxyRenderer, QString replayHost, QString logfile, float *progress);

  bool IsRunning();
  ReplayCreateStatus GetCreateStatus() { return m_CreateStatus; }
  void AsyncInvoke(InvokeMethod m);
  void BlockInvoke(InvokeMethod m);

  void CloseThread();

private:
  struct InvokeHandle
  {
    InvokeHandle(InvokeMethod m)
    {
      method = m;
      processed = false;
      selfdelete = true;
    }

    InvokeMethod method;
    bool processed;
    bool selfdelete;
  };

  void run();

  QMutex m_RenderLock;
  QQueue<InvokeHandle *> m_RenderQueue;
  QWaitCondition m_RenderCondition;

  void PushInvoke(InvokeHandle *cmd);

  int m_ProxyRenderer;
  QString m_ReplayHost;
  QString m_Logfile;
  float *m_Progress;

  volatile bool m_Running;
  LambdaThread *m_Thread;
  ReplayCreateStatus m_CreateStatus;
};

#endif    // RENDERMANAGER_H

Add a helper macro for simple async render thread invokes


/* go-rec-nb-big.c -- nonblocking receive of something big on a channel.

   Copyright 2009 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 <stdint.h>
#include <assert.h>

#include "channel.h"

_Bool
__go_receive_nonblocking_big (struct __go_channel* channel, void *val)
{
  size_t alloc_size;
  size_t offset;

  alloc_size = ((channel->element_size + sizeof (uint64_t) - 1)
		/ sizeof (uint64_t));

  int data = __go_receive_nonblocking_acquire (channel);
  if (data != RECEIVE_NONBLOCKING_ACQUIRE_DATA)
    {
      __builtin_memset (val, 0, channel->element_size);
      if (data == RECEIVE_NONBLOCKING_ACQUIRE_NODATA)
	return 0;
      else
	{
	  /* Channel is closed.  */
	  return 1;
	}
    }

  offset = channel->next_store * alloc_size;
  __builtin_memcpy (val, &channel->data[offset], channel->element_size);

  __go_receive_release (channel);

  return 1;
}

/* go-rec-nb-big.c -- nonblocking receive of something big on a channel.

   Copyright 2009 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 <stdint.h>
#include <assert.h>

#include "channel.h"

_Bool
__go_receive_nonblocking_big (struct __go_channel* channel, void *val)
{
  size_t alloc_size;
  size_t offset;

  alloc_size = ((channel->element_size + sizeof (uint64_t) - 1)
		/ sizeof (uint64_t));

  int data = __go_receive_nonblocking_acquire (channel);
  if (data != RECEIVE_NONBLOCKING_ACQUIRE_DATA)
    {
      __builtin_memset (val, 0, channel->element_size);
      if (data == RECEIVE_NONBLOCKING_ACQUIRE_NODATA)
	return 0;
      else
	{
	  /* Channel is closed.  */
	  return 1;
	}
    }

  offset = channel->next_fetch * alloc_size;
  __builtin_memcpy (val, &channel->data[offset], channel->element_size);

  __go_receive_release (channel);

  return 1;
}

Correct nonblocking receive of a value larger than 8 bytes.

R=iant
https://golang.org/cl/1743042


template<class T, size_t S>
class CircularBuffer {
  public:
    CircularBuffer() : index(0), count(0) {}

    void push_item(T item) {
        array[index + 1] = item;
        index = (index + 1) % S;
        count++;
    }

    T pop_item() {
        if (count > 0) {
            int old_index = index;
            index = index == 0 ? S - 1 : index - 1;
            count--;
            return array[old_index];
        }
    }

    T peak_item() {
        if (count > 0) {
            return array[index];
        }
    }
  private:
    int index;
    int count;
    T array[S];
};

template<class T, size_t S>
class CircularBuffer {
  public:
    CircularBuffer() : index(0), count(0) {}

    void push_item(T item) {
        index = (index + 1) % S;
        array[index] = item;
        if (count < S) count++;
    }

    T pop_item() {
        int old_index = index;
        if (count > 0) {
            index = index == 0 ? S - 1 : index - 1;
            count--;
        }
        return array[old_index];
    }

    T peek_item() {
        return array[index];
    }
  private:
    int index;
    int count;
    T array[S];
};

Fix issues with circular buffer

Fix issues with circular buffer


#ifndef CONVEX_HULL_H
#define CONVEX_HULL_H

#endif

#ifndef CONVEX_HULL_H
#define CONVEX_HULL_H

#include <algorithm>

#include "Structure.h"
#include "Math/Vector2.h"

namespace ConvexHull
{
	inline double Cross(const Vector2& O, const Vector2& A, const Vector2& B)
	{
		return (A.x - O.x) * (B.y - O.y) - (A.y - O.y) * (B.x - O.x);
	}

	inline std::vector<Corner*> CalculateConvexHull(std::vector<Corner*> P)
	{
		int n = P.size(), k = 0;
		std::vector<Corner*> H(2 * n);

		// Sort points lexicographically
		sort(P.begin(), P.end(), [](Corner* c1, Corner* c2)
		{
			return c1->m_position.x < c2->m_position.x || (c1->m_position.x == c2->m_position.x && c1->m_position.y < c2->m_position.y);
		});

		// Build lower hull
		for (int i = 0; i < n; ++i) {
			while (k >= 2 && cross(H[k - 2]->m_position, H[k - 1]->m_position, P[i]->m_position) <= 0) k--;
			H[k++] = P[i];
		}

		// Build upper hull
		for (int i = n - 2, t = k + 1; i >= 0; i--) {
			while (k >= t && cross(H[k - 2]->m_position, H[k - 1]->m_position, P[i]->m_position) <= 0) k--;
			H[k++] = P[i];
		}

		H.resize(k - 1);

		return P;
	}
};

#endif

Implement some part of convex hull

Implement some part of convex hull


/*
 * Copyright (C) 2010 Igalia S.L.
 *
 * Contact: Iago Toral Quiroga <itoral@igalia.com>
 *
 * 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; 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 St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 *
 */

#ifndef _MS_ERROR_H_
#define _MS_ERROR_H_

#define MS_ERROR g_quark_from_static_string("media-store.error.general")

enum {
  MS_ERROR_BROWSE_FAILED = 1,
  MS_ERROR_SEARCH_FAILED,
  MS_ERROR_METADATA_FAILED,
  MS_ERROR_MEDIA_NOT_FOUND
};

#endif

/*
 * Copyright (C) 2010 Igalia S.L.
 *
 * Contact: Iago Toral Quiroga <itoral@igalia.com>
 *
 * 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; 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 St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 *
 */

#ifndef _MS_ERROR_H_
#define _MS_ERROR_H_

#define MS_ERROR g_quark_from_static_string("media-store.error.general")

enum {
  MS_ERROR_BROWSE_FAILED = 1,
  MS_ERROR_SEARCH_FAILED,
  MS_ERROR_QUERY_FAILED,
  MS_ERROR_METADATA_FAILED,
  MS_ERROR_MEDIA_NOT_FOUND
};

#endif

Add error code for failing query.

Add error code for failing query.


// RUN: env QA_OVERRIDE_GCC3_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore +a +b +c xb Xa Omagic ^-ccc-print-options  " %clang x -O2 b -O3 2>&1 | FileCheck %s
// RUN: env QA_OVERRIDE_GCC3_OPTIONS="x-Werror +-mfoo" %clang -Werror %s -c 2>&1 | FileCheck %s -check-prefix=RM-WERROR

// FIXME: It seems doesn't work with gcc-driver.
// REQUIRES: clang-driver

// CHECK-NOT: ###
// CHECK: Option 0 - Name: "-ccc-print-options", Values: {}
// CHECK-NEXT: Option 1 - Name: "<input>", Values: {"x"}
// CHECK-NEXT: Option 2 - Name: "-O", Values: {"ignore"}
// CHECK-NEXT: Option 3 - Name: "-O", Values: {"magic"}

// RM-WERROR: ### QA_OVERRIDE_GCC3_OPTIONS: x-Werror +-mfoo
// RM-WERROR-NEXT: ### Deleting argument -Werror
// RM-WERROR-NEXT: ### Adding argument -mfoo at end
// RM-WERROR-NEXT: warning: argument unused during compilation: '-mfoo'

// RUN: env QA_OVERRIDE_GCC3_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore +a +b +c xb Xa Omagic ^-ccc-print-options  " %clang x -O2 b -O3 2>&1 | FileCheck %s
// RUN: env QA_OVERRIDE_GCC3_OPTIONS="x-Werror +-mfoo" %clang -Werror %s -c -### 2>&1 | FileCheck %s -check-prefix=RM-WERROR

// CHECK-NOT: ###
// CHECK: Option 0 - Name: "-ccc-print-options", Values: {}
// CHECK-NEXT: Option 1 - Name: "<input>", Values: {"x"}
// CHECK-NEXT: Option 2 - Name: "-O", Values: {"ignore"}
// CHECK-NEXT: Option 3 - Name: "-O", Values: {"magic"}

// RM-WERROR: ### QA_OVERRIDE_GCC3_OPTIONS: x-Werror +-mfoo
// RM-WERROR-NEXT: ### Deleting argument -Werror
// RM-WERROR-NEXT: ### Adding argument -mfoo at end
// RM-WERROR: warning: argument unused during compilation: '-mfoo'
// RM-WERROR-NOT: "-Werror"

Make this test not try to write on object file and test all of the
output rather than just part of it.

Also, remove the frighteningly ancient comment about not working with
the gcc-driver. (!!!)

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


#ifndef GNOME_PROPERTIES_H
#define GNOME_PROPERTIES_H
#include <libgnome/gnome-defs.h>

BEGIN_GNOME_DECLS

END_GNOME_DECLS

#endif

/* This file is currently empty; I'm going to add new code here soon.
   Oct 27 1998. Martin
 */

Make this an empty file just with a comment in it.


#ifndef _OPENLIB_FINITE_H
#define _OPENLIB_FINITE_H

#include <sys/cdefs.h>

#define __BSD_VISIBLE 1

#include <../../build/extbld/third_party/lib/OpenLibm/install/openlibm_math.h>

static inline int finite(double x) {
	return isfinite(x);
}

static inline int finitef(float x) {
	return isfinite(x);
}

static inline int finitel(long double x) {
	return isfinite(x);
}

#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
__BEGIN_DECLS
extern long long int llabs(long long int j);
__END_DECLS
#endif

#endif /* _OPENLIB_FINITE_H */

#ifndef _OPENLIB_FINITE_H
#define _OPENLIB_FINITE_H

#include <sys/cdefs.h>

#define __BSD_VISIBLE 1

#include <../../build/extbld/third_party/lib/OpenLibm/install/openlibm_math.h>

static inline int finite(double x) {
	return isfinite(x);
}

static inline int finitef(float x) {
	return isfinite(x);
}

static inline int finitel(long double x) {
	return isfinite(x);
}

#endif /* _OPENLIB_FINITE_H */

Remove llabs declaration from openlibm port


// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you 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 IMPALA_UTIL_SCOPE_EXIT_TRIGGER_H
#define IMPALA_UTIL_SCOPE_EXIT_TRIGGER_H

#include <functional>

namespace impala {

/// Utility class that calls a client-supplied function when it is destroyed.
///
/// Use judiciously - scope exits can be hard to reason about, and this class should not
/// act as proxy for work-performing d'tors, which we try to avoid.
class ScopeExitTrigger {
 public:
  ScopeExitTrigger(const auto& trigger) : trigger_(trigger) {}

  ~ScopeExitTrigger() { trigger_(); }

 private:
  std::function<void()> trigger_;
};
}

#endif

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you 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 IMPALA_UTIL_SCOPE_EXIT_TRIGGER_H
#define IMPALA_UTIL_SCOPE_EXIT_TRIGGER_H

#include <functional>

namespace impala {

/// Utility class that calls a client-supplied function when it is destroyed.
///
/// Use judiciously - scope exits can be hard to reason about, and this class should not
/// act as proxy for work-performing d'tors, which we try to avoid.
class ScopeExitTrigger {
 public:
  ScopeExitTrigger(const std::function<void()>& trigger) : trigger_(trigger) {}

  ~ScopeExitTrigger() { trigger_(); }

 private:
  std::function<void()> trigger_;
};
}

#endif

Remove 'auto' from parameter list

IMPALA-4535: Remove 'auto' from parameter list

Although GCC supports void f(auto arg) { }, this isn't part of C++14.

Testing: Local ASAN build passed.

Change-Id: I838aa2c1081f7ed21cc2faa209a9eaa4fd0512a4
Reviewed-on: http://gerrit.cloudera.org:8080/5214
Reviewed-by: Tim Armstrong <2f8e34250f03a653da3dc27f7ec203eafdde80fc@cloudera.com>
Tested-by: Internal Jenkins


#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    int16_t n, a, b, c, d, r, num, den, num_r, den_r, j;
    char o, i;

    scanf("%d", &n);
    while (n--) {
        scanf("%d %c %d %c %d %c %d", &a, &i, &b, &o, &c, &i, &d);
        switch (o) {
            case '+':
                num = (b * d) * a / b + (b * d) * c / d;
                den = b * d;
                break;
            case '-':
                num = (b * d) * a / b - (b * d) * c / d;
                den = b * d;
                break;
            case '*':
                num = a * c;
                den = b * d;
                break;
            default:
                num = a * d;
                den = b * c;
                break;
        }

        if (abs(num) < abs(den)) {
            r = abs(num);
        } else {
            r = abs(den);
        }

        num_r = num;
        den_r = den;

        j = 2;
        while (j <= r / 2 + 1) {
            if (num_r % j == 0 && den_r % j == 0) {
                num_r = num_r / j;
                den_r = den_r / j;
            } else {
                j++;
            }
        }

        printf("%d/%d = %d/%d\n", num, den, num_r, den_r);
    }
    return 0;
}

Solve TDA Rational in c

Solve TDA Rational in c


#ifndef SKILLCOMPONENT_H_
#define SKILLCOMPONENT_H_

#include "entity/components/AttributeComponent.h"

/**
 * Data structure to represent an Entity's skill.
 */
typedef struct
{
	int ranks; ///< Current ranks in the skill
	int xp; ///< Amount of XP earned towards next rank
} SkillComponent;

/**
 * Enumeration for identifying different skills.
 */
enum skill_t {
	Melee,
	Swords,
	BastardSword,
	Maces,
	SpikedMace,
	FirstAid
};

/**
 * This array defines our parent skill relationships.
 *
 * If a skill's parent is itself, it has no parent.
 */
const skill_t PARENT_SKILLS[] = { Melee, Melee, Swords, Melee, Maces, FirstAid };

/**
 * This array defines our skill-attribute relationships.
 */
const attrtype_t SKILL_ATTRIBUTES[] = { Str, Str, Str, Str, Str, Int };

#endif

#ifndef SKILLCOMPONENT_H_
#define SKILLCOMPONENT_H_

#include "entity/components/AttributeComponent.h"

/**
 * Data structure to represent an Entity's skill.
 */
typedef struct
{
	int ranks; ///< Current ranks in the skill
	int xp; ///< Amount of XP earned towards next rank
} SkillComponent;

/**
 * Enumeration for identifying different skills.
 * @todo: Dodge is actually a "meta" skill, one calculated from other attributes
 */
enum skill_t {
	Melee,
	Swords,
	BastardSword,
	Maces,
	SpikedMace,
	FirstAid,
	Dodge
};

/**
 * This array defines our parent skill relationships.
 *
 * If a skill's parent is itself, it has no parent.
 */
const skill_t PARENT_SKILLS[] = { Melee, Melee, Swords, Melee, Maces, FirstAid, Dodge };

/**
 * This array defines our skill-attribute relationships.
 */
const attrtype_t SKILL_ATTRIBUTES[] = { Str, Str, Str, Str, Str, Int, Dex };

#endif

Add Dodge skill as temporary hack

Add Dodge skill as temporary hack

I think I will implement an actual DefenseManager to handle calculating defenses on the fly; for now this works as a skill.


/*
 * 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_GL_CUSTOM_SETUP_HEADER "gl/GrGLConfig_chrome.h"
  #define GR_TEST_UTILS 1
  #define SKIA_DLL
  #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

  // Legacy flags
  #define SK_IGNORE_GPU_DITHER
  #define SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
  #define SK_LEGACY_SWEEP_GRADIENT
  #define SK_SUPPORT_DEPRECATED_CLIPOPS
  #define SK_SUPPORT_LEGACY_BILERP_IGNORING_HACK
  // Needed until we fix https://bug.skia.org/2440
  #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
  #define SK_SUPPORT_LEGACY_DRAWFILTER
  #define SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
  #define SK_SUPPORT_LEGACY_GRADIENT_DITHERING
  #define SK_SUPPORT_LEGACY_SHADER_ISABITMAP
  #define SK_SUPPORT_LEGACY_TILED_BITMAPS
#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_GL_CUSTOM_SETUP_HEADER "gl/GrGLConfig_chrome.h"
  #define GR_TEST_UTILS 1
  #define SKIA_DLL
  #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

  // Legacy flags
  #define SK_IGNORE_GPU_DITHER
  #define SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
  #define SK_SUPPORT_DEPRECATED_CLIPOPS
  #define SK_SUPPORT_LEGACY_BILERP_IGNORING_HACK
  // Needed until we fix https://bug.skia.org/2440
  #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
  #define SK_SUPPORT_LEGACY_DRAWFILTER
  #define SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
  #define SK_SUPPORT_LEGACY_GRADIENT_DITHERING
  #define SK_SUPPORT_LEGACY_SHADER_ISABITMAP
  #define SK_SUPPORT_LEGACY_TILED_BITMAPS
#endif // SkUserConfigManual_DEFINED

Switch Skia to the new sweep gradient impl

(remove SK_LEGACY_SWEEP_GRADIENT)

Change-Id: I967272af11b86223c92eea61288c6f2c5d27474f


/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
 *
 *                     The LLVM Compiler Infrastructure
 *
 * This file is dual licensed under the MIT and the University of Illinois Open
 * Source Licenses. See LICENSE.TXT for details.
 *
 * ===-----------------------------------------------------------------------===
 *
 * This is a stub SDK header file. This file is not part of the interface of
 * this library nor an official version of the appropriate SDK header. It is
 * intended only to stub the features of this header required by compiler-rt.
 *
 * ===-----------------------------------------------------------------------===
 */

#ifndef __SYS_MMAN_H__
#define __SYS_MMAN_H__

typedef __SIZE_TYPE__ size_t;

#define PROT_READ 0x1
#define PROT_WRITE 0x1
#define PROT_EXEC 0x4

extern int mprotect (void *__addr, size_t __len, int __prot)
  __attribute__((__nothrow__));

#endif /* __SYS_MMAN_H__ */

/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
 *
 *                     The LLVM Compiler Infrastructure
 *
 * This file is dual licensed under the MIT and the University of Illinois Open
 * Source Licenses. See LICENSE.TXT for details.
 *
 * ===-----------------------------------------------------------------------===
 *
 * This is a stub SDK header file. This file is not part of the interface of
 * this library nor an official version of the appropriate SDK header. It is
 * intended only to stub the features of this header required by compiler-rt.
 *
 * ===-----------------------------------------------------------------------===
 */

#ifndef __SYS_MMAN_H__
#define __SYS_MMAN_H__

typedef __SIZE_TYPE__ size_t;

#define PROT_READ 0x1
#define PROT_WRITE 0x2
#define PROT_EXEC 0x4

extern int mprotect (void *__addr, size_t __len, int __prot)
  __attribute__((__nothrow__));

#endif /* __SYS_MMAN_H__ */

SDK/linux: Fix braindead pasto, caught by Matt Beaumont-Gay.

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


#pragma once

// const float in a header file can lead to duplication of the storage
// but I don't really care in this case. Just don't do it with a header
// that is included hundreds of times.
constexpr float kCurrentVersion = 1.54f;

// Put a "#define VERSION_SUFFIX 'b'" line here to add a minor version
// increment that won't trigger the new-version checks, handy for minor
// releases that I don't want to bother users about.
//#define VERSION_SUFFIX 'b'

#pragma once

// const float in a header file can lead to duplication of the storage
// but I don't really care in this case. Just don't do it with a header
// that is included hundreds of times.
constexpr float kCurrentVersion = 1.55f;

// Put a "#define VERSION_SUFFIX 'b'" line here to add a minor version
// increment that won't trigger the new-version checks, handy for minor
// releases that I don't want to bother users about.
//#define VERSION_SUFFIX 'b'

Update version number to 1.55

Update version number to 1.55


#pragma once
#include "geometry.h"
#include "yaml_utils.h"

#include <vector>
#include <boost/shared_ptr.hpp>
#include <librevenge/librevenge.h>

namespace libpagemaker
{

class PMDPage
{
  std::vector<boost::shared_ptr<PMDLineSet> > m_shapes;
public:
  PMDPage() : m_shapes()
  { }

  void addShape(boost::shared_ptr<PMDLineSet> shape)
  {
    m_shapes.push_back(shape);
  }

  unsigned numShapes() const
  {
    return m_shapes.size();
  }

  boost::shared_ptr<const PMDLineSet> getShape(unsigned i) const
  {
    return m_shapes.at(i);
  }

  void emitYaml(yaml_emitter_t *emitter) const
  {
    yamlIndirectForeach(emitter, "shapes", m_shapes);
  }
};

}
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */

#pragma once
#include "geometry.h"
#include "yaml_utils.h"

#include <vector>
#include <boost/shared_ptr.hpp>
#include <librevenge/librevenge.h>

namespace libpagemaker
{

class PMDPage
{
  std::vector<boost::shared_ptr<PMDLineSet> > m_shapes;
public:
  PMDPage() : m_shapes()
  { }

  void addShape(boost::shared_ptr<PMDLineSet> shape)
  {
    m_shapes.push_back(shape);
  }

  unsigned numShapes() const
  {
    return m_shapes.size();
  }

  boost::shared_ptr<const PMDLineSet> getShape(unsigned i) const
  {
    return m_shapes.at(i);
  }

  void emitYaml(yaml_emitter_t *emitter) const
  {
    yamlBeginMap(emitter);
    yamlIndirectForeach(emitter, "shapes", m_shapes);
    yamlEndMap(emitter);
  }
};

}
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */

Fix bug in shape yaml emit

Fix bug in shape yaml emit


/*	$OpenBSD: zopenbsd.c,v 1.4 2015/01/20 04:41:01 krw Exp $	*/
#include <sys/types.h>
#include <sys/malloc.h>
#include <lib/libz/zutil.h>

/*
 * Space allocation and freeing routines for use by zlib routines.
 */
void *
zcalloc(notused, items, size)
    void *notused;
    u_int items, size;
{
    return mallocarray(items, size, M_DEVBUF, M_NOWAIT);
}

void
zcfree(notused, ptr)
    void *notused;
    void *ptr;
{
    free(ptr, M_DEVBUF, 0);
}

Revert some $OpenBSD$ additions about which there are doubts.

Suggested by deraadt@


//! \file WalkerException.h

#ifndef WALKEREXCEPTION_H
#define WALKEREXCEPTION_H

#include <stdexcept>
#include <string>

namespace WikiWalker
{
  //! (base) class for exceptions in WikiWalker
  class WalkerException : public std::runtime_error
  {
  public:
    /*! Create a Walker exception with a message.
     *
     * Message might be shown on exception occurring, depending on
     * the compiler.
     *
     * \param exmessage The exception message.
     */
    explicit WalkerException(std::string exmessage) : runtime_error(exmessage)
    {
    }
  };
}  // namespace WikiWalker
#endif  // WALKEREXCEPTION_H

//! \file WalkerException.h

#ifndef WALKEREXCEPTION_H
#define WALKEREXCEPTION_H

#include <stdexcept>
#include <string>

namespace WikiWalker
{
  //! (base) class for exceptions in WikiWalker
  class WalkerException : public std::runtime_error
  {
  public:
    /*! Create a Walker exception with a message.
     *
     * Message might be shown on exception occurring, depending on
     * the compiler.
     *
     * \param exmessage The exception message.
     */
    explicit WalkerException(const std::string& exmessage) : runtime_error(exmessage)
    {
    }
  };
}  // namespace WikiWalker
#endif  // WALKEREXCEPTION_H

Use const reference for exception

Use const reference for exception


// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include <cstdint>

namespace search::fileutil { class LoadedBuffer; }

namespace search::tensor {

class HnswGraph;

/**
 * Implements loading of HNSW graph structure from binary format.
 **/
class HnswIndexLoader {
public:
    HnswIndexLoader(HnswGraph &graph);
    ~HnswIndexLoader();
    bool load(const fileutil::LoadedBuffer& buf);
private:
    HnswGraph &_graph;
    const uint32_t *_ptr;
    const uint32_t *_end;
    bool _failed;
    uint32_t next_int() {
        if (__builtin_expect((_ptr == _end), false)) {
            _failed = true;
            return 0;
        }
        return *_ptr++;
    }
};

}

// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include <cstdint>

namespace search::fileutil { class LoadedBuffer; }

namespace search::tensor {

struct HnswGraph;

/**
 * Implements loading of HNSW graph structure from binary format.
 **/
class HnswIndexLoader {
public:
    HnswIndexLoader(HnswGraph &graph);
    ~HnswIndexLoader();
    bool load(const fileutil::LoadedBuffer& buf);
private:
    HnswGraph &_graph;
    const uint32_t *_ptr;
    const uint32_t *_end;
    bool _failed;
    uint32_t next_int() {
        if (__builtin_expect((_ptr == _end), false)) {
            _failed = true;
            return 0;
        }
        return *_ptr++;
    }
};

}

Fix forward declaration of HnswGraph.

Fix forward declaration of HnswGraph.


/*-
 * Copyright (c) 1998 Michael Smith.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * $FreeBSD$
 */

#include <stand.h>
#include <assert.h>

void
__assert(const char *file, int line, const char *expression)
{
    printf("assertion \"%s\" failed: file \"%s\", line %d\n", expression, file, line);
    exit();
}

/*-
 * Copyright (c) 1998 Michael Smith.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * $FreeBSD$
 */

#include <assert.h>

#include "stand.h"

void
__assert(const char *file, int line, const char *expression)
{
    printf("assertion \"%s\" failed: file \"%s\", line %d\n", expression, file, line);
    exit();
}

Make include file consistent with the rest of libstand.


#ifdef AMPLITUDE_SSL_PINNING
//
//  Amplitude+SSLPinning
//  Amplitude
//
//  Created by Allan on 3/11/15.
//  Copyright (c) 2015 Amplitude. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Amplitude (SSLPinning)

@property (nonatomic, assign) BOOL sslPinningEnabled;

@end
#endif

//
//  Amplitude+SSLPinning
//  Amplitude
//
//  Created by Allan on 3/11/15.
//  Copyright (c) 2015 Amplitude. All rights reserved.
//

@import Foundation;
#import "Amplitude.h"

@interface Amplitude (SSLPinning)

#ifdef AMPLITUDE_SSL_PINNING
@property (nonatomic, assign) BOOL sslPinningEnabled;
#endif

@end

[Debug] Fix import so it doesn't corrupt debug console


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

#define _Q(x) #x
#define Q(x) _Q(x)
#define print_calc(_a, _b, _op) printf("%2d "Q(_op)" %2d = %d\n", _a, _b, _a _op _b)

#define rand_num(x) rand() % x + 1

#define print_block(OP) \
    _a1 = rand_num(20); \
    _b1 = rand_num(20); \
    print_calc(_a1, _b1, OP); \
    _a1 = rand_num(20); \
    _b1 = rand_num(20); \
    print_calc(_a1, _b1, OP); \
    _a1 = rand_num(20); \
    _b1 = rand_num(20); \
    print_calc(_a1, _b1, OP); \
    _a1 = rand_num(20); \
    _b1 = rand_num(20); \
    print_calc(_a1, _b1, OP); \
    printf("\n");

int main() {
    srand(time(NULL));

    int _a1, _b1;
    print_block(+);
    print_block(-);
    print_block(*);
    print_block(/);

    return 0;
}

Work from MacBook & PC

[Merge] Work from MacBook & PC


/*
 *
 * Copyright 2019 gRPC authors.
 *
 * 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.
 *
 */

#import "GRPCCall.h"

@protocol GRPCInterceptorFactory;

@interface GRPCCall2 (Interceptor)

+ (void)registerGlobalInterceptor:(id<GRPCInterceptorFactory>)interceptorFactory;

+ (id<GRPCInterceptorFactory>)globalInterceptorFactory;

@end

/*
 *
 * Copyright 2019 gRPC authors.
 *
 * 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.
 *
 */

// The global interceptor feature is experimental and might be modified or removed at any time.

#import "GRPCCall.h"

@protocol GRPCInterceptorFactory;

@interface GRPCCall2 (Interceptor)

+ (void)registerGlobalInterceptor:(id<GRPCInterceptorFactory>)interceptorFactory;

+ (id<GRPCInterceptorFactory>)globalInterceptorFactory;

@end

Add experimental notice to global interceptor


#ifndef FETCH_PACK_H
#define FETCH_PACK_H

struct fetch_pack_args
{
	const char *uploadpack;
	int quiet;
	int keep_pack;
	int unpacklimit;
	int use_thin_pack;
	int fetch_all;
	int verbose;
	int depth;
	int no_progress;
};

void setup_fetch_pack(struct fetch_pack_args *args);

struct ref *fetch_pack(const char *dest, int nr_heads, char **heads, char **pack_lockfile);

#endif

#ifndef FETCH_PACK_H
#define FETCH_PACK_H

struct fetch_pack_args
{
	const char *uploadpack;
	int unpacklimit;
	int depth;
	unsigned quiet:1,
		keep_pack:1,
		use_thin_pack:1,
		fetch_all:1,
		verbose:1,
		no_progress:1;
};

void setup_fetch_pack(struct fetch_pack_args *args);

struct ref *fetch_pack(const char *dest, int nr_heads, char **heads, char **pack_lockfile);

#endif

Use 'unsigned:1' when we mean boolean options

These options are all strictly boolean (true/false).  Its easier to
document this implicitly by making their storage type a single bit.
There is no compelling memory space reduction reason for this change,
it just makes the structure definition slightly more readable.

Signed-off-by: Shawn O. Pearce <f01032651c12a22b2103346ba96b3b6b231f9d3c@spearce.org>


#ifndef QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H
#define QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H

#include "abstractformeditortool.h"

namespace QmlDesigner {

class QMLDESIGNERCORE_EXPORT AbstractCustomTool : public QmlDesigner::AbstractFormEditorTool
{
public:
    AbstractCustomTool();

    void selectedItemsChanged(const QList<FormEditorItem *> &itemList) QTC_OVERRIDE;

    virtual int wantHandleItem(const ModelNode &modelNode) const QTC_OVERRIDE = 0;
};

} // namespace QmlDesigner

#endif // QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H

#ifndef QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H
#define QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H

#include "abstractformeditortool.h"

namespace QmlDesigner {

class QMLDESIGNERCORE_EXPORT AbstractCustomTool : public QmlDesigner::AbstractFormEditorTool
{
public:
    AbstractCustomTool();

    void selectedItemsChanged(const QList<FormEditorItem *> &itemList) QTC_OVERRIDE;

    virtual QString name() const = 0;

    virtual int wantHandleItem(const ModelNode &modelNode) const QTC_OVERRIDE = 0;
};

} // namespace QmlDesigner

#endif // QMLDESIGNER_ABSTRACTSINGLESELECTIONTOOL_H

Add name method to custom tools

QmlDesigner.FormEditor: Add name method to custom tools

Change-Id: Icabf454fc49444a5a88c1f5eb84847967f09078e
Reviewed-by: Thomas Hartmann <588ee739c05aab7547907becfd1420d2b7316069@digia.com>
(cherry picked from commit bcb11829bab091c0e2c8ea4de42cc03aa5359f0c)
Reviewed-by: Marco Bubke <5254e489b34ec8bbce36789100e3fc0f41fa62ef@digia.com>


// File created: 2011-09-02 23:36:23

#ifndef MUSHSPACE_CURSOR_H
#define MUSHSPACE_CURSOR_H

#include "space.all.h"

#define mushcursor MUSHSPACE_NAME(mushcursor)

// What kind of an area is the cursor in?
typedef enum MushCursorMode {
	MushCursorMode_static,
	MushCursorMode_dynamic,
	MushCursorMode_bak,
} MushCursorMode;

#if MUSHSPACE_93
#define MUSHCURSOR_MODE(x) MushCursorMode_static
#else
#define MUSHCURSOR_MODE(x) ((x)->mode)
#endif

typedef struct mushcursor {
#if !MUSHSPACE_93
	MushCursorMode mode;
#endif
	mushspace *space;
	mushcoords pos;
} mushcursor;

#define mushcursor_sizeof MUSHSPACE_CAT(mushcursor,_sizeof)
#define mushcursor_init   MUSHSPACE_CAT(mushcursor,_init)

extern const size_t mushcursor_sizeof;

mushcursor* mushcursor_init(mushspace*, mushcoords, mushcoords, void*);

#endif

// File created: 2011-09-02 23:36:23

#ifndef MUSHSPACE_CURSOR_H
#define MUSHSPACE_CURSOR_H

#include "space.all.h"

#define mushcursor MUSHSPACE_NAME(mushcursor)

// What kind of an area is the cursor in?
typedef enum MushCursorMode {
	MushCursorMode_static,
	MushCursorMode_dynamic,
	MushCursorMode_bak,
} MushCursorMode;

#if MUSHSPACE_93
#define MUSHCURSOR_MODE(x) MushCursorMode_static
#else
#define MUSHCURSOR_MODE(x) ((x)->mode)
#endif

typedef struct mushcursor {
#if !MUSHSPACE_93
	MushCursorMode mode;
#endif
	mushspace *space;
	mushcoords pos;
#if !MUSHSPACE_93
	size_t     box_idx;
#endif
} mushcursor;

#define mushcursor_sizeof MUSHSPACE_CAT(mushcursor,_sizeof)
#define mushcursor_init   MUSHSPACE_CAT(mushcursor,_init)

extern const size_t mushcursor_sizeof;

mushcursor* mushcursor_init(mushspace*, mushcoords, mushcoords, void*);

#endif

Add mushcursor.box_idx, for Funge-98 only


testScreens: testReport: DeleteInspectionLocation
If [ tagTestSubjectLocation::_LtestSubjectLocation = "" ]
Halt Script
End If
If [ tagTestSubjectLocation::inUse = "t" ]
Show Custom Dialog [ Title: "!"; Message: "Deleting this set of test items is allowed after you delete all discoveries made during testing."; Buttons: “OK” ]
Exit Script [ ]
End If
Set Variable [ $delete; Value:tagTestSubjectLocation::_LtestSubjectLocation ]
Set Variable [ $location; Value:tagTestSubjectLocation::kfocus ]
Go to Field [ ]
Refresh Window
Show Custom Dialog [ Title: "!"; Message: "Delete " & tagTestSubject::tag & "'s " & "test number " & tagTestSubjectLocation::reportNumber & " of " & tagTestSubjectLocation::focusName & "?"; Buttons: “Cancel”, “Delete” ]
If [ Get ( LastMessageChoice ) = 2 ]
Delete Record/Request
[ No dialog ]
End If
Go to Layout [ original layout ]
Set Variable [ $delete ]
Refresh Window
January 7, 平成26 14:16:54 Imagination Quality Management.fp7 - DeleteInspectionLocation -1-

testScreens: testReport: deleteInspectionLocation
If [ tagTestSubjectLocation::_LtestSubjectLocation = "" ]
Halt Script
End If
If [ tagTestSubjectLocation::inUse = "t" ]
Show Custom Dialog [ Message: "Delete all test results made in this test section before deleting it. To do this, click its green test button. Click on each test item. Delete the results you find."; Buttons: “OK” ]
Exit Script [ ]
End If
Set Variable [ $delete; Value:tagTestSubjectLocation::_LtestSubjectLocation ]
Set Variable [ $location; Value:tagTestSubjectLocation::kfocus ]
Go to Field [ ]
Refresh Window
Show Custom Dialog [ Message: "Delete test section " & tagTestSubjectLocation::focusName & " for " & tagTestSubject::tag & "'s test #" & tagTestSubjectLocation::reportNumber & "?"; Buttons: “Cancel”, “Delete” ]
If [ Get ( LastMessageChoice ) = 2 ]
Delete Record/Request
[ No dialog ]
End If
Go to Layout [ original layout ]
Set Variable [ $delete ]
Refresh Window
July 11, 平成27 11:08:18 Library.fp7 - deleteInspectionLocation -1-

Change language to improve quality and update to new vocabulary.

Instead of ‘discovery’ now using ‘test result’ and instead of ‘focus’
now use ‘test section.’


// Copyright (c) 2015, Matthew Malensek.
// Distributed under the BSD 2-Clause License (see LICENSE.txt for details)

#pragma once

#include <Windows.h>

#include <unordered_map>

class Control;

class Dialog {
public:
    Dialog();
    Dialog(HWND parent, LPCWSTR dlgTemplate);

    void AddControl(Control *control);
    HWND DialogHandle();
    HWND ParentHandle();

    void Show();

protected:
    HWND _dlgHwnd;
    HWND _parent;

    /// <summary>Maps control IDs to their respective instances.</summary>
    std::unordered_map<int, Control *> _controlMap;

    static INT_PTR CALLBACK StaticDialogProc(HWND hwndDlg, UINT uMsg,
        WPARAM wParam, LPARAM lParam);

    virtual INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg,
        WPARAM wParam, LPARAM lParam);
};

// Copyright (c) 2015, Matthew Malensek.
// Distributed under the BSD 2-Clause License (see LICENSE.txt for details)

#pragma once

#include <Windows.h>

#include <unordered_map>

class Control;

class Dialog {
public:
    Dialog();
    Dialog(HWND parent, LPCWSTR dlgTemplate);

    void AddControl(Control *control);
    HWND DialogHandle();
    HWND ParentHandle();

    void Show();

protected:
    HWND _dlgHwnd;
    HWND _parent;
    LPCWSTR _template;

    /// <summary>Maps control IDs to their respective instances.</summary>
    std::unordered_map<int, Control *> _controlMap;

    static INT_PTR CALLBACK StaticDialogProc(HWND hwndDlg, UINT uMsg,
        WPARAM wParam, LPARAM lParam);

    virtual INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg,
        WPARAM wParam, LPARAM lParam);
};

Maintain the template string as an instance variable


/*
 * $Id$
 */

#include "common.h"
#include "miniobj.h"

extern struct evbase	*mgt_evb;

/* mgt_child.c */
void mgt_run(int dflag);
void mgt_start_child(void);
void mgt_stop_child(void);
extern pid_t mgt_pid, child_pid;

/* mgt_cli.c */

void mgt_cli_init(void);
void mgt_cli_setup(int fdi, int fdo, int verbose);
int mgt_cli_askchild(int *status, char **resp, const char *fmt, ...);
void mgt_cli_start_child(int fdi, int fdo);
void mgt_cli_stop_child(void);

/* mgt_vcc.c */
void mgt_vcc_init(void);
int mgt_vcc_default(const char *bflag, const char *fflag);
int mgt_push_vcls_and_start(int *status, char **p);

/* tcp.c */
int open_tcp(const char *port);

#include "stevedore.h"

extern struct stevedore sma_stevedore;
extern struct stevedore smf_stevedore;

#include "hash_slinger.h"

extern struct hash_slinger hsl_slinger;
extern struct hash_slinger hcl_slinger;

/*
 * $Id$
 */

#include "common.h"
#include "miniobj.h"

extern struct evbase	*mgt_evb;

/* mgt_child.c */
void mgt_run(int dflag);
extern pid_t mgt_pid, child_pid;

/* mgt_cli.c */

void mgt_cli_init(void);
void mgt_cli_setup(int fdi, int fdo, int verbose);
int mgt_cli_askchild(int *status, char **resp, const char *fmt, ...);
void mgt_cli_start_child(int fdi, int fdo);
void mgt_cli_stop_child(void);

/* mgt_vcc.c */
void mgt_vcc_init(void);
int mgt_vcc_default(const char *bflag, const char *fflag);
int mgt_push_vcls_and_start(int *status, char **p);

/* tcp.c */
int open_tcp(const char *port);

#include "stevedore.h"

extern struct stevedore sma_stevedore;
extern struct stevedore smf_stevedore;

#include "hash_slinger.h"

extern struct hash_slinger hsl_slinger;
extern struct hash_slinger hcl_slinger;

Remove prototypes for no longer existing functions

git-svn-id: 7d4b18ab7d176792635d6a7a77dd8cbbea8e8daa@659 d4fa192b-c00b-0410-8231-f00ffab90ce4


// SKIP PARAM: --set ana.activated[+] apron --set ana.path_sens[+] threadflag
extern int __VERIFIER_nondet_int();

#include <pthread.h>
#include <assert.h>

int g = 0;
int h = 0;
pthread_mutex_t A = PTHREAD_MUTEX_INITIALIZER;

void *t_fun(void *arg) {
  pthread_mutex_lock(&A);
  g = 16;
  pthread_mutex_unlock(&A);
  return NULL;
}

void *t_fun2(void *arg) {
  pthread_mutex_lock(&A);
  h = __VERIFIER_nondet_int();
  h = 12;
  pthread_mutex_unlock(&A);
  return NULL;
}

int main(void) {
  pthread_t id, id2;
  pthread_create(&id, NULL, t_fun, NULL);
  pthread_create(&id2, NULL, t_fun2, NULL);

  pthread_mutex_lock(&A);
  h = 31;
  pthread_mutex_unlock(&A);

  pthread_mutex_lock(&A);
  h = 12;
  pthread_mutex_unlock(&A);

  pthread_mutex_lock(&A);
  int z = h;
  assert(z != 31);
  pthread_mutex_unlock(&A);
  return 0;
}

Add relational traces example where 1-clusters are needed


#include "stdio.h"
#include "stdlib.h"

#define TRIALS 4
#define MATRIX_SIZE 1024

int main(int argc, char*  argv[])
{
	short A[MATRIX_SIZE][MATRIX_SIZE],
	      B[MATRIX_SIZE][MATRIX_SIZE],
	      C[MATRIX_SIZE][MATRIX_SIZE];

	// Initalize array A and B with '1's
	for (int i = 0; i < MATRIX_SIZE; ++i)
		for (int k = 0; k < MATRIX_SIZE; ++k)
			A[i][k] = B[i][k] = 1;

	// Iterate through the block sizes
	for (int block_size = 4; block_size <= 256; block_size *= 2)
	{
		// Run TRIALS number of trials for each block size
		for (int trial = 0; trial < TRIALS; ++trial)
		{
			printf("size: %d\n", block_size);
		}
	}

	return 0;
}

#include "stdio.h"
#include "stdlib.h"

#define TRIALS 4
#define MATRIX_SIZE 2048

short A[MATRIX_SIZE][MATRIX_SIZE],
      B[MATRIX_SIZE][MATRIX_SIZE],
      C[MATRIX_SIZE][MATRIX_SIZE] = {{0}};

int main(int argc, char*  argv[])
{
	// Initalize array A and B with '1's
	for (int i = 0; i < MATRIX_SIZE; ++i)
		for (int k = 0; k < MATRIX_SIZE; ++k)
			A[i][k] = B[i][k] = 1;

	// Iterate through the block sizes
	for (int block_size = 4; block_size <= 256; block_size *= 2)
	{
		// Run TRIALS number of trials for each block size
		for (int trial = 0; trial < TRIALS; ++trial)
		{
			printf("size: %d\n", block_size);
		}
	}

	return 0;
}

Move the arrays out of the stack into global mem


#ifndef _ASM_X86_BUG_H
#define _ASM_X86_BUG_H

#ifdef CONFIG_BUG
#define HAVE_ARCH_BUG

#ifdef CONFIG_DEBUG_BUGVERBOSE

#ifdef CONFIG_X86_32
# define __BUG_C0	"2:\t.long 1b, %c0\n"
#else
# define __BUG_C0	"2:\t.long 1b - 2b, %c0 - 2b\n"
#endif

#define BUG()							\
do {								\
	asm volatile("1:\tud2\n"				\
		     ".pushsection __bug_table,\"a\"\n"		\
		     __BUG_C0					\
		     "\t.word %c1, 0\n"				\
		     "\t.org 2b+%c2\n"				\
		     ".popsection"				\
		     : : "i" (__FILE__), "i" (__LINE__),	\
		     "i" (sizeof(struct bug_entry)));		\
	for (;;) ;						\
} while (0)

#else
#define BUG()							\
do {								\
	asm volatile("ud2");					\
	for (;;) ;						\
} while (0)
#endif

#endif /* !CONFIG_BUG */

#include <asm-generic/bug.h>
#endif /* _ASM_X86_BUG_H */

#ifndef _ASM_X86_BUG_H
#define _ASM_X86_BUG_H

#ifdef CONFIG_BUG
#define HAVE_ARCH_BUG

#ifdef CONFIG_DEBUG_BUGVERBOSE

#ifdef CONFIG_X86_32
# define __BUG_C0	"2:\t.long 1b, %c0\n"
#else
# define __BUG_C0	"2:\t.long 1b - 2b, %c0 - 2b\n"
#endif

#define BUG()							\
do {								\
	asm volatile("1:\tud2\n"				\
		     ".pushsection __bug_table,\"a\"\n"		\
		     __BUG_C0					\
		     "\t.word %c1, 0\n"				\
		     "\t.org 2b+%c2\n"				\
		     ".popsection"				\
		     : : "i" (__FILE__), "i" (__LINE__),	\
		     "i" (sizeof(struct bug_entry)));		\
	unreachable();						\
} while (0)

#else
#define BUG()							\
do {								\
	asm volatile("ud2");					\
	unreachable();						\
} while (0)
#endif

#endif /* !CONFIG_BUG */

#include <asm-generic/bug.h>
#endif /* _ASM_X86_BUG_H */

Convert BUG() to use unreachable()

x86: Convert BUG() to use unreachable()

Use the new unreachable() macro instead of for(;;);.  When
allyesconfig is built with a GCC-4.5 snapshot on i686 the size of the
text segment is reduced by 3987 bytes (from 6827019 to 6823032).

Signed-off-by: David Daney <0662de36cfb0706ed279bff52abef14720945acc@caviumnetworks.com>
Acked-by: "H. Peter Anvin" <8a453bad9912ffe59bc0f0b8abe03df9be19379e@zytor.com>
CC: Thomas Gleixner <00e4cf8f46a57000a44449bf9dd8cbbcc209fd2a@linutronix.de>
CC: Ingo Molnar <9dbbbf0688fedc85ad4da37637f1a64b8c718ee2@redhat.com>
CC: 500d1ad82b2a9e532e251e94d31de3f8a5cf4174@kernel.org
Signed-off-by: Linus Torvalds <69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org>


#ifndef USER_H
#define USER_H

#include <stdint.h>
#include <QString>
#include <QByteArray>
#include <QVector>
#include "../inc/pwentry.h"

class User
{

public:
    enum AuthenticateFlag {
        Authenticate = 0x0000,
        Encrypt      = 0x0001,
        Decrypt      = 0x0002
    };

    User();
    User(QString username,
         QString password);
    User(QString username,
         QByteArray auth_salt,
         QByteArray key_salt,
         QByteArray iv,
         QByteArray auth_hash,
         QVector<PwEntry> password_entries);

    QString username;
    QByteArray auth_salt;
    QByteArray key_salt;
    QByteArray iv;
    QByteArray auth_hash;

    QVector<PwEntry> password_entries;

    bool isDecrypted;

    int Authenticate(QString password, AuthenticateFlag auth_mode);
    int AddPwEntry(PwEntry password_entry);

private:
    void EncryptAllPwEntries(QString password);
    void DecryptAllPwEntries(QString password);
};

#endif // USER_H

#ifndef USER_H
#define USER_H

#include <stdint.h>
#include <QString>
#include <QByteArray>
#include <QVector>
#include "../inc/pwentry.h"

class User
{

public:
    enum AuthenticateFlag {
        Auth    = 0x0000,
        Encrypt = 0x0001,
        Decrypt = 0x0002
    };

    User();
    User(QString username,
         QString password);
    User(QString username,
         QByteArray auth_salt,
         QByteArray key_salt,
         QByteArray iv,
         QByteArray auth_hash,
         QVector<PwEntry> password_entries);

    QString username;
    QByteArray auth_salt;
    QByteArray key_salt;
    QByteArray iv;
    QByteArray auth_hash;

    QVector<PwEntry> password_entries;

    bool isDecrypted;

    int Authenticate(QString password, User::AuthenticateFlag auth_mode);
    int AddPwEntry(PwEntry password_entry);

private:
    void EncryptAllPwEntries(QString password);
    void DecryptAllPwEntries(QString password);
};

#endif // USER_H

Resolve naming conflict between Authenticate method name and enum name.


#ifndef __STDARG_H
#define __STDARG_H

#include "sys/types.h"

typedef void *va_list;

#define va_start(l, arg) l = (void *)&arg
#define va_arg(l, type) (*(type *)(l += __WORDSIZE / 8))
#define va_end(l)

#endif

#ifndef __STDARG_H
#define __STDARG_H

#include "sys/types.h"

typedef void *va_list;

#define va_start(l, arg) l = (void *)&arg
/*
 * va_arg assumes arguments are promoted to
 * machine-word size when pushed onto the stack
 */
#define va_arg(l, type) (*(type *)(l += sizeof *l))
#define va_end(l)

#endif

Move by machine word size

Move by machine word size


#ifndef COMPTONSPECTRUM
#define COMPTONSPECTRUM

#include "TH1F.h"

class spectrum
{
public:
  spectrum(double initialEnergy, double resolution);
  void setNumberOfEvents(const int events);
  virtual TH1F* getHisto();
  virtual void generateEvents();
protected:
  double fInitialEnergy;
  double fResolution;
  int fEvents;
  std::vector<double> fSimEvents;
};

#endif //COMPTONSPECTRUM

#ifndef COMPTONSPECTRUM
#define COMPTONSPECTRUM

#include "TH1F.h"

class spectrum
{
public:
  spectrum(double initialEnergy = 0, double resolution = 0);
  void setNumberOfEvents(const int events);
  virtual TH1F* getHisto();
  virtual void generateEvents();
protected:
  double fInitialEnergy = 0;
  double fResolution = 0;
  int fEvents = 0;
  std::vector<double> fSimEvents;
};

#endif //COMPTONSPECTRUM

Add default values of variables

Add default values of variables


/*
 * children.h - linked list for keeping node results
 *
 * author       : Jeroen van der Heijden
 * email        : jeroen@transceptor.technology
 * copyright    : 2016, Transceptor Technology
 *
 * changes
 *  - initial version, 08-03-2016
 *  - refactoring, 17-06-2017
 */
#ifndef CLERI_CHILDREN_H_
#define CLERI_CHILDREN_H_

#include <cleri/node.h>

/* typedefs */
typedef struct cleri_node_s cleri_node_t;
typedef struct cleri_children_s cleri_children_t;

/* private functions */
cleri_children_t * cleri__children_new(void);
void cleri__children_free(cleri_children_t * children);
int cleri__children_add(cleri_children_t * children, cleri_node_t * node);

/* structs */
struct cleri_children_s
{
    cleri_node_t * node;
    struct cleri_children_s * next;
};

#endif /* CLERI_CHILDREN_H_ */

/*
 * children.h - linked list for keeping node results
 *
 * author       : Jeroen van der Heijden
 * email        : jeroen@transceptor.technology
 * copyright    : 2016, Transceptor Technology
 *
 * changes
 *  - initial version, 08-03-2016
 *  - refactoring, 17-06-2017
 */
#ifndef CLERI_CHILDREN_H_
#define CLERI_CHILDREN_H_

#include <cleri/node.h>

/* typedefs */
typedef struct cleri_node_s cleri_node_t;
typedef struct cleri_children_s cleri_children_t;

/* private functions */
cleri_children_t * cleri__children_new(void);
void cleri__children_free(cleri_children_t * children);
int cleri__children_add(cleri_children_t * children, cleri_node_t * node);

/* structs */
struct cleri_children_s
{
    cleri_node_t * node;
    cleri_children_t * next;
};

#endif /* CLERI_CHILDREN_H_ */

Update gitignore and use typedef instead of struct


// LAF OS Library
// Copyright (C) 2019  Igara Studio S.A.
// Copyright (C) 2012-2013  David Capello
//
// This file is released under the terms of the MIT license.
// Read LICENSE.txt for more information.

#ifndef OS_SCOPED_HANDLE_H_INCLUDED
#define OS_SCOPED_HANDLE_H_INCLUDED
#pragma once

namespace os {

  template<typename T>
  class ScopedHandle {
  public:
    ScopedHandle(T* handle) : m_handle(handle) { }
    ScopedHandle(ScopedHandle&& that) {
      m_handle = that.m_handle;
      that.m_handle = nullptr;
    }
    ~ScopedHandle() {
      if (m_handle)
        m_handle->dispose();
    }

    T* operator->() { return m_handle; }
    operator T*() { return m_handle; }
  private:
    T* m_handle;

    // Cannot copy
    ScopedHandle(const ScopedHandle&);
    ScopedHandle& operator=(const ScopedHandle&);
  };

} // namespace os

#endif

// LAF OS Library
// Copyright (C) 2019-2020  Igara Studio S.A.
// Copyright (C) 2012-2013  David Capello
//
// This file is released under the terms of the MIT license.
// Read LICENSE.txt for more information.

#ifndef OS_SCOPED_HANDLE_H_INCLUDED
#define OS_SCOPED_HANDLE_H_INCLUDED
#pragma once

namespace os {

  template<typename T>
  class ScopedHandle {
  public:
    ScopedHandle(T* handle) : m_handle(handle) { }
    ScopedHandle(ScopedHandle&& that) {
      m_handle = that.m_handle;
      that.m_handle = nullptr;
    }
    ~ScopedHandle() {
      if (m_handle)
        m_handle->dispose();
    }

    T* operator->() { return m_handle; }
    operator T*() { return m_handle; }

    const T* operator->() const { return m_handle; }
    operator const T*() const { return m_handle; }

  private:
    T* m_handle;

    // Cannot copy
    ScopedHandle(const ScopedHandle&);
    ScopedHandle& operator=(const ScopedHandle&);
  };

} // namespace os

#endif

Add operators for ScopedHandle when it is const


//
//  CardinalDebugToolkit.h
//  CardinalDebugToolkit
//
//  Created by Robin Kunde on 11/3/17.
//  Copyright © 2017 Cardinal Solutions. All rights reserved.
//

#import <UIKit/UIKit.h>

//! Project version number for CardinalDebugToolkit.
FOUNDATION_EXPORT double CardinalDebugToolkitVersionNumber;

//! Project version string for CardinalDebugToolkit.
FOUNDATION_EXPORT const unsigned char CardinalDebugToolkitVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <CardinalDebugToolkit/PublicHeader.h>

#import <CardinalDebugToolkit/NSUserDefaultsHelper.h>

//
//  CardinalDebugToolkit.h
//  CardinalDebugToolkit
//
//  Created by Robin Kunde on 11/3/17.
//  Copyright © 2017 Cardinal Solutions. All rights reserved.
//

#import <UIKit/UIKit.h>

//! Project version number for CardinalDebugToolkit.
FOUNDATION_EXPORT double CardinalDebugToolkitVersionNumber;

//! Project version string for CardinalDebugToolkit.
FOUNDATION_EXPORT const unsigned char CardinalDebugToolkitVersionString[];

#import "NSUserDefaultsHelper.h"

Fix import statement in library briding header


#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <qwt_picker.h>
#include <qwt_plot_picker.h>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_enableSizeButton_clicked();

private:
    Ui::MainWindow *ui;
    double **xnPlus, **xnMinus, **ynPlus, **ynMinus;
    QwtPlotPicker *picker;

private:
    void initArrays();
    void initTauComboBox();
    void initQwtPlot();
    void initQwtPlotPicker();
    double func1(double xn, double yn);
    double func2(double xn);
    void buildTrajectory(int idTraj);
};

#endif // MAINWINDOW_H

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <qwt_picker.h>
#include <qwt_plot_picker.h>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_enableSizeButton_clicked();

private:
    Ui::MainWindow *ui;
    double **xnPlus, **xnMinus, **ynPlus, **ynMinus;
    double x0, y0;
    QwtPlotPicker *picker;

private:
    void initArrays();
    void initTauComboBox();
    void initQwtPlot();
    void initQwtPlotPicker();
    double func1(double xn, double yn);
    double func2(double xn);
    void buildTrajectory(int idTraj);
};

#endif // MAINWINDOW_H

Add x0, y0 fields in class.

Add x0, y0 fields in class.


//
//  BKCardExpiryField.h
//  BKMoneyKit
//
//  Created by Byungkook Jang on 2014. 7. 6..
//  Copyright (c) 2014년 Byungkook Jang. All rights reserved.
//

#import "BKForwardingTextField.h"

@interface BKCardExpiryField : BKForwardingTextField

/**
 * Date components that user typed. Undetermined components would be zero.
 */
@property (nonatomic, strong) NSDateComponents      *dateComponents;

@end

//
//  BKCardExpiryField.h
//  BKMoneyKit
//
//  Created by Byungkook Jang on 2014. 7. 6..
//  Copyright (c) 2014년 Byungkook Jang. All rights reserved.
//

#import "BKForwardingTextField.h"

@interface BKCardExpiryField : BKForwardingTextField

/**
 * Date components that user typed. Undetermined components would be zero.
 */
@property (nonatomic, strong) NSDateComponents      *dateComponents;

+ (NSInteger)currentYear;

@end

Add accept to current year getter

Add accept to current year getter