Commit Graph

12 Commits

Author SHA1 Message Date
mrg
f9a78e0e88 import GCC 6.4.0. see this url for details which are too large to
include here:

   http://gcc.gnu.org/gcc-6/changes.html

the main visible changes appear to be:

- The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
- The C and C++ compilers now support attributes on enumerators.
- Diagnostics can now contain "fix-it hints"
- more warnings (some added to -Wall)
2018-02-02 01:58:35 +00:00
mrg
3f4ceed98f initial import of GCC 5.5.0. this fixes a very large number of PRs.
280 are listed here:
    https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.5
and this list is likely not complete, and not reproduced here.  the
only specific change in functionality is removal of x86 "pcommit"
instruction (which was apparently never implemented.)
2017-11-11 23:49:21 +00:00
mrg
f30ff5883e import GCC 5.4.0 release. there's not a lot of new info though at
least these 135 (!) GCC PRs have been fixed by the update:

68730 69714 67550 70209 71254 70839 69737 70067 67355 67172 69239
65779 69546 70272 70421 65985 67339 67411 68309 68585 68679 68890
68949 69009 70139 70494 68162 69135 70306 68965 70297 70635 66786
69098 70347 69719 70526 70941 69400 69577 69447 65689 65886 65932
66655 68269 68789 69614 69648 69666 69764 69794 70044 70052 65726
68910 64289 68671 68835 69669 70329 71204 69355 67364 68049 68998
69323 69743 69995 69146 68651 67755 67484 68790 68907 69099 69496
69509 69516 70393 69222 69703 69939 70609 71004 71005 71036 71037
71038 68636 69013 69606 70115 70333 70430 60290 70356 69305 70024
67781 69414 69140 70510 60164 66635 67896 68106 68298 68449 68779
68921 68986 69037 69147 69194 69366 69399 69705 69917 69969 70613
71317 69268 70269 69032 65702 69219 69484 65996 66680 68283 69603
70350 67451 61397
2016-06-07 05:57:41 +00:00
mrg
4d5abbe83f import GCC 5.3.0. see these urls for details which are too large to
include here:

	http://gcc.gnu.org/gcc-4.9/changes.html
	http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
 which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
 floating-point register support is now obsolete and has been removed.
 It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
 The meaning of the -mfp64 command-line option has changed. It is now
 used to enable the FP64A and FP64 ABI extensions.
2016-01-24 06:05:37 +00:00
mrg
7e9e220a26 initial import of GCC 4.8.5 sources. these GCC PRs (at least) are
fixed in this release:

64882 46102 58123 65409 59626 61058 65680 64487 65721 65727
52306 64768 56273 57653 59990 60656 61634 63844 64199 64493
64495 65549 57059 57569 57748 58369 62642 63608 64037 65550
65693 65220 45187 64409 61977 64513 64634 65368 66233 66470
65072 65327 65543 65279 63593 65063 65518 66123 66140 59016
64479 64557 64979 66215 66275 66481 39423 64766 63733 52714
60898 61138 63744 57023 39722 45402 52579 52664 60718 62044
59513 35330 37440 43701

see:
  https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.8.5
for more details.
2015-06-24 14:02:39 +00:00
mrg
6012017c82 import GCC 4.8.4 release. this fixes at least these GCC PRs:
fortran/61407
	sanitizer/64265
	tree-optimization/64269
	middle-end/64225
	tree-optimization/61686
	bootstrap/64213
	rtl-optimization/64037
	target/50751
	rtl-optimization/64037
	target/59593
	target/59593
	c++/56493
	target/64115
	middle-end/64111
	middle-end/64067
	rtl-optimization/63659
	libgomp/61200
	tree-optimization/61969
	tree-optimization/62031
	tree-optimization/63379
	tree-optimization/63605
	middle-end/63665
	target/60111
	target/63673
	target/63947
	tree-optimization/62167
	tree-optimization/63841
	ipa/63838
	c++/63455
	c++/63415
	c++/56710
	c++/58624
	preprocessor/60436
	target/55351
	fortran/63938
	libgomp/61200
	libstdc++/63840
	libstdc++/61947
	libstdc++/59603
	target/56846
	libstdc++/57440
2015-01-10 00:47:09 +00:00
mrg
cd5ea10d63 initial import of GCC 4.8 snapshot 2014-10-09. this fixes at
least the below GCC PRs, among many other changes.

it also makes sh3 reasonably useful again.

	c++/60731
	c/61271
	c/61271
	c/61271
	debug/55794
	debug/60655
	debug/61923
	debug/63284
	debug/63342
	inline-asm/63282
	ipa/61986
	ipa/62015
	libobjc/61920
	libobjc/61920
	libstdc++/58962
	libstdc++/60734
	libstdc++/60966
	libstdc++/61946
	libstdc++/63449
	middle-end/61010
	middle-end/61045
	middle-end/62103
	rtl-optimization/57003
	rtl-optimization/60866
	rtl-optimization/60901
	rtl-optimization/61801
	rtl-optimization/62004
	rtl-optimization/62030
	target/49423
	target/52941
	target/61044
	target/61202
	target/61208
	target/61231
	target/61239
	target/61249
	target/61300
	target/61423
	target/61431
	target/61443
	target/61483
	target/61542
	target/61545
	target/61570
	target/61586
	target/61996
	target/62195
	target/62218
	target/63428
	tree-optimization/60196
	tree-optimization/61375
	tree-optimization/61383
	tree-optimization/61452
	tree-optimization/61684
	tree-optimization/61964
	tree-optimization/62073
	tree-optimization/62075
	tree-optimization/63189
	tree-optimization/63341
	tree-optimization/63375
2014-10-12 06:58:16 +00:00
skrll
5f4cdc7d41 Import gcc 4.8.3 which has 98 bugs fixed on gcc-4-8-3-pre-r208254 2014-05-27 08:29:46 +00:00
mrg
23da6d05af merge gcc 4.8.2 r206687 (part 1). 2014-03-01 08:58:28 +00:00
mrg
48fb7bfab7 import GCC 4.8 branch at r206687.
highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

   GCC now has stricter checks for invalid command-line options
   New -Wunused-but-set-variable and -Wunused-but-set-parameter
      warnings
   Many platforms have been obsoleted
   Link-time optimization improvements
   A new switch -fstack-usage has been added
   A new function attribute leaf was introduced
   A new warning, enabled by -Wdouble-promotion
   Support for selectively enabling and disabling warnings via
      #pragma GCC diagnostic has been added
   There is now experimental support for some features from the
      upcoming C1X revision of the ISO C standard
   Improved experimental support for the upcoming C++0x ISO C++
      standard
   G++ now issues clearer diagnostics in several cases
   Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
   Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
      __float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

   The -fconserve-space flag has been deprecated
   Support for a new parameter --param case-values-threshold=n
      was added
   Interprocedural and Link-time optimization improvements
   A new built-in, __builtin_assume_aligned, has been added
   A new warning option -Wunused-local-typedefs was added
   A new experimental command-line option -ftrack-macro-expansion
      was added
   Support for atomic operations specifying the C++11/C11 memory
      model has been added
   There is support for some more features from the C11 revision
      of the ISO C standard
   Improved experimental support for the new ISO C++ standard,
      C++11
   Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
   A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

   GCC now uses C++ as its implementation language.  This means
      that to build GCC from sources, you will need a C++
      compiler that understands C++ 2003
   DWARF4 is now the default when generating DWARF debug
      information
   A new general optimization level, -Og, has been introduced
   A new option -ftree-partial-pre was added
   The option -fconserve-space has been removed
   The command-line options -fipa-struct-reorg and
      -fipa-matrix-reorg have been removed
   Interprocedural and Link-time optimization improvements
   AddressSanitizer, a fast memory error detector, has been
      added  [*2]
   A new -Wsizeof-pointer-memaccess warning has been added
   G++ now supports a -std=c++1y option for experimentation
      with features proposed for the next revision of the
      standard, expected around 2014
   Improved experimental support for the new ISO C++ standard,
      C++11
   A new port has been added to support AArch64
   Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
     https://code.google.com/p/address-sanitizer/
2014-03-01 08:41:18 +00:00
skrll
a9d89c3b8a Import of gcc 4.5.4. The (possibly incomplete) list of fixed bugs is
50617 [4.5/4.6/4.7 Regression] ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631
  45383 [4.5 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
  45606 [4.5 Regression] match a method prototyped a typedef alias with the original type (using stdlib)
  47398 [4.5 Regression] tree check: accessed elt 10 of tree_vec with 9 elts in tsubst, at cp/pt.c:10500
  49951 [4.5/4.6/4.7 Regression] Debug stepping behavior regarding g++ Class destructor has changed for the worse starting at gcc 4.5.0
  43190 [4.4 Regression] Used pointer typedefs eliminated from debug info
  43866 [4.4 Regression] wrong code with -fbounds-check -funswitch-loops
  43897 [4.4 Regression] IA-64 asm clobbers are ignored
  44777 [4.4 Regression] ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c
  46985 [4.5 Regression] ICE: SIGSEGV in is_gimple_min_invariant (gimple.c:2742) with -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-fre
  47780 [4.5 Regression] -fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all
  47858 [4.5/4.6/4.7 Regression] IPA-SRA decreases quality of debug info
  47903 [4.5 Regression] var-tracking.c: valgrind error
  48685 [4.5 Regression] ICE in gimplify_expr, at gimplify.c:7034
  52139 [4.5 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre
  48046 [4.5 Regression] Expected diagnostic "reference to 'type' is ambiguous" not given for function-local static declaration
  51406 [4.5/4.6/4.7 Regression][c++0x] Incorrect result of static_cast to rvalue reference to base class.
  43949 [4.4 Regression] bogus warning: array subscript is above array bounds
  45982 [4.4 Regression] PTA does not track integers
  48172 [4.5 Regression] incorrect vectorization of loop in GCC 4.5.* with -O3
  49115 [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught
  49279 [4.5 Regression] Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets
  50189 [4.5 Regression] Wrong code error in -O2 [-fstrict-enums] compile, target independent
  48660 [4.5/4.6 Regression] ARM ICE in expand_expr_real_1
  23656 Cross-compilation with newlib fails in libiberty
  37985 [4.5/4.6/4.7/4.8 Regression] unsigned char shift lacks "statement with no effect" warning
  38292 [4.5/4.6/4.7/4.8 Regression] corrupted profile info with -O[23] -fprofile-use
  40778 [4.5 Regression] Mudflap instrumentation missing in cloned function.
  40992 [4.4 Regression] cunroll ignoring asm size
  48306 [4.4 Regression] presence of gcc subdir with . in PATH causes breakdown
  49651 [4.4 Regression] nested lambdas and -O3 produced incorrect integer variable increments
  52223 [4.5/4.6 Regression] libffi's man page install breaks with multilibs and overridden mandir
  53418 [4.5 Regression] ICE at gimplify.c:7773
  53138 [4.7 Regression] spaceship operator miscompiled
  50091 [4.5/4.6/4.7 Regression] -fstack-check generates wrong assembly
  50979 architecture mismatch: "mul32" not enabled for "smul" or "umul"
  51187 miscompilation of genrecog.c at -O2 for --target=avr
  52717 thunk referenced in discarded section when building samba with -flto
  48742 [4.5 Regression] Internal error in gimplify_expr
  49120 [4.5 Regression] bogus "value computed is not used" warning (variable-length array in compound statement)
  49161 [4.5 Regression] Fix VRP on switch stmts
  49619 [4.5 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
  49621 [4.5 regression] ICE in trunc_int_for_mode, at explow.c:57
  49644 [4.5 Regression] post-increment of promoted operand is incorrect.
  51767 [4.5 Regression] ICE with degenerated asm goto
  51768 [4.5 Regression] ICE with invalid asm goto
  52736 [4.5/4.6/4.7/4.8 Regression] miscompilation: store to aliased __m128d is 8 Bytes off
  49440 [4.6 regression] Invalid dynamic_cast for unnamed namespace
  50565 [4.5/4.6/4.7 Regression] initializer element is not computable at load time
  52294 [4.7 Regression] [ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9
  41159 [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
  48822 [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.
  50162 [4.5 Regression] Wrong vectorization
  49381 Unresolved symbols in libgcjgc.a when linking gctest
  45786 [4.5 Regression] Relational operators .eq. and == are not recognized as equivalent
  48708 Invalid V2DI vector set insn generated
  50464 Using -Ofast -march=bdver1 results in internal compiler error: in extract_insn, at recog.c:2109
  51821 [4.5/4.6/4.7 Regression] 64bit > 32bit conversion produces incorrect results with optimizations
  52698 -maddress-mode=long doesn't work
  53228 [4.6/4.7/4.8 Regression] target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere
  42082 [C++0x] ICE on probably invalid with "canonical types differ for identical types"
  42652 vectorizer created unaligned vector insns
  42856 [4.4 Regression] FAIL: gcc.dg/torture/pr41555.c -O0 (test for excess errors)
  47733 psignal (int, const? char*) in libiberty/strsignal.h
  48743 -march=native mis-detects AMD K6-2+ / K6-3 as Athlon - compiled C fails with "illegal instruction"
  49038 [4.5/4.6/4.7 Regression] -ftree-vectorise introduces reads past end of array
  49448 arm-tab-linux-gnu-eabi enableds big endian when it should not
  49461 boehm-gc and gcj incompatible with pie
  50875 O3 and -mavx lead to internal compiler error: in find_reloads
  51161 [C++0x] Illegal static_cast to rvalue reference to ambiguous base class
  51393 Wrong parameter type for _mm256_insert_epi64 in avxintrin.h
  51444 [4.4 Regression]: Spurious "is used uninitialized" warning for structure with bitfields
  51835 ARM EABI violation when passing arguments to helper floating functions like __aeabi_d2iz
  52894 [4.5,4.6,4.7 Regression] Stage1 bootstrap fails with gcc-4.6.3: Infinite loop in pointer_set_insert
  53310 [4.5/4.6/4.7/4.8 Regression] EOSHIFT leaks memory
  53744 gcov version oscillates between 407* and 407p on branches
  52335 [4.4/4.5/4.6/4.7 Regression] I/O: -std=f95 rejects valid DELIM= in OPEN
  46192 [4.5/4.6/4.7 regression] wrong code for renaming of volatile packed array with address clause
  44581 [4.5/4.6/4.7 Regression] internal compiler error: in simplify_subreg
  49307 [4.5/4.6/4.7 Regression] ICE in spill_failure, at reload1.c:2113
  50163 [4.4/4.5/4.6/4.7 Regression] ICE: initialization expression
  50273 [4.5/4.6/4.7 Regression] -Walign-commons no longer effective
  52022 [4.5/4.6/4.7 Regression] Wrong-code with procedures passed as actual argument
  52452 [4.5/4.6/4.7/4.8 Regression] INTRINSIC cannot be applied to gfortran's ETIME
  25973 [4.5/4.6/4.7/4.8 Regression] Wrong warning: control reaches end of non-void function
  53521 [4.5/4.6/4.7/4.8 Regression] Memory leak with zero-sized array constructor
2012-09-18 06:09:45 +00:00
mrg
4fee23f98c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous
to review, please see http://gcc.gnu.org/gcc-4.5/changes.html (and the 4.2,
4.3 and 4.4 versions, too.)

this includes the core, c++, objc and the non java/ada/fortran parts of the
testsuite.
2011-06-21 01:19:41 +00:00