Skip to content

Commit

Permalink
Merge branch 'master' into sjk/undef
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanKarpinski committed Nov 10, 2014
2 parents 2740bc8 + d43dfa8 commit 2013b09
Show file tree
Hide file tree
Showing 386 changed files with 7,368 additions and 4,903 deletions.
24 changes: 12 additions & 12 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Stephan Boyer <[email protected]> <stephan@ubuntu.(none)>
Stephan Boyer <[email protected]> <[email protected]>

Jiahao Chen <[email protected]> Jiahao Chen (陈家豪) <[email protected]>

Giuseppe Zingales <[email protected]> <[email protected]>
Giuseppe Zingales <[email protected]> <[email protected]>

Expand Down Expand Up @@ -100,17 +100,17 @@ Steven G. Johnson <[email protected]> <[email protected]>
Steven G. Johnson <[email protected]> <[email protected]>

Isaiah Norton <[email protected]> <[email protected]>
Isaiah Norton <[email protected]> <[email protected]>
Isaiah Norton <[email protected]> <[email protected]>

Blake Johnson <[email protected]> <[email protected]>
Blake Johnson <[email protected]> <[email protected]>

Marcus Silva <[email protected]> <[email protected]>
Marcus Silva <[email protected]> <[email protected]>
Marcus Silva <[email protected]> <[email protected]>

Amit Murthy <[email protected]> <[email protected]>

Tanmay Mohapatra <[email protected]> <[email protected]>
Tanmay Mohapatra <[email protected]> <[email protected]>
Tanmay Mohapatra <[email protected]> <[email protected]>

Dan Luu <[email protected]> <[email protected]>
Expand All @@ -119,10 +119,10 @@ Dan Luu <[email protected]> <Dan>
Kevin Bache <[email protected]> <[email protected]>
Kevin Bache <[email protected]> <[email protected]>

Rick <[email protected]> <[email protected]>
Rick <[email protected]> <[email protected]>
Rick <[email protected]> <[email protected]>

David Smith <[email protected]> <[email protected]>
David Smith <[email protected]> <[email protected]>
David Smith <[email protected]> <[email protected]>

Carlos Becker <[email protected]> <[email protected]>
Expand All @@ -138,16 +138,16 @@ Joseph Perla <[email protected]> <joseph@ not an email.com>
Jutho <[email protected]>

Tomas Lycken <[email protected]> <[email protected]>

Simon Byrne <[email protected]> <[email protected]>
Simon Byrne <[email protected]> <[email protected]>

Jake Bolewski <[email protected]>
Simon Byrne <[email protected]> <[email protected]>
Simon Byrne <[email protected]> <[email protected]>

Jake Bolewski <[email protected]>

Leah Hanson <[email protected]> <[email protected]>

Lei Wang <[email protected]> <[email protected]>
Lei Wang <[email protected]> <[email protected]>
Lei Wang <[email protected]> <[email protected]>
Lei Wang <[email protected]> <[email protected]>

Kevin Squire <[email protected]> <[email protected]>

Expand Down
6 changes: 5 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,18 @@ before_install:
brew install -v --only-dependencies --HEAD julia;
BUILDOPTS="USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm33-julia)/bin/llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include";
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND; do
for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
done;
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$(brew --prefix openblas-julia)/lib:$(brew --prefix suite-sparse-julia)/lib:$(brew --prefix arpack-julia)/lib";
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
fi
script:
- if git --no-pager grep --color -n --full-name ' $' -- \*.jl \*.scm \*.c \*.cpp \*.h; then
echo "Error trailing whitespace found in source file(s)";
exit 1;
fi
- make $BUILDOPTS prefix=/tmp/julia install
- if [ `uname` = "Darwin" ]; then
for name in spqr umfpack colamd cholmod amd suitesparse_wrapper; do
Expand Down
1 change: 1 addition & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ their own licenses:
- [FADDEEVA](http:https://ab-initio.mit.edu/Faddeeva)
- [FFTW](http:https://fftw.org/doc/License-and-Copyright.html)
- [GMP](http:https://gmplib.org/manual/Copying.html#Copying)
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING)
- [MPFR](http:https://www.mpfr.org/mpfr-current/mpfr.html#Copying)
- [MUSL](http:https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT)
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE)
Expand Down
66 changes: 46 additions & 20 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,15 @@
## your local machine, in a file named `Make.user` in this directory

# OPENBLAS build options
OPENBLAS_TARGET_ARCH=

# If OPENBLAS_TARGET_ARCH is set, we default to disabling OPENBLAS_DYNAMIC_ARCH
ifneq ($(OPENBLAS_TARGET_ARCH),)
OPENBLAS_DYNAMIC_ARCH=0
else
OPENBLAS_DYNAMIC_ARCH=1
endif
OPENBLAS_USE_THREAD=1
OPENBLAS_TARGET_ARCH=

# Use libraries available on the system instead of building them
USE_SYSTEM_LLVM=0
Expand All @@ -29,6 +35,7 @@ USE_SYSTEM_RMATH=0
USE_SYSTEM_LIBUV=0
USE_SYSTEM_UTF8PROC=0
USE_SYSTEM_MOJIBAKE=0
USE_SYSTEM_LIBGIT2=0

# Link to the LLVM shared library
USE_LLVM_SHLIB = 0
Expand Down Expand Up @@ -140,9 +147,16 @@ BUILD_LLDB = 0
#XC_HOST = i686-w64-mingw32
#XC_HOST = x86_64-w64-mingw32

# Path to cmake (override in Make.user if needed)
CMAKE ?= cmake

# Figure out OS and architecture
BUILD_OS := $(shell uname)

ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
XC_HOST ?= $(shell uname -m)-w64-mingw32
endif

ifeq ($(XC_HOST),)
CROSS_COMPILE=
HOSTCC = $(CC)
Expand Down Expand Up @@ -220,16 +234,11 @@ endif
endif

ifeq ($(USEIFC), 1)
FC = ifort
else
FC = $(CROSS_COMPILE)gfortran
endif

ifeq ($(USEIFC), 1)
FC = ifort
FC_BASE = ifort
else
FC = $(CROSS_COMPILE)gfortran
FC_BASE = $(CROSS_COMPILE)gfortran
endif
FC = $(FC_BASE)

STDLIBCPP_FLAG =

Expand Down Expand Up @@ -262,8 +271,10 @@ endif
ifeq ($(SANITIZE),1)
$(error Address Sanitizer only supported with clang. Try setting SANITIZE=0)
endif
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
CC_BASE = $(CROSS_COMPILE)gcc
CXX_BASE = $(CROSS_COMPILE)g++
CC = $(CC_BASE)
CXX = $(CXX_BASE)
JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
JCPPFLAGS =
JCXXFLAGS = -pipe $(fPIC) -fno-rtti
Expand All @@ -272,8 +283,10 @@ SHIPFLAGS = -O3 -ggdb3 -falign-functions
endif

ifeq ($(USECLANG),1)
CC = $(CROSS_COMPILE)clang
CXX = $(CROSS_COMPILE)clang++
CC_BASE = $(CROSS_COMPILE)clang
CXX_BASE = $(CROSS_COMPILE)clang++
CC = $(CC_BASE)
CXX = $(CXX_BASE)
JCFLAGS = -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
JCPPFLAGS =
JCXXFLAGS = -pipe $(fPIC) -fno-rtti
Expand All @@ -299,8 +312,10 @@ endif
ifeq ($(SANITIZE),1)
$(error Address Sanitizer only supported with clang. Try setting SANITIZE=0)
endif
CC = icc
CXX = icpc
CC_BASE = icc
CXX_BASE = icpc
CC = $(CC_BASE)
CXX = $(CXX_BASE)
JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -fp-model precise -fp-model except -no-ftz
JCPPFLAGS =
JCXXFLAGS = -pipe $(fPIC) -fno-rtti
Expand All @@ -309,8 +324,15 @@ SHIPFLAGS = -O3 -g -falign-functions
endif

ifeq ($(USECCACHE), 1)
CC := ccache $(CC)
CXX := ccache $(CXX)
# expand CC and CXX at declaration time because we will redefine them
CC_ARG := $(CC) # Expand CC and CXX here already because we want
CXX_ARG := $(CXX) # the original definition and not the ccache version.
CC_FULL := ccache $(CC) # Expand CC and CXX here already to avoid recursive
CXX_FULL := ccache $(CXX) # referencing.
CC = $(CC_FULL) # Add an extra indirection to make CC/CXX non-simple
CXX = $(CXX_FULL) # vars (because of how -m$(BINARY) is added later on).
CC_BASE = ccache
CXX_BASE = ccache
ifeq ($(USECLANG),1)
# ccache and Clang don't do well together
# http:https://petereisentraut.blogspot.be/2011/05/ccache-and-clang.html
Expand Down Expand Up @@ -389,6 +411,10 @@ ifeq ($(ARCH),)
override ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
ifeq ($(ARCH),mingw32)
$(error "the mingw32 compiler you are using fails the openblas testsuite. please see the README.windows document for a replacement")
else ifeq (cygwin, $(shell $(CC) -dumpmachine | cut -d\- -f3))
$(error "cannot build julia with cygwin-target compilers. set XC_HOST to i686-w64-mingw32 or x86_64-w64-mingw32 for mingw cross-compile")
else ifeq (msys, $(shell $(CC) -dumpmachine | cut -d\- -f3))
$(error "cannot build julia with msys-target compilers. please see the README.windows document for instructions on setting up mingw-w64 compilers")
endif
ifeq ($(BUILD_OS),Darwin)
## Mac is a rather amazing 64-bit user-space on 32-bit kernel architecture, so to determine arch we detect
Expand Down Expand Up @@ -434,9 +460,9 @@ endif
# Set some ARCH-specific flags
ifneq ($(USEICC),1)
ifneq ($(ARCH), arm)
JCFLAGS += -m$(BINARY)
JCXXFLAGS += -m$(BINARY)
JFFLAGS += -m$(BINARY)
CC += -m$(BINARY)
CXX += -m$(BINARY)
FC += -m$(BINARY)
endif
endif

Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,9 @@ endif
ifeq ($(USE_SYSTEM_MPFR),0)
JL_PRIVATE_LIBS += mpfr
endif
ifeq ($(USE_SYSTEM_LIBGIT2),0)
JL_PRIVATE_LIBS += git2
endif
ifeq ($(USE_SYSTEM_ARPACK),0)
JL_PRIVATE_LIBS += arpack
endif
Expand Down
49 changes: 47 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,29 @@ Julia v0.4.0 Release Notes
New language features
---------------------

* Function-call overloading: for arbitrary objects `x` (not of type
`Function`), `x(...)` is transformed into `call(x, ...)`, and `Base.call`
can be overloaded as desired. Constructors are now a special case of
this mechanism, which allows e.g. constructors for abstract types
and typealiases. `T(...)` falls back to `convert(T, x)`, so all
`convert` methods implicitly define a constructor ([#8712], [#2403]).

* Unicode version 7 is now supported for identifiers etcetera ([#7917]).

* Type parameters now permit any arbitrary `isbits` type, not just
`Int` and `Bool` ([#6081]).

* Keyword argument names can be computed, using syntax such as `f(; (name, val))` ([#7704]).
* Keyword argument names can be computed, using syntax such as `f(; symbol => val)` ([#7704]).

* (TODO pending final syntax) staged functions ([#7311]).

Language changes
----------------

* `Uint` et al. are now spelled `UInt` ([#8905]).

* `String` has been renamed to `AbstractString` ([#8872]).

* `None` is deprecated; use `Union()` instead ([#8423]).

* `Nothing` (the type of `nothing`) is renamed to `Void` ([#8423]).
Expand All @@ -29,6 +40,13 @@ Language changes
dicts are synchronized. As part of this change, `=>` is parsed as a normal
operator, and `Base` defines it to construct `Pair` objects ([#6739]).

* `Char` is no longer a subtype of `Integer`. ([#8816])
Char now supports a more limited set of operations with `Integer` types:

* comparison / equality
* `Char` + `Int` = `Char`
* `Char` - `Char` = `Int`

Compiler improvements
---------------------

Expand All @@ -53,6 +71,8 @@ Library improvements

* Symmetric and Hermitian immutables are now parametrized on matrix type ([#7992]).

* New `sortperm!` function for pre-allocated index arrays ([#8792]).

* Switch from `O(N)` to `O(logN)` algorithm for `dequeue!(pq, key)`
with `PriorityQueue`. This provides major speedups for large
queues ([#8011]).
Expand All @@ -79,11 +99,23 @@ Library improvements

* Givens type doesn't have a size anymore and is no longer a subtype of AbstractMatrix ([#8660])

* OpenBLAS 64-bit (ILP64) interface is now compiled with a `64_` suffix ([#8734]) to avoid conflicts with external libraries using a 32-bit BLAS ([#4923]).

* The `machinefile` now supports an host count ([#7616]).

* Added optional rounding argument to floating-point constructors ([#8845])

Deprecated or removed
---------------------

* `median` and `median!` no longer accept a `checknan` keyword argument ([#8605]).

* `inf` and `nan` are now deprecated in favor of `T(Inf)` and `NaN`, respectively ([#8776]).

* `oftype(T::Type, x)` is deprecated in favor of `convert(T,x)` (or `T(x)`).

* `{...}` syntax is deprecated in favor of `Any[...]` ([#8578]).

Julia v0.3.0 Release Notes
==========================

Expand Down Expand Up @@ -822,6 +854,7 @@ Too numerous to mention.
[#2370]: https://github.com/JuliaLang/julia/issues/2370
[#2375]: https://github.com/JuliaLang/julia/issues/2375
[#2380]: https://github.com/JuliaLang/julia/issues/2380
[#2403]: https://github.com/JuliaLang/julia/issues/2403
[#2468]: https://github.com/JuliaLang/julia/issues/2468
[#2515]: https://github.com/JuliaLang/julia/issues/2515
[#2516]: https://github.com/JuliaLang/julia/issues/2516
Expand Down Expand Up @@ -906,6 +939,7 @@ Too numerous to mention.
[#4874]: https://github.com/JuliaLang/julia/issues/4874
[#4882]: https://github.com/JuliaLang/julia/issues/4882
[#4888]: https://github.com/JuliaLang/julia/issues/4888
[#4923]: https://github.com/JuliaLang/julia/issues/4923
[#4930]: https://github.com/JuliaLang/julia/issues/4930
[#4934]: https://github.com/JuliaLang/julia/issues/4934
[#4943]: https://github.com/JuliaLang/julia/issues/4943
Expand Down Expand Up @@ -1008,6 +1042,7 @@ Too numerous to mention.
[#7435]: https://github.com/JuliaLang/julia/issues/7435
[#7464]: https://github.com/JuliaLang/julia/issues/7464
[#7513]: https://github.com/JuliaLang/julia/issues/7513
[#7616]: https://github.com/JuliaLang/julia/issues/7616
[#7647]: https://github.com/JuliaLang/julia/issues/7647
[#7654]: https://github.com/JuliaLang/julia/issues/7654
[#7704]: https://github.com/JuliaLang/julia/issues/7704
Expand All @@ -1016,7 +1051,17 @@ Too numerous to mention.
[#8011]: https://github.com/JuliaLang/julia/issues/8011
[#8089]: https://github.com/JuliaLang/julia/issues/8089
[#8152]: https://github.com/JuliaLang/julia/issues/8152
[#8297]: https://github.com/JuliaLang/julia/issues/8297
[#8423]: https://github.com/JuliaLang/julia/issues/8423
[#8560]: https://github.com/JuliaLang/julia/issues/8560
[#8578]: https://github.com/JuliaLang/julia/issues/8578
[#8605]: https://github.com/JuliaLang/julia/issues/8605
[#8297]: https://github.com/JuliaLang/julia/pull/8297
[#8624]: https://github.com/JuliaLang/julia/issues/8624
[#8660]: https://github.com/JuliaLang/julia/issues/8660
[#8712]: https://github.com/JuliaLang/julia/issues/8712
[#8734]: https://github.com/JuliaLang/julia/issues/8734
[#8776]: https://github.com/JuliaLang/julia/issues/8776
[#8792]: https://github.com/JuliaLang/julia/issues/8792
[#8816]: https://github.com/JuliaLang/julia/issues/8816
[#8845]: https://github.com/JuliaLang/julia/issues/8845
[#8872]: https://github.com/JuliaLang/julia/issues/8872
Loading

0 comments on commit 2013b09

Please sign in to comment.