]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
2 years agorefactor: fs::path-ify is_ccache_executable
Joel Rosdahl [Wed, 2 Aug 2023 11:01:38 +0000 (13:01 +0200)] 
refactor: fs::path-ify is_ccache_executable

2 years agorefactor: Rename and improve Stat class to util::DirEntry
Joel Rosdahl [Mon, 31 Jul 2023 17:12:30 +0000 (19:12 +0200)] 
refactor: Rename and improve Stat class to util::DirEntry

2 years agorefactor: Move core/wincompat.hpp to util
Joel Rosdahl [Thu, 27 Jul 2023 20:05:27 +0000 (22:05 +0200)] 
refactor: Move core/wincompat.hpp to util

2 years agorefactor: Remove Stat::OnError::throw_error
Joel Rosdahl [Thu, 27 Jul 2023 17:11:09 +0000 (19:11 +0200)] 
refactor: Remove Stat::OnError::throw_error

This is in preparation for moving the Stat class to util where we don't
want to know about core::Error.

2 years agorefactor: Move Util::traverse to util
Joel Rosdahl [Thu, 27 Jul 2023 13:37:10 +0000 (15:37 +0200)] 
refactor: Move Util::traverse to util

2 years agorefactor: Move Util::send_to_fd to core
Joel Rosdahl [Tue, 25 Jul 2023 19:43:15 +0000 (21:43 +0200)] 
refactor: Move Util::send_to_fd to core

2 years agochore: Tweak documentation related to debug level
Joel Rosdahl [Wed, 2 Aug 2023 11:35:49 +0000 (13:35 +0200)] 
chore: Tweak documentation related to debug level

2 years agofeat: Allow specifying debug level (#1312)
dsilakov [Wed, 2 Aug 2023 11:24:49 +0000 (14:24 +0300)] 
feat: Allow specifying debug level (#1312)

Allow specifying debug level via a debug_level option or CCACHE_DEBUGLEVEL
environment variable.

With debug_level=2 (default), ccache behavior's in debug mode is not changed.

With debug_level=1, ccache will only dump *.ccache-log files (and not the
*input* ones). This is useful for getting per-file caching results.

2 years agofix: Work around GCC 12.3 bug 109241
Joel Rosdahl [Tue, 1 Aug 2023 10:30:12 +0000 (12:30 +0200)] 
fix: Work around GCC 12.3 bug 109241

See also #1289.

2 years agorefactor: Remove superfluous util:: qualifications
Joel Rosdahl [Tue, 25 Jul 2023 06:55:14 +0000 (08:55 +0200)] 
refactor: Remove superfluous util:: qualifications

2 years agobump: Upgrade to xxHash 0.8.2
Joel Rosdahl [Mon, 24 Jul 2023 17:18:05 +0000 (19:18 +0200)] 
bump: Upgrade to xxHash 0.8.2

Closes #1085.

2 years agorefactor: Improve util::write_fd usage
Joel Rosdahl [Mon, 24 Jul 2023 13:29:37 +0000 (15:29 +0200)] 
refactor: Improve util::write_fd usage

2 years agorefactor: Improve util::read_file usage
Joel Rosdahl [Mon, 24 Jul 2023 11:51:42 +0000 (13:51 +0200)] 
refactor: Improve util::read_file usage

2 years agorefactor: Improve util::read_fd usage
Joel Rosdahl [Sun, 23 Jul 2023 14:53:25 +0000 (16:53 +0200)] 
refactor: Improve util::read_fd usage

2 years agoenhance: Add util::read_fd variant that returns all data at once
Joel Rosdahl [Sun, 23 Jul 2023 06:50:56 +0000 (08:50 +0200)] 
enhance: Add util::read_fd variant that returns all data at once

2 years agorefactor: Switch to tl::expected instead of nonstd::expected
Joel Rosdahl [Thu, 20 Jul 2023 08:30:06 +0000 (10:30 +0200)] 
refactor: Switch to tl::expected instead of nonstd::expected

2 years agorefactor: Use util::{throw_on_error,value_or_throw}
Joel Rosdahl [Thu, 20 Jul 2023 07:14:53 +0000 (09:14 +0200)] 
refactor: Use util::{throw_on_error,value_or_throw}

2 years agofix: Properly signal error on copy failure
Joel Rosdahl [Wed, 19 Jul 2023 13:55:52 +0000 (15:55 +0200)] 
fix: Properly signal error on copy failure

Restores behavior before 73a4585a58d5ab818a864485708d706532dfa3b4.

2 years agorefactor: Move util::rename to util::filesystem
Joel Rosdahl [Wed, 19 Jul 2023 06:43:38 +0000 (08:43 +0200)] 
refactor: Move util::rename to util::filesystem

2 years agorefactor: Move Util::get_hostname to util
Joel Rosdahl [Wed, 19 Jul 2023 06:33:25 +0000 (08:33 +0200)] 
refactor: Move Util::get_hostname to util

2 years agorefactor: Move Util::get_home_directory to Config
Joel Rosdahl [Tue, 18 Jul 2023 19:25:26 +0000 (21:25 +0200)] 
refactor: Move Util::get_home_directory to Config

2 years agorefactor: Move Util::ensure_dir_exists to util
Joel Rosdahl [Tue, 18 Jul 2023 17:26:13 +0000 (19:26 +0200)] 
refactor: Move Util::ensure_dir_exists to util

2 years agorefactor: Move Util::unlink_* to util
Joel Rosdahl [Tue, 18 Jul 2023 12:06:37 +0000 (14:06 +0200)] 
refactor: Move Util::unlink_* to util

2 years agorefactor: Let util::rename return std::error_code
Joel Rosdahl [Tue, 18 Jul 2023 08:19:05 +0000 (10:19 +0200)] 
refactor: Let util::rename return std::error_code

2 years agorefactor: Move Util::is_ccache_executable to ccache
Joel Rosdahl [Mon, 17 Jul 2023 16:46:27 +0000 (18:46 +0200)] 
refactor: Move Util::is_ccache_executable to ccache

2 years agochore: Clean up config.h
Joel Rosdahl [Mon, 17 Jul 2023 16:36:06 +0000 (18:36 +0200)] 
chore: Clean up config.h

2 years agorefactor: Move Util::localtime to util
Joel Rosdahl [Mon, 17 Jul 2023 13:46:19 +0000 (15:46 +0200)] 
refactor: Move Util::localtime to util

2 years agochore: Improve code style
Joel Rosdahl [Mon, 17 Jul 2023 13:41:06 +0000 (15:41 +0200)] 
chore: Improve code style

2 years agorefactor: Move Util::is_precompiled_header to argprocessing
Joel Rosdahl [Mon, 17 Jul 2023 13:38:57 +0000 (15:38 +0200)] 
refactor: Move Util::is_precompiled_header to argprocessing

2 years agorefactor: Move Util::to_lowercase to util
Joel Rosdahl [Mon, 17 Jul 2023 13:27:07 +0000 (15:27 +0200)] 
refactor: Move Util::to_lowercase to util

2 years agochore: Add note about using util::rename instead of fs::rename
Joel Rosdahl [Mon, 17 Jul 2023 10:36:15 +0000 (12:36 +0200)] 
chore: Add note about using util::rename instead of fs::rename

2 years agorefactor: Use std::filesystem::current_path
Joel Rosdahl [Mon, 17 Jul 2023 07:10:16 +0000 (09:10 +0200)] 
refactor: Use std::filesystem::current_path

2 years agorefactor: Improve std::filesystem wrappers
Joel Rosdahl [Mon, 17 Jul 2023 07:06:05 +0000 (09:06 +0200)] 
refactor: Improve std::filesystem wrappers

I couldn't figure out how to make the templated versions support both

    path current_path();

and

    void current_path(const path& p);

so using preprocessor macros instead.

2 years agorefactor: Use std::filesystem::remove_all
Joel Rosdahl [Sun, 16 Jul 2023 16:26:45 +0000 (18:26 +0200)] 
refactor: Use std::filesystem::remove_all

2 years agochore: Improve util::format_argv_for_logging
Joel Rosdahl [Sun, 16 Jul 2023 15:36:58 +0000 (17:36 +0200)] 
chore: Improve util::format_argv_for_logging

2 years agorefactor: Move Util::format_argv_for_logging to util
Joel Rosdahl [Sun, 16 Jul 2023 15:26:23 +0000 (17:26 +0200)] 
refactor: Move Util::format_argv_for_logging to util

2 years agorefactor: Move Util::get_{actual,apparent}_cwd to util
Joel Rosdahl [Sun, 16 Jul 2023 12:48:36 +0000 (14:48 +0200)] 
refactor: Move Util::get_{actual,apparent}_cwd to util

2 years agorefactor: Use std::filesystem::create_director{ies,y}
Joel Rosdahl [Sun, 16 Jul 2023 08:22:06 +0000 (10:22 +0200)] 
refactor: Use std::filesystem::create_director{ies,y}

2 years agorefactor: Move Util::split_into_* to util
Joel Rosdahl [Sun, 16 Jul 2023 07:18:57 +0000 (09:18 +0200)] 
refactor: Move Util::split_into_* to util

2 years agorefactor: Move Util::size_change_kibibyte to LocalStorage
Joel Rosdahl [Sun, 16 Jul 2023 07:13:52 +0000 (09:13 +0200)] 
refactor: Move Util::size_change_kibibyte to LocalStorage

2 years agorefactor: Move Util::set_cloexec_flag to util
Joel Rosdahl [Sat, 15 Jul 2023 19:04:51 +0000 (21:04 +0200)] 
refactor: Move Util::set_cloexec_flag to util

2 years agorefactor: Create util::filesystem wrappers returning nonstd::expected
Joel Rosdahl [Sat, 15 Jul 2023 14:06:31 +0000 (16:06 +0200)] 
refactor: Create util::filesystem wrappers returning nonstd::expected

2 years agorefactor: Move Util::fallocate to util
Joel Rosdahl [Sat, 15 Jul 2023 08:41:25 +0000 (10:41 +0200)] 
refactor: Move Util::fallocate to util

2 years agochore: Fix grammar in comment
Joel Rosdahl [Fri, 14 Jul 2023 18:50:52 +0000 (20:50 +0200)] 
chore: Fix grammar in comment

2 years agorefactor: Move UmaskScope to util
Joel Rosdahl [Fri, 14 Jul 2023 18:46:37 +0000 (20:46 +0200)] 
refactor: Move UmaskScope to util

2 years agorefactor: Move Util::{g,s}et_umask to util
Joel Rosdahl [Fri, 14 Jul 2023 18:43:28 +0000 (20:43 +0200)] 
refactor: Move Util::{g,s}et_umask to util

2 years agorefactor: Use fs alias for std::filesystem
Joel Rosdahl [Fri, 14 Jul 2023 18:33:24 +0000 (20:33 +0200)] 
refactor: Use fs alias for std::filesystem

2 years agofix: Pass error code to fs::temp_directory_path as intended
Joel Rosdahl [Fri, 14 Jul 2023 15:15:30 +0000 (17:15 +0200)] 
fix: Pass error code to fs::temp_directory_path as intended

As noted by Thibault Odorico.

2 years agorefactor: Move Util::parse_duration to util
Joel Rosdahl [Fri, 14 Jul 2023 06:14:09 +0000 (08:14 +0200)] 
refactor: Move Util::parse_duration to util

2 years agorefactor: Use std::filesystem::current_path
Joel Rosdahl [Wed, 12 Jul 2023 19:20:04 +0000 (21:20 +0200)] 
refactor: Use std::filesystem::current_path

2 years agorefactor: Use std::filesystem::canonical
Joel Rosdahl [Wed, 12 Jul 2023 19:15:31 +0000 (21:15 +0200)] 
refactor: Use std::filesystem::canonical

2 years agorefactor: Use std::filesystem::temp_directory_path
Joel Rosdahl [Wed, 12 Jul 2023 18:42:42 +0000 (20:42 +0200)] 
refactor: Use std::filesystem::temp_directory_path

2 years agochore: Tweak code style
Joel Rosdahl [Wed, 12 Jul 2023 11:57:07 +0000 (13:57 +0200)] 
chore: Tweak code style

2 years agobump: Upgrade to hiredis 1.2.0
Joel Rosdahl [Wed, 12 Jul 2023 09:18:07 +0000 (11:18 +0200)] 
bump: Upgrade to hiredis 1.2.0

2 years agofeat: Support multiple -Xarch_* arguments matching -arch (#1131)
Tadej Novak [Wed, 12 Jul 2023 11:50:31 +0000 (13:50 +0200)] 
feat: Support multiple -Xarch_* arguments matching -arch (#1131)

2 years agorefactor: Move Util::rename to util
Joel Rosdahl [Tue, 11 Jul 2023 13:08:29 +0000 (15:08 +0200)] 
refactor: Move Util::rename to util

2 years agorefactor: Use fs::read_symlink instead of custom implementation
Joel Rosdahl [Tue, 11 Jul 2023 06:07:28 +0000 (08:07 +0200)] 
refactor: Use fs::read_symlink instead of custom implementation

2 years agorefactor: Get rid of asprintf usage and Windows compatibility wrapper
Joel Rosdahl [Mon, 10 Jul 2023 06:15:57 +0000 (08:15 +0200)] 
refactor: Get rid of asprintf usage and Windows compatibility wrapper

2 years agorefactor: Use fs::create_hard_link instead of custom implementation
Joel Rosdahl [Sun, 9 Jul 2023 19:53:54 +0000 (21:53 +0200)] 
refactor: Use fs::create_hard_link instead of custom implementation

2 years agorefactor: Move copy_file to util
Joel Rosdahl [Sun, 9 Jul 2023 17:08:20 +0000 (19:08 +0200)] 
refactor: Move copy_file to util

2 years agorefactor: Move clone_hard_link_or_copy_file to local storage class
Joel Rosdahl [Sun, 9 Jul 2023 16:36:31 +0000 (18:36 +0200)] 
refactor: Move clone_hard_link_or_copy_file to local storage class

2 years agorefactor: Move environment utility functions to util
Joel Rosdahl [Fri, 7 Jul 2023 14:42:23 +0000 (16:42 +0200)] 
refactor: Move environment utility functions to util

2 years agorefactor: Move functions for endian conversion to util
Joel Rosdahl [Fri, 7 Jul 2023 14:31:31 +0000 (16:31 +0200)] 
refactor: Move functions for endian conversion to util

2 years agorefactor: Move data type conversion utilities to util
Joel Rosdahl [Fri, 7 Jul 2023 14:24:40 +0000 (16:24 +0200)] 
refactor: Move data type conversion utilities to util

2 years agorefactor: Improve InodeCache::get signature
Joel Rosdahl [Fri, 7 Jul 2023 14:01:59 +0000 (16:01 +0200)] 
refactor: Improve InodeCache::get signature

2 years agochore: Remove now unused Hash::HashType distinction
Joel Rosdahl [Fri, 7 Jul 2023 13:44:28 +0000 (15:44 +0200)] 
chore: Remove now unused Hash::HashType distinction

After 561be2085df94b3c35dd803e56668e6feafc93b7 hash debugging will never
be enabled for a Hash instance that hashes binary data, so remove the
now unused Hash::HashType enum and related code.

2 years agorefactor: Use nonstd::span for data+size in more places
Joel Rosdahl [Fri, 7 Jul 2023 13:35:33 +0000 (15:35 +0200)] 
refactor: Use nonstd::span for data+size in more places

2 years agorefactor: Use std::array for hash digests instead of custom class
Joel Rosdahl [Fri, 7 Jul 2023 10:00:24 +0000 (12:00 +0200)] 
refactor: Use std::array for hash digests instead of custom class

2 years agorefactor: Improve format_base16/format_base32hex implementations
Joel Rosdahl [Fri, 7 Jul 2023 09:17:43 +0000 (11:17 +0200)] 
refactor: Improve format_base16/format_base32hex implementations

2 years agorefactor: Move format_base16/format_base32hex to util
Joel Rosdahl [Fri, 7 Jul 2023 08:29:40 +0000 (10:29 +0200)] 
refactor: Move format_base16/format_base32hex to util

2 years agochore: Add missing #include statements
Joel Rosdahl [Fri, 7 Jul 2023 08:29:18 +0000 (10:29 +0200)] 
chore: Add missing #include statements

2 years agobump: Upgrade to BLAKE3 1.4.1
Joel Rosdahl [Fri, 7 Jul 2023 06:53:31 +0000 (08:53 +0200)] 
bump: Upgrade to BLAKE3 1.4.1

2 years agochore: Tweak code style
Joel Rosdahl [Thu, 6 Jul 2023 16:51:13 +0000 (18:51 +0200)] 
chore: Tweak code style

2 years agofeat: Kill Windows compiler subprocess when ccache is aborted (#1274)
Andreas Reischuck [Thu, 6 Jul 2023 16:35:01 +0000 (18:35 +0200)] 
feat: Kill Windows compiler subprocess when ccache is aborted (#1274)

2 years agofeat: Support escaping dollar signs in configuration values
Joel Rosdahl [Sun, 2 Jul 2023 08:44:16 +0000 (10:44 +0200)] 
feat: Support escaping dollar signs in configuration values

2 years agofeat: Support environment variables in all configuration items
Joel Rosdahl [Sun, 2 Jul 2023 08:36:13 +0000 (10:36 +0200)] 
feat: Support environment variables in all configuration items

As mentioned in #1307.

2 years agochore: Remove stray -warnings-as-errors entry in .clang-tidy
Joel Rosdahl [Sat, 1 Jul 2023 08:33:17 +0000 (10:33 +0200)] 
chore: Remove stray -warnings-as-errors entry in .clang-tidy

2 years agochore: Improve log message for nonexistent header file for manifest
Joel Rosdahl [Sat, 1 Jul 2023 08:00:40 +0000 (10:00 +0200)] 
chore: Improve log message for nonexistent header file for manifest

2 years agochore: Make some constructors explicit
Joel Rosdahl [Fri, 30 Jun 2023 20:00:13 +0000 (22:00 +0200)] 
chore: Make some constructors explicit

2 years agofeat: Expand environment variables in debug_dir configuration (#1307)
cupu [Sun, 2 Jul 2023 08:34:13 +0000 (10:34 +0200)] 
feat: Expand environment variables in debug_dir configuration (#1307)

2 years agofix: Improve nvcc handling of -Xcompiler and --Werror (#1304)
Andrew Hardin [Thu, 29 Jun 2023 19:38:06 +0000 (13:38 -0600)] 
fix: Improve nvcc handling of -Xcompiler and --Werror (#1304)

2 years agofix: Improve MSVC .rsp file parsing (#1303)
Jiri Hörner [Thu, 29 Jun 2023 19:03:59 +0000 (21:03 +0200)] 
fix: Improve MSVC .rsp file parsing (#1303)

2 years agofeat: Let ignore_options/CCACHE_IGNOREOPTIONS also skip option
Joel Rosdahl [Wed, 21 Jun 2023 19:22:44 +0000 (21:22 +0200)] 
feat: Let ignore_options/CCACHE_IGNOREOPTIONS also skip option

The ignore_options (CCACHE_IGNOREOPTIONS) configuration makes ccache
exclude matching compiler options from the input hash. This commit also
makes ccache skip matching compiler options from any special processing,
similar to how --ccache-skip works.

As discussed in #1284 and #1301.

2 years agochore: Update typos configuration
Joel Rosdahl [Wed, 14 Jun 2023 18:49:31 +0000 (20:49 +0200)] 
chore: Update typos configuration

2 years agofeat: Don't hash /Fd, /FS or /MP (#1298)
huangqinjin [Wed, 21 Jun 2023 18:04:27 +0000 (02:04 +0800)] 
feat: Don't hash /Fd, /FS or /MP (#1298)

/Fd is to specify the file name of output PDB. But currently ccache only
supports /Z7 which doesn't generate PDB at compile time.

/FS forces writes to PDB to be serialized through MSPDBSRV.EXE.
It shouldn't affect generated files and it has no effect for /Z7.

/MP enables /FS. It creates multiple compiler instances and simultaneously
compile multiple source files which is not supported by ccache.

2 years agochore: Fix bad markup in NEWS.adoc
Joel Rosdahl [Thu, 15 Jun 2023 11:13:06 +0000 (13:13 +0200)] 
chore: Fix bad markup in NEWS.adoc

2 years agochore: Update authors v4.8.2
Joel Rosdahl [Mon, 12 Jun 2023 19:17:31 +0000 (21:17 +0200)] 
chore: Update authors

2 years agochore: Update NEWS
Joel Rosdahl [Mon, 12 Jun 2023 18:58:30 +0000 (20:58 +0200)] 
chore: Update NEWS

2 years agochore: Update .mailmap
Joel Rosdahl [Sun, 11 Jun 2023 16:11:00 +0000 (18:11 +0200)] 
chore: Update .mailmap

2 years agobump: Upgrade to cpp-httplib 0.12.6
Joel Rosdahl [Sat, 10 Jun 2023 11:25:40 +0000 (13:25 +0200)] 
bump: Upgrade to cpp-httplib 0.12.6

2 years agobump: Upgrade to BLAKE3 1.4.0
Joel Rosdahl [Fri, 9 Jun 2023 14:21:47 +0000 (16:21 +0200)] 
bump: Upgrade to BLAKE3 1.4.0

2 years agorefactor: Use std::size to compute array size (#1297)
Gregor Jasny [Wed, 7 Jun 2023 19:11:51 +0000 (21:11 +0200)] 
refactor: Use std::size to compute array size (#1297)

2 years agobuild: Fix Xcode build of zstd (#1296)
Gregor Jasny [Wed, 7 Jun 2023 19:11:07 +0000 (21:11 +0200)] 
build: Fix Xcode build of zstd (#1296)

Reproducer (CMake 3.26.4, Xcode 14.3):

    cmake -B _build -GXcode -DCMAKE_OSX_ARCHITECTURES=x86_64 \
          -DZSTD_FROM_INTERNET=ON -DREDIS_STORAGE_BACKEND=OFF
    cmake --build _build

See facebook/zstd#3622

2 years agofix: Keep the order of MSVC showIncludes output (#1295)
huangqinjin [Wed, 7 Jun 2023 06:51:38 +0000 (14:51 +0800)] 
fix: Keep the order of MSVC showIncludes output (#1295)

The bug is introduced in commit 3ec0d4ec961cb0c67ff1603b83a6026d9f3abbb5.

2 years agofix: Don't pass -v to the preprocessor
Joel Rosdahl [Tue, 6 Jun 2023 19:42:12 +0000 (21:42 +0200)] 
fix: Don't pass -v to the preprocessor

The -v option tells the compiler to print various diagnostics to stdout,
including randomly generated filenames. When ccache calls the
preprocessor and -v is on the command line, the random information will
become part of the input hash, making the preprocessor mode always
produce cache misses.

Fix this by only passing -v when compiling, not preprocessing.

Closes #1293.

2 years agoMerge pull request #1290 from rkitover/cmake-fixes
Joel Rosdahl [Tue, 6 Jun 2023 19:34:18 +0000 (21:34 +0200)] 
Merge pull request #1290 from rkitover/cmake-fixes

2 years agochore: Add basic CMakeSettings.json for VS IDE 1290/head
Rafael Kitover [Mon, 22 May 2023 22:54:56 +0000 (22:54 +0000)] 
chore: Add basic CMakeSettings.json for VS IDE

Add a basic CMakeSettings.json for the Visual Studio IDE using defaults
and Ninja as the generator, for x64, x86 and arm64.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agofix: Quiet cmake warning for extracted timestamps
Rafael Kitover [Tue, 23 May 2023 21:42:12 +0000 (21:42 +0000)] 
fix: Quiet cmake warning for extracted timestamps

For zstd and hiredis downloaded from the Internet, set cmake policy
CMP0135 to NEW to set the timestamps of extracted archive members to the
time of extraction to suppress the cmake dev warning on newer versions
of cmake.

Check that the policy exists so that this works on older versions of
cmake.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agochore: Re-enable 64 bit msbuild ci jobs
Rafael Kitover [Mon, 22 May 2023 22:19:22 +0000 (22:19 +0000)] 
chore: Re-enable 64 bit msbuild ci jobs

Fixed by 70bf22a5 (fix: Disable masm on msbuild for blake3 with VS,
2023-05-22).

References #1278

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agofix: Disable masm on msbuild for blake3 with VS
Rafael Kitover [Mon, 22 May 2023 22:13:19 +0000 (22:13 +0000)] 
fix: Disable masm on msbuild for blake3 with VS

Because of some bug with either msbuild or the cmake generator, the C
compiler flags are passed to the masm assembler making it fail.

Use the C intrinsic versions for blake3 when msbuild is in use.

Fix #1278

Signed-off-by: Rafael Kitover <rkitover@gmail.com>