Commit graph

254288 commits

Author SHA1 Message Date
fhajny
2233a9441b Update lang/nodejs to 6.5.0.
- buffer: Fix regression introduced in v6.4.0 that prevented
  .write() at buffer end
- deps: update V8 to 5.1.281.75
- inspector:
  - fix inspector hang while disconnecting
  - add support for uncaught exception
- repl: Fix saving editor mode text in .save
- Revert "repl,util: insert carriage returns in output"
2016-09-13 10:10:42 +00:00
he
ea6825a634 Note update of net/py-junos-eznc to 2.0.0. 2016-09-13 10:04:09 +00:00
he
45b737ec4c Update to version 2.0.0.
Notable changes:
ref. https://github.com/Juniper/py-junos-eznc/releases

 * Now PyEZ will support Console (Telnet/Serial) connection apart from SSH
 * Python >=3.4 support
 * Configuration Tables to Define and Configure Structured Resources
 * JSON Config load
   For devices >=16.1, user can also load JSON config apart from xml/set/text
 * FTP Utility
   Option to use FTP utility to transfer files in addition to existing SCP.
 * Multi RPC error
   If the config being loaded got more then 1 error/warning, PyEZ will
   give all error details to the user
 * Bug fixes
   * dev.cli "invalid command" returned even in case of proper
     command. #498 #492
   * StartShell utility to work on Occam and root users.
   * StartShell run function to return Tuple of last_ok & command output
   * Many other bug fixes.
2016-09-13 10:03:32 +00:00
fhajny
c9a92f5ed4 Updated parallel/parallel to 20160822 2016-09-13 09:41:50 +00:00
fhajny
f0f6c78401 Update parallel/parallel to 20160822
Upstream changes:

20160822

- Bug fixes and man page updates.


20160722

- env_parallel is now ready for wider testing. It is still beta
  quality.

- env_parallel is heavily modified for all shells and testing has been
  increased.

- Selectively choosing what to export using --env now works for
  env_parallel (bash, csh, fish, ksh, pdksh, tcsh, zsh).

- --round-robin now gives more work to a job that processes faster
  instead of same amount to all jobs.

- --pipepart works on block devices on GNU/Linux.

- Bug fixes and man page updates.


20160622

- $PATH can now be exported using --env PATH. Useful if GNU Parallel
  is not in your path on remote machines.

- If --block is left out, --pipepart will use a block size that will
  result in 10 jobs per jobslot.

- Bug fixes and man page updates.


20160522

- niceload --net pauses the program if the internet connection is
  overloaded.

- Bug fixes and man page updates.


20160422

- :::+ and ::::+ work like ::: and :::: but links this input source to
  the previous input source in a --xapply fashion. Contrary to
  --xapply values do not wrap: The shortest input source determines
  the length.

- --line-buffer --keep-order now outputs continously from the oldest
  job still running. This is more what you would expect than the
  earlier behaviour where --keep-order had no effect with
  --line-buffer.

- env_parallel supports tcsh, csh, pdksh. In fish it now supports
  arrays. In csh/tcsh it now supports variables, aliases, and arrays
  with no special chars. In pdksh it supports aliases, functions,
  variables, and arrays.

- Function exporting on Mac OS X works around old Bash version.

- Better CPU detection on OpenIndiana.

- Bug fixes and man page updates.


20160322

- env_parallel is a function that exports the environment (functions,
  aliases, variables, and arrays) to GNU Parallel. Run 'man
  env_parallel' for details.

- niceload --prg now searches for substrings if no process with the
  name is found.

- Bug fixes and man page updates.


20160222

- Bug fixes and man page updates.


20160122

- --sql DBURL uses DBURL as storage for jobs and output. It does not
  run any jobs so it requires at least one --sqlworker. DBURL must
  point to a table.

- --sqlworker DBURL gets jobs from DBURL and stores the result back to
  DBURL.

- --sqlandworker is a shorthand for --sql and --sqlworker.

- --sqlworker requires the output of a single job to fit in memory.

- --results now also saves a file called 'seq' containing the sequence
  number.

- If $PARALLEL_ENV is a file, then that file will be read into
  $PARALLEL_ENV.

- man parallel_tutorial has been given an overhaul.

- --workdir now accepts replacementstrings.

- Bug fixes and man page updates.


20151222

- --transfer is now an alias for --transferfile {}.

- --transferfile works like --transfer, but takes an argument like
  --return. This makes it possible to combine transferring files
  with multiple input sources: parallel -S server --tf {1} wc {2}
  {1} ::: * ::: -l -w -c

- total_jobs() can now be used in {= =}: parallel echo job {#} of '{=
  $_=total_jobs() =}' ::: {1..50}

- Bug fixes and man page updates.


20151122

- Bug fixes and man page updates.


20151022

- --plus makes it possible to use {##} as a shorthand for
  {= $_=$Global::JobQueue->total_jobs() =} which gives the the number
  of jobs to run in total.

- {= $_=$Global::JobQueue->total_jobs() =} is incompatible with -X,
  -m, and --xargs.

- GNU Parallel is now mostly compatible with lsh
  (http://www.lysator.liu.se/~nisse/lsh/) and somewhat compatible with
  autossh (http://www.harding.motd.ca/autossh/).

- --workdir ... now also works when run locally.

- Bug fixes and man page updates.


20150922

- Bug fixes and man page updates.


20150822

- If $job->skip() is called in {= =} the job will not be run.

- @arg can now be used in {= =}: parallel echo '{= $arg[2] < 5 and
  $_="j" =}' ::: 1 2 3 ::: 4 5 6

- Bug fixes and man page updates.


20150722

- If a record fits in a block, --block only reads upto the size of
  --block. If not: --block reads a full --block more.

- Due to widely spread distributions still using --tollef even after a
  year of being retired following a year of being obsolete, --tollef
  now gives an error unless used with --gnu.

- --nice now uses a perl wrapper instead of the nice command.

- Bug fixes and man page updates.


20150622

- --halt has been rewritten completely. You can now combine
  percentages with success or fail. See the man page.

- Exit values 102..254 have been removed. 101 means more than 100 jobs
  failed.

- Killing through --timeout, --memfree, or --halt is now done as a
  process group.

- --termseq determines which signals are sent when a job is killed.

- An empty argument would previously cause no string to be
  inserted. This is now changed to '' being inserted, thus prepending
  a space to the output of: parallel echo {} b ::: ''

- $PARALLEL_ENV can now be set to an environment prepending the
  command. Used in env_parallel as mentioned in the manpage.

- --retry-failed will retry all failed jobs in a joblog. It will
  ignore any command given.

- --ssh and $PARALLEL_SSH can be used to set the command used for
  ssh. The command is assumed to behave the same way as ssh.

- --fifo now works in csh, too.

- Q(...) can be used in {= =} to shell quote a string.

- Bug fixes and man page updates.


20150522

- Security: The security issue for --sshlogin + --fifo/--cat has been
  fixed. Thereby all issues with
  http://lists.gnu.org/archive/html/parallel/2015-04/msg00045.html
  have been fixed.

- Security: After further security analysis the issue fixed in
  20150422 also fixed the problem for --tmux.

- Bug fixes and man page updates.


20150422

New in this release:

- Security fix. An attacker on the local system could make you
  overwrite one of your own files with a single byte. The problem
  exist when you use --compress or --tmux or --pipe or --cat or
  --fifo. The attacker must figure out the randomly chosen file name
  and create a symlink within a time window of 15 ms.

- --shuf will generate all jobs, and shuffle them before running
  them. This is useful to get a quick preview of the results before
  running the full batch.

- Bug fixes and man page updates.


20150322

New in this release:

- --number-of-cores respects 'taskset' on GNU/Linux.

- --joblog --pipe gives the data send and received in the log.

- Bug fixes and man page updates.


20150222

- --tmux has gotten a major overhaul.

- Bug fixes and man page updates.


20150122

- Remote jobs now send stderr (standard error) to stderr (standard
  error) instead of stdout (standard output).

- Remote execution command is now packed using base64 encoded
  bzip2. This means that big environments (app. 100 KB) can be
  transferred. This change makes remote execution alpha quality.

- --semaphoretimeout now takes a negative value. This means give up if
  the semaphore is not gotten within the timeout.

- --halt -1 and -2 now means halt if a job succeeds (so the opposite
  of 1 and 2).

- --no-keep-order will reverse --keep-order.

- Bash's second fix of shellshock caused --env to break again when
  exporting functions. This has been fixed again.

- A semibig refactoring of big functions. All non-trivial functions
  are now less than 100 lines. The refactoring makes this release beta
  quality.

- A description of the design decisions for GNU Parallel can be found
  in 'man parallel_design'.

- A bug fix in replacement strings caused rewrite of the replacement
  function. This makes use of replacement strings alpha quality.

- Bug fixes and man page updates.


20141122

- Remote systems can be divided into hostgroups (e.g. web and db) by
  prepending '@groupname/' to the sshlogin. Multiple groups can be
  given by separating groups with '+'. E.g. @web/www1 @web+db/www2
  @db/mariadb

- Remote execution can be restricted to servers that are part of one
  or more groups by '@groupname' as an sshlogin. Multiple groups can
  be given by separating groups with '+'. E.g. -S @web or -S @db+web

- With --hostgroup you can restrict arguments to certain hostgroups by
  appending '@groupname' to the argument.  Multiple groups can be
  given by separating groups with '+'. E.g. my_web_arg@web
  db-or-web-arg@db+web db-only-arg@db Thanks to Michel Courtine for
  developing a prototype for this.

- Bug fixes and man page updates.


20141022

- --env was changed to deal with Bash's new way of exporting a function.

- Bug fixes and man page updates.


20140922

- If the file give as --sshloginfile is changed it will be re-read
  when a job finishes though at most once per second. This makes it
  possible to add and remove hosts while running.


20140822

- GNU Parallel now uses the same shell it was started from as the
  command shell for local jobs. So if GNU Parallel is started from
  tcsh it will use tcsh as its shell even if the login $SHELL is
  different. For remote jobs the login $SHELL will be used.

- The whole current environment in bash can be copied by using a shell
  wrapper function (Search manual for env_parallel).

- --plus adds the replacement strings {+/} {+.} {+..} {+...} {..}
  {...} {/..} {/...}. The idea being that '+foo' matches the opposite
  of 'foo' and {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..}
  = {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}

- GNU Parallel now deals correctly with the combination
  rsync-3.1.X-client and rsync-2.5.7-server

- Bug fixes and man page updates.


20140722

- {= perl expression =} can be used as replacement string. The
  expression should modify $_. E.g. {= s/\.gz$// =} to remove .gz from
  the string. This makes replacement strings extremely flexible.

- Positional perl expressions (similar to {2}) are given as {=2 perl
  expression=} where 2 is the position.

- One small backwards incompatibility: {1}_{2} will replace {2} with
  the empty string if there is only one argument. Previously {2} would
  have been left untouched.

- Replacement strings can be defined using --rpl. E.g. parallel --rpl
  '{.gz} s/\.gz$//' echo {.gz} ::: *.gz

- The parenthesis around {= perl expression =} can be changed with
  --parens.

- --tmux will direct the output to a tmux session instead of
  files. Each running jobs will be in its own window.

- --halt 10% will stop spawning new jobs if 10% failed so far.

- Bug fixes and man page updates.


20140622

- --shebang and --shebang-wrap now works on FreeBSD.

- --pipepart works with --header, --regexp, --cat and --fifo.

- ./configure --disable-documentation will not build documentation.

- {%} works as job slot.

- Bug fixes and man page updates.


20140522

- Use --semaphoretimeout to ignore the semaphore lock after a while.

- {%} introduced as job slot replacement string. It has known bugs.

- --slotreplace changes slot replacement string.

- Bug fixes and man page updates.


20140422

- --pipepart is a highly efficient alternative to --pipe if the input
  is a real file and not a pipe.

- If using --cat or --fifo with --pipe the {} in the command will be
  replaced with the name of a physical file and a fifo respectively
  containing the block from --pipe. Useful for commands that cannot
  read from standard input (stdin).

- --controlmaster has gotten an overhaul and is no longer
  experimental.

- --env is now copied when determining CPUs on remote system. Useful
  for copying $PATH if parallel is not in the normal path.

- --results now chops the argument if the argument is longer than the
  allowed path length.

- Build now survives if pod2* are not installed.

- Bug fixes and man page updates.


20140322

- Bug fixes and man page updates.


20140222

- --tollef has been retired.

- --compress has be redesigned due to bugs.

- Format of --eta and --joblog has changed slightly.

- Bug fixes and man page updates.


20140122

- Bug fixes and man page updates.


20131222

- GNU Parallel now has a motto: For people who live life in the
  parallel lane.

- Detect if the buffer dir $TMPDIR runs out of space. This changes a
  central piece of code, making this release alpha quality.

- --keep-order --(n)onall will sort according to the sshlogin.

- Detect the number of CPUs on DEC Tru64.

- GNU sql: --list-tables for sqlite3.

- Bug fixes and man page updates.


20131122

- A citation notice is printed on stderr only if stderr is a terminal,
  the user has not specified --no-notice and the user has not run
  --bibtex once. This makes the release alpha quality.

- --compress will compress temporary files. If the output is big and
  very compressible this will take up less disk space in $TMPDIR and
  possibly be faster due to less disk I/O.

- --compress-program comtrols which program to use for compressing
  temporary files.

- --bar show progress as a progress bar compatible with zenity.

- --resume can now be used with --result: Jobs already run will be
  skipped.

- --transfer and --basefile support paths relative to the --workdir by
  inserting /./ into the path.

- Bug fixes and man page updates.


20131022

- --transfer files with /./ in the path will copy the files relative
  to the --workdir.

- The maximal command length is now cached in a file halfing the
  startup time.

- Bug fixes and man page updates.


20130922

- PDF-files of documentation is now included.

- Bug fixes and man page updates.


20130822

- A tutorial showing much of GNU Parallel's functionality. Spend an
  hour walking through the tutorial. Your commandline will love you
  for it. man parallel_tutorial

- --line-buffer will buffer output on line basis. --group keeps the
  output together for a whole job. --ungroup allows output to mixup
  with half a line coming from one job and half a line coming from
  another job. --line-buffer fits between these two; it prints a full
  line, but will allow for mixing lines of different jobs.

- --record-env records all variables and functions set. Useful to
  record the normal environment before using --env _.

- --env _ exports all functions and variables to the remote server
  except for the ones recorded.

- New signing key. Due to recommendations from NIST
  http://www.keylength.com/en/4/ the signing key was changed from
  1024D/ID:FFFFFFF1 to 9888R/ID:88888888.

- Bug fixes and man page updates.


20130722

- --round-robin with --pipe will write all blocks to already running
  jobs.

- --env can now transfer Bash function for remote execution. That is
  pretty cool!

- Quite a few bug fixes and man page updates.


20130622

- --xapply now recycles arguments if an input source has more
  arguments than others.

- The sleep time between jobs is now both increased and decreased
  exponentially.

- 10 seconds installation check the signature using GnuPG if GnuPG is
  installed.

- Bug fixes and man page updates.


20130522

- --ctrlc is now default if --pipe is not used; thus making it
  possible to kill remotely started jobs simply by pressing Ctrl-C.

- --timeout 200% now means kill jobs that take more than twice the
  time of the median run time of a job.

- Jobs are now distributed round robin when having mulitiple
  --sshlogin instead of filling up one --sshlogin at a time.

- niceload: darwin version of --io --mem --swap. Thanks to Anders F
  Bjorklund.

- Bug fixes and man page updates.


20130422

- 10 seconds installation: wget -O - pi.dk/3 | sh

- HPUX CPU/core detection. Thanks to Javier Tarradas.

- CPU detection for HURD, IRIX, SCO OpenServer and (old) HPUX.

- --ctrlc will send SIGINT to tasks running on remote computers and
  thus killing them.

- --load now uses 'ps' to see immediately see the number of running
  processes instead of 'uptime' thus making --load react much faster.

- Testing on Centos 3.9 and FreeBSD 7 revealed a lot of compability
  bugs. Some of these required quite extensive changes making this
  release beta quality.

-  --retries works with --onall.

- The new --load computation now works on FreeBSD 7.

- --nice works under tcsh.

- Bug fixes and man page updates.


20130222

- --resume works with --pipe.

- --resume-failed will go through --joblog, redo the failed jobs and
  then continue like --resume.

- Negative positional arguments count from the end: {-1} means the
  last argument, {-2} the second to last.

- NetBSD CPU detection.

- --blocksize increases exponentially if it smaller than a full
  record.

- Processing n-line records (--pipe -L n) is now much faster.

- --tollef is obsoleted after discussion on the mailing list.

- Bug fixes and man page updates.
2016-09-13 09:41:29 +00:00
maya
7068769a8f Add logic so GCC_REQD+=6.x works
ok jperkin@
2016-09-13 07:59:15 +00:00
kamil
a2cba57c9f Added devel/polly version 3.8.1 2016-09-12 22:52:58 +00:00
kamil
74484e2d83 + devel/polly 2016-09-12 22:50:42 +00:00
kamil
cd8ce0b28a Import LLVM Polly 3.8.1 as devel/polly
Polly is a high-level loop and data-locality optimizer and optimization
infrastructure for LLVM. It uses an abstract mathematical representation based
on integer polyhedra to analyze and optimize the memory access pattern of a
program. We currently perform classical loop transformations, especially tiling
and loop fusion to improve data-locality. Polly can also exploit OpenMP level
parallelism, expose SIMDization opportunities. Work has also be done in the
area of automatic GPU code generation.

For many users, however, it's not the existing optimizations in Polly that are
of most interest, but the new analyses and optimizations enabled by the Polly
infrastructure. At polyhedral.info you can get an idea of what has already been
done and what is possible in the context of polyhedral compilation.
2016-09-12 22:49:23 +00:00
maya
3008cc0e3a TODO: - gcc-6.2 2016-09-12 22:17:58 +00:00
maya
d23ee6debd Updated lang/gcc6-libs to 6.2.0nb1 2016-09-12 22:14:36 +00:00
maya
c44110b427 Updated lang/gcc6 to 6.2.0 2016-09-12 22:14:14 +00:00
maya
88330633f3 add packages gcc6, gcc6-libs (GCC 6.2.0), based on wip/gcc6snapshot
XXX add logic to mk/compiler/gcc.mk

Changes from GCC5 series:

Caveats

    The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.

    Support for a number of older systems and recently unmaintained or untested target ports of GCC has been declared obsolete in GCC 6. Unless there is activity to revive them, the next release of GCC will have their sources permanently removed.

    The following ports for individual systems on particular architectures have been obsoleted:
        SH5 / SH64 (sh64-*-*) as announced here.
    The AVR port requires binutils version 2.26.1 or later for the fix for PR71151 to work.

General Optimizer Improvements

    UndefinedBehaviorSanitizer gained a new sanitization option, -fsanitize=bounds-strict, which enables strict checking of array bounds. In particular, it enables -fsanitize=bounds as well as instrumentation of flexible array member-like arrays.
    Type-based alias analysis now disambiguates accesses to different pointers. This improves precision of the alias oracle by about 20-30% on higher-level C++ programs. Programs doing invalid type punning of pointer types may now need -fno-strict-aliasing to work correctly.
    Alias analysis now correctly supports weakref and alias attributes. This makes it possible to access both a variable and its alias in one translation unit which is common with link-time optimization.
    Value range propagation now assumes that the this pointer of C++ member functions is non-null. This eliminates common null pointer checks but also breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop). As a temporary work-around -fno-delete-null-pointer-checks can be used. Wrong code can be identified by using -fsanitize=undefined.
    Link-time optimization improvements:
        warning and error attributes are now correctly preserved by declaration linking and thus -D_FORTIFY_SOURCE=2 is now supported with -flto.

        Type merging was fixed to handle C and Fortran interoperability rules as defined by the Fortran 2008 language standard.

        As an exception, CHARACTER(KIND=C_CHAR) is not inter-operable with char in all cases because it is an array while char is scalar. INTEGER(KIND=C_SIGNED_CHAR) should be used instead. In general, this inter-operability cannot be implemented, for example, on targets where function passing conventions of arrays differs from scalars.
        More type information is now preserved at link time reducing the loss of accuracy of the type based alias analysis compared to builds without link-time optimization.
        Invalid type punning on global variables and declarations is now reported with -Wodr-type-mismatch.
        The size of LTO object files was reduced by about 11% (measured by compiling Firefox 46.0).
        Link-time parallelization (enabled using -flto=n) was significantly improved by decreasing the size of streamed data when partitioning programs. The size of streamed IL while compiling Firefox 46.0 was reduced by 66%.

        The linker plugin was extended to pass information about type of binary produced to GCC back end (that can be also manually controlled by -flinker-output). This makes it possible to properly configure the code generator and support incremental linking. Incremental linking of LTO objects by gcc -r is now supported on plugin-enabled setups.

        There are two ways to perform incremental linking:
            Linking by ld -r will result in an object file with all sections from individual object files mechanically merged. This delays the actual link time optimization to final linking step and thus permits whole program optimization. Linking final binary with such object files is however slower.
            Linking by gcc -r will lead to link time optimization and produce final binary into the object file. Linking such object file is fast but avoids any benefits from whole program optimization.
        GCC 7 will support incremental link-time optimization with gcc -r.
    Inter-procedural optimization improvements:
        Basic jump threading is now performed before profile construction and inline analysis, resulting in more realistic size and time estimates that drive the heuristics of the of inliner and function cloning passes.
        Function cloning now more aggressively eliminates unused function parameters.

New Languages and Language specific improvements
Compared to GCC 5, the GCC 6 release series includes a much improved implementation of the OpenACC 2.0a specification. Highlights are:

    In addition to single-threaded host-fallback execution, offloading is supported for nvptx (Nvidia GPUs) on x86_64 and PowerPC 64-bit little-endian GNU/Linux host systems. For nvptx offloading, with the OpenACC parallel construct, the execution model allows for an arbitrary number of gangs, up to 32 workers, and 32 vectors.
    Initial support for parallelized execution of OpenACC kernels constructs:
        Parallelization of a kernels region is switched on by -fopenacc combined with -O2 or higher.
        Code is offloaded onto multiple gangs, but executes with just one worker, and a vector length of 1.
        Directives inside a kernels region are not supported.
        Loops with reductions can be parallelized.
        Only kernels regions with one loop nest are parallelized.
        Only the outer-most loop of a loop nest can be parallelized.
        Loop nests containing sibling loops are not parallelized.
    Typically, using the OpenACC parallel construct gives much better performance, compared to the initial support of the OpenACC kernels construct.
    The device_type clause is not supported. The bind and nohost clauses are not supported. The host_data directive is not supported in Fortran.
    Nested parallelism (cf. CUDA dynamic parallelism) is not supported.
    Usage of OpenACC constructs inside multithreaded contexts (such as created by OpenMP, or pthread programming) is not supported.
    If a call to the acc_on_device function has a compile-time constant argument, the function call evaluates to a compile-time constant value only for C and C++ but not for Fortran.

See the OpenACC and Offloading wiki pages for further information.
C family

    Version 4.5 of the OpenMP specification is now supported in the C and C++ compilers.
    The C and C++ compilers now support attributes on enumerators. For instance, it is now possible to mark enumerators as deprecated:

        enum {
          newval,
          oldval __attribute__ ((deprecated ("too old")))
        };

    Source locations for the C and C++ compilers are now tracked as ranges, rather than just points, making it easier to identify the subexpression of interest within a complicated expression. For example:

        test.cc: In function 'int test(int, int, foo, int, int)':
        test.cc:5:16: error: no match for 'operator*' (operand types are 'int' and 'foo')
           return p + q * r * s + t;
                      ~~^~~

    In addition, there is now initial support for precise diagnostic locations within strings:

        format-strings.c:3:14: warning: field width specifier '*' expects a matching 'int' argument [-Wformat=]
           printf("%*d");
                    ^

    Diagnostics can now contain "fix-it hints", which are displayed in context underneath the relevant source code. For example:

        fixits.c: In function 'bad_deref':
        fixits.c:11:13: error: 'ptr' is a pointer; did you mean to use '->'?
           return ptr.x;
                     ^
                     ->

    The C and C++ compilers now offer suggestions for misspelled field names:

        spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
           return ptr->colour;
                       ^~~~~~

    New command-line options have been added for the C and C++ compilers:
        -Wshift-negative-value warns about left shifting a negative value.
        -Wshift-overflow warns about left shift overflows. This warning is enabled by default. -Wshift-overflow=2 also warns about left-shifting 1 into the sign bit.
        -Wtautological-compare warns if a self-comparison always evaluates to true or false. This warning is enabled by -Wall.
        -Wnull-dereference warns if the compiler detects paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. This option is only active when -fdelete-null-pointer-checks is active, which is enabled by optimizations in most targets. The precision of the warnings depends on the optimization options used.
        -Wduplicated-cond warns about duplicated conditions in an if-else-if chain.
        -Wmisleading-indentation warns about places where the indentation of the code gives a misleading idea of the block structure of the code to a human reader. For example, given CVE-2014-1266:

            sslKeyExchange.c: In function 'SSLVerifySignedServerKeyExchange':
            sslKeyExchange.c:629:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
                if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
                ^~
            sslKeyExchange.c:631:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
                    goto fail;
                    ^~~~

        This warning is enabled by -Wall.
    The C and C++ compilers now emit saner error messages if merge-conflict markers are present in a source file.

        test.c:3:1: error: version control conflict marker in file
         <<<<<<< HEAD
         ^~~~~~~

C

    It is possible to disable warnings when an initialized field of a structure or a union with side effects is being overridden when using designated initializers via a new warning option -Woverride-init-side-effects.
    A new type attribute scalar_storage_order applying to structures and unions has been introduced. It specifies the storage order (aka endianness) in memory of scalar fields in structures or unions.

C++

    The default mode has been changed to -std=gnu++14.
    C++ Concepts are now supported when compiling with -fconcepts.
    -flifetime-dse is more aggressive in dead-store elimination in situations where a memory store to a location precedes a constructor to that memory location.
    G++ now supports C++17 fold expressions, u8 character literals, extended static_assert, and nested namespace definitions.
    G++ now allows constant evaluation for all non-type template arguments.
    G++ now supports C++ Transactional Memory when compiling with -fgnu-tm.

Runtime Library (libstdc++)

    Extensions to the C++ Library to support mathematical special functions (ISO/IEC 29124:2010), thanks to Edward Smith-Rowland.
    Experimental support for C++17, including the following new features:
        std::uncaught_exceptions function (this is also available for -std=gnu++NN modes);
        new member functions try_emplace and insert_or_assign for unique_key maps;
        non-member functions std::size, std::empty, and std::data for accessing containers and arrays;
        std::invoke;
        std::shared_mutex;
        std::void_t and std::bool_constant metaprogramming utilities.
    Thanks to Ville Voutilainen for contributing many of the C++17 features.
    An experimental implementation of the File System TS.
    Experimental support for most features of the second version of the Library Fundamentals TS. This includes polymorphic memory resources and array support in shared_ptr, thanks to Fan You.
    Some assertions checked by Debug Mode can now also be enabled by _GLIBCXX_ASSERTIONS. The subset of checks enabled by the new macro have less run-time overhead than the full _GLIBCXX_DEBUG checks and don't affect the library ABI, so can be enabled per-translation unit.
    Timed mutex types are supported on more targets, including Darwin.
    Improved std::locale support for DragonFly and FreeBSD, thanks to John Marino and Andreas Tobler.

Fortran

    Fortran 2008 SUBMODULE support.
    Fortran 2015 EVENT_TYPE, EVENT_POST, EVENT_WAIT, and EVENT_QUERY support.
    Improved support for Fortran 2003 deferred-length character variables.
    Improved support for OpenMP and OpenACC.
    The MATMUL intrinsic is now inlined for straightforward cases if front-end optimization is active. The maximum size for inlining can be set to n with the -finline-matmul-limit=n option and turned off with -finline-matmul-limit=0.
    The -Wconversion-extra option will warn about REAL constants which have excess precision for their kind.
    The -Winteger-division option has been added, which warns about divisions of integer constants which are truncated. This option is included in -Wall by default.

libgccjit

    The driver code is now run in-process within libgccjit, providing a small speed-up of the compilation process.
    The API has gained entrypoints for
        timing how long was spent in different parts of code,
        creating switch statements,
        allowing unreachable basic blocks in a function, and
        adding arbitrary command-line options to a compilation.

New Targets and Target Specific Improvements
AArch64

    A number of AArch64-specific options have been added. The most important ones are summarised in this section but for usage instructions please refer to the documentation.
    The new command-line options -march=native, -mcpu=native and -mtune=native are now available on native AArch64 GNU/Linux systems. Specifying these options causes GCC to auto-detect the host CPU and choose the optimal setting for that system.
    -fpic is now supported when generating code for the small code model (-mcmodel=small). The size of the global offset table (GOT) is limited to 28KiB under the LP64 SysV ABI, and 15KiB under the ILP32 SysV ABI.
    The AArch64 port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    Link-time optimization across translation units with different target-specific options is now supported.
    The option -mtls-size= is now supported. It can be used to specify the bit size of TLS offsets, allowing GCC to generate better TLS instruction sequences.
    The option -fno-plt is now fully functional.
    The ARMv8.1-A architecture and the Large System Extensions are now supported. They can be used by specifying the -march=armv8.1-a option. Additionally, the +lse option extension can be used in a similar fashion to other option extensions. The Large System Extensions introduce new instructions that are used in the implementation of atomic operations.
    The ACLE half-precision floating-point type __fp16 is now supported in the C and C++ languages.
    The ARM Cortex-A35 processor is now supported via the -mcpu=cortex-a35 and -mtune=cortex-a35 options as well as the equivalent target attributes and pragmas.
    The Qualcomm QDF24xx processor is now supported via the -mcpu=qdf24xx and -mtune=qdf24xx options as well as the equivalent target attributes and pragmas.
    Code generation for the ARM Cortex-A57 processor is improved. Among general code generation improvements, a better algorithm is added for allocating registers to floating-point multiply-accumulate instructions offering increased performance when compiling with -mcpu=cortex-a57 or -mtune=cortex-a57.
    Code generation for the ARM Cortex-A53 processor is improved. A more accurate instruction scheduling model for the processor is now used, and a number of compiler tuning parameters have been set to offer increased performance when compiling with -mcpu=cortex-a53 or -mtune=cortex-a53.
    Code generation for the Samsung Exynos M1 processor is improved. A more accurate instruction scheduling model for the processor is now used, and a number of compiler tuning parameters have been set to offer increased performance when compiling with -mcpu=exynos-m1 or -mtune=exynos-m1.
    Improvements in the generation of conditional branches and literal pools were made to allow the compiler to compile functions of a large size. Constant pools are now placed into separate rodata sections. The new option -mpc-relative-literal-loads is introduced to generate per-function literal pools, limiting the maximum size of functions to 1MiB.
    Several correctness issues with generation of Advanced SIMD instructions for big-endian targets have been fixed resulting in improved code generation for ACLE intrinsics with -mbig-endian.

ARM

    Support for revisions of the ARM architecture prior to ARMv4t has been deprecated and will be removed in a future GCC release. The -mcpu and -mtune values that are deprecated are: arm2, arm250, arm3, arm6, arm60, arm600, arm610, arm620, arm7, arm7d, arm7di, arm70, arm700, arm700i, arm710, arm720, arm710c, arm7100, arm7500, arm7500fe, arm7m, arm7dm, arm7dmi, arm8, arm810, strongarm, strongarm110, strongarm1100, strongarm1110, fa526, fa626. The value arm7tdmi is still supported. The values of -march that are deprecated are: armv2,armv2a,armv3,armv3m,armv4.
    The ARM port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    Support has been added for the following processors (GCC identifiers in parentheses): ARM Cortex-A32 (cortex-a32), ARM Cortex-A35 (cortex-a35). The GCC identifiers can be used as arguments to the -mcpu or -mtune options, for example: -mcpu=cortex-a32 or -mtune=cortex-a35.

Heterogeneous Systems Architecture

    GCC can now generate HSAIL (Heterogeneous System Architecture Intermediate Language) for simple OpenMP device constructs if configured with --enable-offload-targets=hsa. A new libgomp plugin then runs the HSA GPU kernels implementing these constructs on HSA capable GPUs via a standard HSA run time.

    If the HSA compilation back end determines it cannot output HSAIL for a particular input, it gives a warning by default. These warnings can be suppressed with -Wno-hsa. To give a few examples, the HSA back end does not implement compilation of code using function pointers, automatic allocation of variable sized arrays, functions with variadic arguments as well as a number of other less common programming constructs.

    When compilation for HSA is enabled, the compiler attempts to compile composite OpenMP constructs

        #pragma omp target teams distribute parallel for

    into parallel HSA GPU kernels.

IA-32/x86-64

    GCC now supports the Intel CPU named Skylake with AVX-512 extensions through -march=skylake-avx512. The switch enables the following ISA extensions: AVX-512F, AVX512VL, AVX-512CD, AVX-512BW, AVX-512DQ.
    Support for new AMD instructions monitorx and mwaitx has been added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and mwait instructions. In addition mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx.
    x86-64 targets now allow stack realignment from a word-aligned stack pointer using the command-line option -mstackrealign or __attribute__ ((force_align_arg_pointer)). This allows functions compiled with a vector-aligned stack to be invoked from objects that keep only word-alignment.
    Support for address spaces __seg_fs, __seg_gs, and __seg_tls. These can be used to access data via the %fs and %gs segments without having to resort to inline assembly. Please refer to the documentation for usage instructions.
    Support for AMD Zen (family 17h) processors is now available through the -march=znver1 and -mtune=znver1 options.

MeP

    Support for the MeP (mep-elf) architecture has been deprecated and will be removed in a future GCC release.

MSP430

    The MSP430 compiler now has the ability to automatically distribute code and data between low memory (addresses below 64K) and high memory. This only applies to parts that actually have both memory regions and only if the linker script for the part has been specifically set up to support this feature.

    A new attribute of either can be applied to both functions and data, and this tells the compiler to place the object into low memory if there is room and into high memory otherwise. Two other new attributes - lower and upper - can be used to explicitly state that an object should be placed in the specified memory region. If there is not enough left in that region the compilation will fail.

    Two new command-line options - -mcode-region=[lower|upper|either] and -mdata-region=[lower|upper|either] - can be used to tell the compiler what to do with objects that do not have one of these new attributes.

PowerPC / PowerPC64 / RS6000

    PowerPC64 now supports IEEE 128-bit floating-point using the __float128 data type. In GCC 6, this is not enabled by default, but you can enable it with -mfloat128. The IEEE 128-bit floating-point support requires the use of the VSX instruction set. IEEE 128-bit floating-point values are passed and returned as a single vector value. The software emulator for IEEE 128-bit floating-point support is only built on PowerPC GNU/Linux systems where the default CPU is at least power7. On future ISA 3.0 systems (POWER 9 and later), you will be able to use the -mfloat128-hardware option to use the ISA 3.0 instructions that support IEEE 128-bit floating-point. An additional type (__ibm128) has been added to refer to the IBM extended double type that normally implements long double. This will allow for a future transition to implementing long double with IEEE 128-bit floating-point.
    Basic support has been added for POWER9 hardware that will use the recently published OpenPOWER ISA 3.0 instructions. The following new switches are available:
        -mcpu=power9: Implement all of the ISA 3.0 instructions supported by the compiler.
        -mtune=power9: In the future, apply tuning for POWER9 systems. Currently, POWER8 tunings are used.
        -mmodulo: Generate code using the ISA 3.0 integer instructions (modulus, count trailing zeros, array index support, integer multiply/add).
        -mpower9-fusion: Generate code to suitably fuse instruction sequences for a POWER9 system.
        -mpower9-dform: Generate code to use the new D-form (register+offset) memory instructions for the vector registers.
        -mpower9-vector: Generate code using the new ISA 3.0 vector (VSX or Altivec) instructions.
        -mpower9-minmax: Reserved for future development.
        -mtoc-fusion: Keep TOC entries together to provide more fusion opportunities.

    New constraints have been added to support IEEE 128-bit floating-point and ISA 3.0 instructions:

        wb: Altivec register if -mpower9-dform is enabled.

        we: VSX register if -mpower9-vector is enabled for 64-bit code generation.

        wo: VSX register if -mpower9-vector is enabled.

        wp: Reserved for future use if long double is implemented with IEEE 128-bit floating-point instead of IBM extended double.

        wq: VSX register if -mfloat128 is enabled.

        wF: Memory operand suitable for POWER9 fusion load/store.

        wG: Memory operand suitable for TOC fusion memory references.

        wL: Integer constant identifying the element number mfvsrld accesses within a vector.
    Support has been added for __builtin_cpu_is() and __builtin_cpu_supports(), allowing for very fast access to AT_PLATFORM, AT_HWCAP, and AT_HWCAP2 values. This requires use of glibc 2.23 or later.
    All hardware transactional memory builtins now correctly behave as memory barriers. Programmers can use #ifdef __TM_FENCE__ to determine whether their "old" compiler treats the builtins as barriers.
    Split-stack support has been added for gccgo on PowerPC64 for both big- and little-endian (but not for 32-bit). The gold linker from at least binutils 2.25.1 must be available in the PATH when configuring and building gccgo to enable split stack. (The requirement for binutils 2.25.1 applies to PowerPC64 only.) The split-stack feature allows a small initial stack size to be allocated for each goroutine, which increases as needed.
    GCC on PowerPC now supports the standard lround function.
    A new configuration option ---with-advance-toolchain=at was added for PowerPC 64-bit GNU/Linux systems to use the header files, library files, and the dynamic linker from a specific Advance Toolchain release instead of the default versions that are provided by the GNU/Linux distribution. In general, this option is intended for the developers of GCC, and it is not intended for general use.

    The "q", "S", "T", and "t" asm-constraints have been removed.

    The "b", "B", "m", "M", and "W" format modifiers have been removed.

S/390, System z, IBM z Systems

    Support for the IBM z13 processor has been added. When using the -march=z13 option, the compiler will generate code making use of the new instructions and registers introduced with the vector extension facility. The -mtune=z13 option enables z13 specific instruction scheduling without making use of new instructions.
    Compiling code with -march=z13 reduces the default alignment of vector types bigger than 8 bytes to 8. This is an ABI change and care must be taken when linking modules compiled with different arch levels which interchange variables containing vector type values. For newly compiled code the GNU linker will emit a warning.
    The -mzvector option enables a C/C++ language extension. This extension provides a new keyword vector which can be used to define vector type variables. (Note: This is not available when enforcing strict standard compliance e.g. with -std=c99. Either enable GNU extensions with e.g. -std=gnu99 or use __vector instead of vector.)
    Additionally a set of overloaded builtins is provided which is partially compatible to the PowerPC Altivec builtins. In order to make use of these builtins the vecintrin.h header file needs to be included.
    The new command line options -march=native, and -mtune=native are now available on native IBM z Systems. Specifying these options will cause GCC to auto-detect the host CPU and rewrite these options to the optimal setting for that system. If GCC is unable to detect the host CPU these options have no effect.
    The IBM z Systems port now supports target attributes and pragmas. Please refer to the documentation for details of available attributes and pragmas as well as usage instructions.
    -fsplit-stack is now supported as part of the IBM z Systems port. This feature requires a recent gold linker to be used.
    Support for the g5 and g6 -march=/-mtune= CPU level switches has been deprecated and will be removed in a future GCC release. -m31 from now on defaults to -march=z900 if not specified otherwise. -march=native on a g5/g6 machine will default to -march=z900.

SH

    Support for SH5 / SH64 has been declared obsolete and will be removed in future releases.
    Support for the FDPIC ABI has been added. It can be enabled using the new -mfdpic target option and --enable-fdpic configure option.

SPARC

    An ABI bug has been fixed in 64-bit mode. Unfortunately, this change will break binary compatibility with earlier releases for code it affects, but this should be pretty rare in practice. The conditions are: a 16-byte structure containing a double or a 8-byte vector in the second half is passed to a subprogram in slot #15, for example as 16th parameter if the first 15 ones have at most 8 bytes. The double or vector was wrongly passed in floating-point register %d32 in lieu of on the stack as per the SPARC calling conventions.

Operating Systems
AIX

    DWARF debugging support for AIX 7.1 has been enabled as an optional debugging format. A more recent Technology Level (TL) and GCC built with that level are required for full exploitation of DWARF debugging capabilities.

Linux

    Support for the musl C library was added for the AArch64, ARM, MicroBlaze, MIPS, MIPS64, PowerPC, PowerPC64, SH, i386, x32 and x86_64 targets. It can be selected using the new -mmusl option in case musl is not the default libc. GCC defaults to musl libc if it is built with a target triplet matching the *-linux-musl* pattern.

RTEMS

    The RTEMS thread model implementation changed. Mutexes now use self-contained objects defined in Newlib <sys/lock.h> instead of Classic API semaphores. The keys for thread specific data and the once function are directly defined via <pthread.h>. Self-contained condition variables are provided via Newlib <sys/lock.h>. The RTEMS thread model also supports C++11 threads.
    OpenMP support now uses self-contained objects provided by Newlib <sys/lock.h> and offers a significantly better performance compared to the POSIX configuration of libgomp. It is possible to configure thread pools for each scheduler instance via the environment variable GOMP_RTEMS_THREAD_POOLS.

Solaris

    Solaris 12 is now fully supported. Minimal support had already been present in GCC 5.3.
    Solaris 12 provides a full set of startup files (crt1.o, crti.o, crtn.o), which GCC now prefers over its own ones.
    Position independent executables (PIE) are now supported on Solaris 12.
    Constructor priority is now supported on Solaris 12 with the system linker.
    libvtv has been ported to Solaris 11 and up.

Windows

    The option -mstackrealign is now automatically activated in 32-bit mode whenever the use of SSE instructions is requested.

Other significant improvements

    The gcc and g++ driver programs will now provide suggestions for misspelled command line options.

        $ gcc -static-libfortran test.f95
        gcc: error: unrecognized command line option '-static-libfortran'; did you mean '-static-libgfortran'?

    The --enable-default-pie configure option enables generation of PIE by default.

Non exhaustive list of bug fixes in GCC 6.2.0 release:

77463 internal compiler error: in output_move_qimode
71092 [6/7 Regression] ICE: in cxx_eval_call_expression
77034 [6.2RC regression] g++.dg/init/elide5.C fails on powerpc64-unknown-linux-gnu with -m32
70597 [6/7 Regression] cmd/go: deduplicate gccgo afiles by package path
71936 [6/7 Regression] ICE in wide_int_to_tree
77279 build error in isl/ctx.h
67419 gfortran.dg/large_real_kind_2.F90 FAILs
73434 [6/7 Regression] Wrong code with casting
71972 [6 Regression] ICE with ""-std=c++14"" on x86_64-linux-gnu (internal compiler error: Segmentation fault
72819 [AArch64] ABI error: HFA structs of __fp16 incorrectly passed to functions
73456 [6/7 regression][concepts] ICE in non_atomic_constraint_p
72853 gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
71981 [6/7 Regression] ICE at -O2 and -O3 on x86_64-linux-gnu (internal compiler error: in get_dynamic_type
71881 [6 Regression] ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form
72802 powerpc64le: -mcpu=power9 emits lxssp instruction with offset that isn't a multiple of 4
72800 [5/6 Regression] ICE on invalid C++14 code with initialized lambda capture: tree check: expected class ‘type’
70040 [5 Regression] ICE in gimplify.c with deferred-length strings
72699 [6/7 Regression] ICE in gfc_check_dependency
70677 Suboptimal cond on AVR: unneeded stack frame
71853 [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings
72457 [6/7 Regression] ICE: Segmentation fault
71738 [4.9/5/6/7 Regression] ICE on valid C++ code: tree check: expected record_type or union_type or qual_union_type
71350 [4.9/5/6/7 regression] ICE on trailing return type declaration with initializer list
70847 [6/7 Regression] exponential time in cp_fold for chained virtual function calls
71756 [5/6/7 Regression] internal compiler error: in ~saved_token_sentinel
71147 [6 Regression] Flexible array member wrongly rejected in template
67579 [concepts] Memoization for constraint expressions
67565 [concepts] Very slow compile time and high memory usage with complex concept definitions
71941 [6/7 Regression] ICE with OpenMP tasks and queue
71495 [6/7 Regression] Spurious ""note: initializing argument ... of ..."" without any warning/error
70822 [6 Regression] bogus ""error: lvalue required as unary ‘&’ operand"" with C++14 parenthesized SCOPE_REF
71718 [6/7 Regression] ICE on erroneous recursive template error printing
70824 [6/7 Regression] cc1plus consumes all available memory on specific template code
70781 [6/7 Regression] ICE on invalid C++ code with lambda expressions on x86_64-linux-gnu in finish_expr_stmt
71896 [6/7 Regression] Constexpr function with pointer to member parameter doesn't return constexpr value
71117 [6/7 Regression] Overeager application of conversion to function pointer during overload resolution of call to function object
71511 [6/7 Regression] ICE on valid C++11 code (with decltype) on x86_64-linux-gnu: in cxx_incomplete_type_diagnostic
71513 [6/7 Regression] ICE on valid C++11 code (with alignas specifier) on x86_64-linux-gnu: Segmentation fault
71604 [6/7 Regression] ICE on valid C++11 code with range-based for loop: in pop_binding
71711 [6/7 Regression] ICE on valid C++1z code with fold expression: tree check: expected tree_vec
71814 [6/7 Regression] ICE on valid C++11 code: in write_type
70972 [6 Regression] Inheriting constructors taking parameters by value should move them
71856 [6/7 Regression] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
71916 [6/7 Regression] ICE at -O3 on valid code on x86_64-linux-gnu in ""maybe_record_trace_start
71835 [6/7 Regression] ICE on invalid C++ code with ambiguous overloaded operators: tree check: expected tree that contains ‘decl minimal’ structure
71828 [6/7 regression] ICE on valid C++11 code with constexpr __Complex int variable declaration: in operand_equal_p
71822 [6/7 Regression] ICE: in gimplify_expr
70869 [6 Regression] internal compiler error: Segmentation fault on array of pointer to function members
71493 [6/7 regression] accidental ABI change for structure return on PowerPC
69515 partial specialization of variable templates is broken
70584 constexpr variables cannot be used as intrinsic arguments where an immediate is expected
71164 [6/7 Regression] tree check fail at cp/pt.c:12961
71733 ICE in vmx test cases with -mcpu=power9
71624 [6 regression][CHKP] internal compiler error: in duplicate_thunk_for_node
71823 [6/7 Regression] g++ segfaults with -mfma and -ftree-slp-vectorize
71173 [6/7 regression] Qualified name lookup
70685 [6/7 Regression] ICE: Segmentation fault
70222 Test miscompiled with -O1
71100 [6/7 regression] Internal compiler error while calling a pointer to member function that throws
71739 [6/7 Regression] ICE on valid C++11 code: tree check: expected identifier_node
70916 [6 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in ""tree_operand_check
71521 [6 Regression] Regression in GCC-7.0.0's optimizer
30417 Section .data cannot be moved with -mmcu=atmega88
71057 [6 Regression] ICE in schedule_generic_params_dies_gen
71056 [6 Regression] __builtin
70540 [4.9/5 Regression] ICE on invalid code in cxx_incomple
2016-09-12 22:13:54 +00:00
maya
3884c7edf3 Updated lang/gcc48 to 4.8.5 2016-09-12 18:42:30 +00:00
maya
65f3f42a3d gcc48: update to 4.8.5
Reset PKGREVISION, set gcc48-libs PKGREVISION to 1 (+1 of gcc48)

The following list of 74 PRs have been resolved in the 4.8.5 release
(non-exhaustive list):

64557 get_addr in true_dependence_1 cannot handle VALUE inside an expr
66215 [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch
66233 [4.8/4.9 Regression] internal compiler error: in expand_fix
65550 [4.8/4.9 Regression] ICE (segfault) with pch
62642 [4.8/4.9 Regression] x86 rdtsc is moved through barrier
63608 [4.8/4.9 Regression] error: type mismatch in binary expression
59626 [4.8 Regression] /usr/include/bits/unistd.h:173:1: error: inlining failed in call to always_inline 'readlinkat': recursive inlining
65549 [4.9 Regression] crash in htab_hash_string with -flto -g
59990 [4.8 regression] incorrect memcpy optimization
60656 [4.8 regression] x86 vectorization produces wrong code
66470 [4.8/4.9/5/6 Regression] TLS ICE due to ix86_split_long_move
66481 Implicit lambda capture of variable named ""closure"" causes crash
66275 __attribute__((sysv_abi)) with x86_64-w64-mingw32-gcc generates incorrect code
65680 [4.8/4.9 Regression] ICE at -O1 and above on x86_64-linux-gnu in expand_assignment
65368 [4.8/4.9 Regression]_bzhi_u32 intrinsic generates incorrect code when -O1 or above is specified and index is an immediate
64634 [4.8/4.9 Regression] gcov reports catch(...) as not executed
66123 [4.8 Regression] Array of labels as values + ternary operator + pointer arithmetic = internal compiler error
65518 [4.8 Regression] gcc consumes all memory with -O3
66140 ICE at extract_insn
65721 [4.8/4.9/5/6 Regression] Internal compiler error segmentation fault
65727 [4.8/4.9/5/6 Regression] Segfault With Decltype In Lambda Expression Used To Initialize Static Class Member
59016 f951: internal compiler error: Segmentation fault
65693 [4.8/4.9 Regression] ICE in assign_by_spills
61977 [4.8/4.9/5 Regression] powerpc preprocessor breaks on lines that end with ""vector
59513 [4.8/4.9/5 Regression] Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker
65279 [4.8/4.9 Regression] std::scoped_allocator_adaptor is not assignable
65543 rvalue stream insertion and extraction operators incorrectly implemented
61138 [4.8/4.9/5 Regression] Wrong code with pointer-bounds remapping
65072 Segfault when parsing dectlype in trailing return type
65327 GCC rejects ""constexpr volatile int i = 5;
65409 [4.8/4.9/5 Regression] ICE in store_field
52579 [4.8/4.9/5 regression] i386_w32_fallback_frame_state should care ffi raw-closure stub function
60898 [4.8/4.9/5 Regression] model compile error with gfortran 4.7 and gcc 4.9
57059 [4.8/4.9/5 Regression] Host configuration of loose_warn breaks for build components for Canadian crosses
52664 [4.8 Regression]: gcc.dg/tree-ssa/pr31261.c fails
65220 [4.8/4.9/5 Regression] integer division in stack alignment for VLA allocation
43701 [4.8/4.9/5 Regression] ICE: SIGSEGV (too deep recursion) with -mno-sse and __float128
35330 [4.8/4.9/5 regression] ICE with invalid pragma weak
46102 [4.8/4.9/5 Regression] ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -feliminate-dwarf2-dups when using precompiled headers
61634 [4.8 Regression] ICE in in vect_get_vec_def_for_operand
65063 [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
63593 ICE: verify_gimple failed: incompatible types in PHI argument 0 with -O3 -fno-tree-vectorize
63844 [4.8 Regression] open mp parallelization prevents vectorization
64493 [4.8 Regression] ICE at -O3 on x86_64-linux-gnu
64495 [4.8 Regression] ICE at -O3 for trunk and wrong code for 4.8/4.9 on x86_64-linux-gnu
64199 [4.8 Regression] ICE: tree check: expected class 'constant'
56273 [4.8 regression] Bogus -Warray-bounds warning
58123 [4.8/4.9/5 Regression] debug line not tracked for last autovariable dtor
45402 [4.8/4.9/5 Regression]  ICE in extract_insn
64768 [4.8/4.9/5 Regression] internal compiler error: tree check: expected tree that contains ‘decl with RTL’ structure
63744 [4.8/4.9/5 Regression] Duplicate use-statement causes error
64979 [4.8 Regression] stdarg optimization not able to find escape sites in phi nodes
57653 [4.8/4.9 Regression] filename information discarded when using -imacros
60718 [4.8/4.9 regression] Test case gfortran.dg/select_type_4.f90 fails on ARM
64479 [4.8 Regression][SH] wrong optimization delayed-branch
39722 [4.8/4.9 Regression][cond-optab] worse code with bitfields on v850
64882 ICE on valid code at -O3 with -g enabled in simplify_subreg
61058 [4.8/4.9 Regression] ICE: RTL check: expected elt 3 type 'B'
64513 [4.8/4.9 Regression] ICE: in maybe_record_trace_start
64766 [4.8/4.9 Regression] internal compiler error: tree check: expected block
64487 [4.8/4.9 Regression] internal compiler error: in fold_offsetof_1
62044 [4.8/4.9 Regression] ICE in USE statement with RENAME for extended derived type
57748 [4.8 Regression] ICE when expanding assignment to unaligned zero-sized array
57023 [4.8 Regression] Not packing arrays with changing variable used for size
52306 [4.8 regression] ICE in cselib_record_set
52714 [4.8 regression] ICE in fixup_reorder_chain
58369 [4.8 regression] ICE in subreg_get_info when compiling boost for m68k-linux
63733 [4.8/4.9/5 Regression] [OOP]  wrong resolution for OPERATOR generic
2016-09-12 18:42:04 +00:00
wiz
a1e757a982 Updated security/py-cryptography to 1.5nb1 2016-09-12 18:34:46 +00:00
wiz
2b486b001f ld with python-3.x and py-cffi-1.8.x and bump PKGREVISION. 2016-09-12 18:34:31 +00:00
wiz
d38d06a0f1 Updated graphics/freetype2 to 2.7 2016-09-12 18:06:55 +00:00
wiz
74bf70c682 Updated freetype2 to 2.7.
Remove subpixel option which is now on by default.

CHANGES BETWEEN 2.6.5 and 2.7

  I. IMPORTANT CHANGES

    - As announced earlier, the 2.7.x series now uses the new subpixel
      hinting  mode as  the  default, emulating  a  modern version  of
      ClearType.

      This change inevitably leads to different rendering results, and
      you   might   change   the   `TT_CONFIG_OPTION_SUBPIXEL_HINTING'
      configuration option to  adapt it to your taste (or  use the new
      `FREETYPE_PROPERTIES'    environment    variable).    See    the
      corresponding entry  below for  version 2.6.4, which  gives more
      information.

    - A new option  `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' has been
      introduced.   If  set (which  is  the  default), an  environment
      variable  `FREETYPE_PROPERTIES' can  be used  to control  driver
      properties.  Example:

        FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
                            cff:no-stem-darkening=1 \
                            autofitter:warping=1

      This allows to select, say, the subpixel hinting mode at runtime
      for a given application.  See file `ftoption.h' for more.


  II. IMPORTANT BUG FIXES

    - After  loading a  named instance  of  a GX  variation font,  the
      `face_index'  value  in  the returned  `FT_Face'  structure  now
      correctly holds the named instance  index in the upper 16bits as
      documented.


  III. MISCELLANEOUS

    - A new macro `FT_IS_NAMED_INSTANCE' to  test whether a given face
      is a named instance.

    - More fixes to GX font handling.

    - Apple's   `GETVARIATION'  bytecode   operator  (needed   for  GX
      variation font support) has been implemented.

    - Another round  of fuzzer fixes,  mainly to reject  invalid fonts
      faster.

    - Handling of raw CID fonts  was broken (bug introduced in version
      2.6.4).

    - The smooth rasterizer has been streamlined  to make it faster by
      approx. 20%.

    - The `ftgrid'  demo program now  understands command  line option
      `-d' to give start-up design coordinates.

    - The `ftdump' demo program has  a new command line option `-p' to
      dump TrueType bytecode instructions.
2016-09-12 18:06:44 +00:00
adam
6b650e02f2 Updated devel/py-setuptools_scm to 1.11.1; www/py-cherrypy to 8.1.0 2016-09-12 17:44:51 +00:00
adam
37dae0898d Changes 8.1.0:
* 1473: ``HTTPError`` now also works as a context manager.

* 1487: The sessions tool now accepts a ``storage_class``
  parameter, which supersedes the new deprecated
  ``storage_type`` parameter. The ``storage_class`` should
  be the actual Session subclass to be used.

* Releases now use ``setuptools_scm`` to track the release
  versions. Therefore, releases can be cut by simply tagging
  a commit in the repo. Versions numbers are now stored in
  exactly one place.
2016-09-12 17:44:14 +00:00
adam
b3988482b1 Changes 1.11.1:
* fix issue 88 - better docs for sphinx usage
* fix issue 89 - use normpath to deal with windows
2016-09-12 17:31:55 +00:00
adam
e6753d055f Updated www/nghttp2 to 1.14.1; devel/cmake to 3.6.2 2016-09-12 17:24:07 +00:00
adam
54a0093109 Changes in 3.6.2 since 3.6.1:
Ben Boeckel (3):
      Intel-C: declare support for gnu11
      Intel-C: support gnu89 and gnu99 extension flags
      Intel-C: standard flags are also supported in 12.0

Brad King (11):
      Add script to update curl from upstream
      curl: Update script to get curl 7.50.1
      curl: Remove CMake-specific README
      VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset
      GetPrerequisites: Fix regression in gp_resolved_file_type
      Fortran: Fix .mod file comparison for Intel 16 format
      VS: Fix VS 2015 .vcxproj debug setting for v80 toolset
      FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
      FindHDF5: Fix regression in finding hdf5hl_fortran
      curl: Backport certificate reuse fix from 7.50.2
      CMake 3.6.2

Chuck Atkins (2):
      FindHDF5: Make sure compile definition vars keep the -D flag
      CrayLinuxEnvironment: Add alternative methods to get version info

Curl Upstream (2):
      curl 2015-08-11 (1a7f66a3)
      curl 2016-08-03 (f2cb3a01)

Fujii Hironori (1):
      VS: Fix out-of-bounds write on empty Nsight Tegra version

Konstantin Sinitsyn (1):
      FindProtobuf: Restore support for PROTOBUF_IMPORT_DIRS
2016-09-12 17:22:45 +00:00
adam
0b81de0714 Changes 1.14.1:
In this release, we fixed the bug which causes GOAWAY race with new incoming stream on server side. The bug has been reported in GH-681. This is a regression introduced in 16c4611. We were happy with that commit since nghttp2 server passed all strict mode h2spec tests. However, it turned out that it could not handle some cases well, and one of them is GOAWAY race on server side. We reverted part of that commit to fix this issue. This bug only affects nghttp2 server side session. The client side nghttp2 session is not affected by this bug.
2016-09-12 17:22:15 +00:00
taca
9356230bdf - sudo-1.8.16. 2016-09-12 17:13:15 +00:00
taca
943b5fff4f Note update of security/sudo package to 1.8.17p1. 2016-09-12 17:12:54 +00:00
taca
cc2a3b0d48 Update sudo to 1.8.17p1.
What's new in Sudo 1.8.17p1

 * Fixed a bug introduced in 1.8.17 where the user's groups were
   not set on systems that don't use PAM.  Bug #749.

What's new in Sudo 1.8.17

 * On AIX, if /etc/security/login.cfg has auth_type set to PAM_AUTH
   but pam_start(3) fails, fall back to AIX authentication.
   Bug #740.

 * Sudo now takes all sudoers sources into account when determining
   whether or not "sudo -l" or "sudo -b" should prompt for a password.
   In other words, if both file and ldap sudoers sources are in
   specified in /etc/nsswitch.conf, "sudo -v" will now require that
   all entries in both sources be have NOPASSWD (file) or !authenticate
   (ldap) in the entries.

 * Sudo now ignores SIGPIPE until the command is executed.  Previously,
   SIGPIPE was only ignored in a few select places.  Bug #739.

 * Fixed a bug introduced in sudo 1.8.14 where (non-syslog) log
   file entries were missing the newline when loglinelen is set to
   a non-positive number.  Bug #742.

 * Unix groups are now set before the plugin session intialization
   code is run.  This makes it possible to use dynamic groups with
   the Linux-PAM pam_group module.

 * Fixed a bug where a debugging statement could dereference a NULL
   pointer when looking up a group that doesn't exist.  Bug #743.

 * Sudo has been run through the Coverity code scanner.  A number of
   minor bugs have been fixed as a result.  None were security issues.

 * SELinux support, which was broken in 1.8.16, has been repaired.

 * Fixed a bug when logging I/O where all output buffers might not
   get flushed at exit.

 * Forward slashes are no longer escaped in the JSON output of
   "visudo -x".  This was never required by the standard and not
   escaping them improves readability of the output.

 * Sudo no longer treats PAM_SESSION_ERR as a fatal error when
   opening the PAM session.  Other errors from pam_open_session()
   are still treated as fatal.  This avoids the "policy plugin
   failed session initialization" error message seen on some systems.

 * Korean translation for sudo and sudoers from translationproject.org.

 * Fixed a bug on AIX where the stack size hard resource limit was
   being set to 2GB instead of 4GB on 64-bit systems.

 * The SSSD backend now properly supports "sudo -U otheruser -l".

 * The SSSD backend now uses the value of "ipa_hostname"
   from sssd.conf, if specified, when matching the host name.

 * Fixed a hang on some systems when the command is being run in
   a pty and it failed to execute.

 * When performing a wildcard match in sudoers, check for an exact
   string match if the user command was fully-qualified (or resolved
   via the PATH).  This fixes an issue executing scripts on Linux
   when there are multiple wildcard matches with the same base name.
   Bug #746.

What's new in Sudo 1.8.16

 * Fixed a compilation error on Solaris 10 with Stun Studio 12.
   Bug #727.

 * When preserving variables from the invoking user's environment, if
   there are duplicates sudo now only keeps the first instance.

 * Fixed a bug that could cause warning mail to be sent in list
   mode (sudo -l) for users without sudo privileges when the
   LDAP and sssd backends are used.

 * Fixed a bug that prevented the "mail_no_user" option from working
   properly with the LDAP backend.

 * In the LDAP and sssd backends, white space is now ignored between
   an operator (!, +, +=, -=) when parsing a sudoOption.

 * It is now possible to disable Path settings in sudo.conf
   by omitting the path name.

 * The sudoedit_checkdir Defaults option is now enabled by default
   and has been extended.  When editing files with sudoedit, each
   directory in the path to be edited is now checked.  If a directory
   is writable by the invoking user, symbolic links will not be
   followed.  If the parent directory of the file to be edited is
   writable, sudoedit will refuse to edit it.
   Bug #707.

 * The netgroup_tuple Defaults option has been added to enable matching
   of the entire netgroup tuple, not just the host or user portion.
   Bug #717.

 * When matching commands based on the SHA2 digest, sudo will now
   use fexecve(2) to execute the command if it is available.  This
   fixes a time of check versus time of use race condition when the
   directory holding the command is writable by the invoking user.

 * On AIX systems, sudo now caches the auth registry string along
   with password and group information.  This fixes a potential
   problem when a user or group of the same name exists in multiple
   auth registries.  For example, local and LDAP.

 * Fixed a crash in the SSSD backend when the invoking user is not
   found.  Bug #732.

 * Added the --enable-asan configure flag to enable address sanitizer
   support.  A few minor memory leaks have been plugged to quiet
   the ASAN leak detector.

 * The value of _PATH_SUDO_CONF may once again be overridden via
   the Makefile.  Bug #735.

 * The sudoers2ldif script now handles multiple roles with same name.

 * Fixed a compilation error on systems that have the posix_spawn()
   and posix_spawnp() functions but an unusable spawn.h header.
   Bug #730.

 * Fixed support for negating character classes in sudo's version
   of the fnmatch() function.

 * Fixed a bug in the LDAP and SSSD backends that could allow an
   unauthorized user to list another user's privileges.  Bug #738.

 * The PAM conversation function now works around an ambiguity in the
   PAM spec with respect to multiple messages.  Bug #726.
2016-09-12 17:12:24 +00:00
taca
9feaf86601 Add project page on git.kolab.org as HOMEPAGE. 2016-09-12 16:09:52 +00:00
maya
dce89fb6fa Updated lang/algol68g to 2.8.3 2016-09-12 16:05:35 +00:00
maya
163ebded91 algol68g: update to 2.8.3
Version 2.8.3, March 2016
* Fixes garbage collector bug.
* Fixes "execve output" that caused a "too many open files" type error.
* Fixes ncurses support on Ubuntu.
2016-09-12 16:05:17 +00:00
taca
290033de5f Note update of mail/pear-Mail_mimeDecode package to 1.5.6. 2016-09-12 16:00:46 +00:00
taca
78847debb4 Update pear-Mail_mimeDecode to 1.5.6.
Release date: 2016-08-28 23:07 UTC

Changelog:

Minor Bug fix release.
#20431 - support for android
#19762 - multipart signed not split correctly on line breaks
#20027 - replace /e with preg_replace_callback
#19762 - multipart/signed eating of new line, and expose sig_hdr etc.
2016-09-12 16:00:08 +00:00
wiz
1aa8b5b679 Add PKGCONFIG_OVERRIDE. Ride update. 2016-09-12 15:58:44 +00:00
taca
a4a1e98441 Fix previous change. 2016-09-12 15:52:49 +00:00
taca
34a94c5b40 Fix DISTNAME and it cause PKGBASE change. So, reset PKGREVISION. 2016-09-12 15:49:56 +00:00
taca
e413e27b0c Note update of mail/fml4 package to 4.0.3.20040215nb11. 2016-09-12 15:46:40 +00:00
taca
519c7f7335 One more fix for newer perl happy.
Bump PKGREVISION.
2016-09-12 15:46:07 +00:00
wiz
2df1168fd0 + filezilla-3.21.0 [needs gnutls>=3.4.0]. 2016-09-12 15:44:57 +00:00
taca
1e44cb3104 Note update of lang/pear package to 1.10.1nb1. 2016-09-12 15:43:37 +00:00
taca
f8398509ce Bump PKGREVISION.
Update including pear-Archive_Tar to 1.4.2.

Release date: 2016-02-25 05:31 UTC

Changelog:

* Fix reading of archives with files > 8GB
* Performance optimizations
* Do not try to call require_once on PEAR.php if it has already been loaded by the autoloader

Release date: 2016-02-25 05:24 UTC

Changelog:

* Update composer.json to use pear-core-minimal 1.10.0alpha2
2016-09-12 15:43:00 +00:00
wiz
02244412d9 Updated net/libfilezilla to 0.6.1 2016-09-12 15:40:23 +00:00
wiz
05bbd0ce19 Updated libfilezilla to 0.6.1.
2016-07-27 - libfilezilla 0.6.1 released
Bugfixes and minor changes:

    Fix UTF-8 conversion functions and added a testcase

2016-07-20 - libfilezilla 0.6.0 released
New features:

    Add fz::sprintf, a safe replacement for for the C sprintf function
2016-09-12 15:40:13 +00:00
taca
b63306c581 Note update of lang/php71 package to 7.1.0rc1. 2016-09-12 15:38:31 +00:00
taca
b617e71e6a Update php71 to 7.1.0rc1 (PHP 7.1.0RC1).
01 Sep 2016, PHP 7.1.0RC1

- Core:
  . Fixed bug #72944 (Null pointer deref in zval_delref_p). (Dmitry)
  . Fixed bug #72943 (assign_dim on string doesn't reset hval). (Laruence)
  . Fixed bug #72598 (Reference is lost after array_slice()) (Nikita)
  . Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by
    password_verify). (Anatol)
  . Implement \ArgumentCountError when passing in too few arguments (Davey)

- COM:
  . Fixed bug #72922 (COM called from PHP does not return out parameters).
    (Anatol)

- Dba:
  . Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
    (cmb)

- GD:
  . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor
    images). (cmb)
  . Fixed bug #72913 (imagecopy() loses single-color transparency on palette
    images). (cmb)
  . Fixed bug #68716 (possible resource leaks in _php_image_convert()). (cmb)

- iconv:
  . Fixed bug #72320 (iconv_substr returns false for empty strings). (cmb)

- Intl:
  . Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF
    sequence). (cmb)

- JSON:
  . Implemented earlier return when json_encode fails, fixes bugs #68992
    (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion
    error, json_encode can eat up all system memory). (Jakub Zelenka)

- mbstring:
  . Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb)

- Opcache:
  . Fixed bug #72949 (Typo in opcache error message). (cmb)

- PDO_DBlib:
  . Implemented stringify 'uniqueidentifier' fields.
    (Alexander Zhuravlev, Adam Baratz)

- Reflection:
  . Reverted prepending \ for class names. (Trowski)

- Session:
  . Fixed bug #72940 (SID always return "name=ID", even if session
    cookie exist). (Yasuo)
  . Implemented session_gc() and session_create_id() functions. (Yasuo)

- SimpleXML:
  . Fixed bug #72971 (SimpleXML isset/unset do not respect namespace). (Nikita)
  . Fixed bug #72957 (Null coalescing operator doesn't behave as expected with
    SimpleXMLElement). (Nikita)

- SOAP:
  . Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita)
  . Fixed bug #71996 (Using references in arrays doesn't work like expected).
    (Nikita)

- Standard:
  . Fixed bug #72920 (Accessing a private constant using constant() creates
    an exception AND warning). (Laruence)
  . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign).
    (cmb)
  . Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
    (cmb)

- XML:
  . Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb)
2016-09-12 15:38:01 +00:00
taca
9b6f7e065a Note update of www/SOGo package to 2.3.14. 2016-09-12 14:53:46 +00:00
taca
9fec902c1d Update SOGo to 2.3.14.
2.3.14 (2016-08-17)
-------------------

New features
 - [eas] added folder merging capabilities

Enhancements
 - [web] expunge drafts mailbox when a draft is sent and deleted
 - [web] style cancelled events in Calendar module (#2800)
 - [web] updated CKEditor to version 4.5.10

Bug fixes
 - [eas] fixed long GUID issue preventing sometimes synchronisation (#3460)
 - [web] improved extraction of HTML signature in Preferences module
 - [web] really delete mailboxes being deleted from the Trash folder (#595, #1189, #641)
 - [core] fixing sogo-tool backup with multi-domain configuration but domain-less logins
 - [core] during event scheduling, use 409 instead of 403 so Lightning doesn't fail silently
 - [core] correctly calculate recurrence exceptions when not overlapping the recurrence id
 - [core] prevent invalid SENT-BY handling during event invitations (#3759)


2.3.13 (2016-07-06)
-------------------

New features
 - [core] now possible to set default Sieve script (#2949)
 - [core] new sogo-tool truncate-calendar feature (#1513, #3141)
 - [eas] initial Out-of-Office support in EAS

Enhancements
 - [core] avoid showing bundle loading info when not needed (#3726)
 - [core] when restoring data using sogo-tool, regenerate Sieve script (#3029)
 - [eas] use the preferred email identity in EAS if valid (#3698)
 - [eas] handle inline attachments during EAS content generation
 - [web] update jQuery File Upload library to 9.12.5

Bug fixes
 - [web] fixed crash when an attachment filename has no extension
 - [web] dragging a toolbar button was blocking the mail editor in Firefox
 - [eas] handle base64 EAS protocol version
2016-09-12 14:53:12 +00:00
taca
64b2140bd5 Note update of devel/SOPE package to 2.3.14. 2016-09-12 14:44:52 +00:00
taca
d9c0b71b23 Update SOPE to 2.3.14 required by SOGo 2.3.14.
Changes are too many to write here, please refer ChangeLog file.
2016-09-12 14:44:08 +00:00
mef
6800264f9e Updated games/gnuchess-book to 1.02 2016-09-12 14:38:00 +00:00