Commit Graph

114484 Commits

Author SHA1 Message Date
Georg-Johann Lay
8c57e5473e Implement light-weight DImode support.
gcc/
	Implement light-weight DImode support.
	* config/avr/avr-dimode.md: New file.
	* config/avr/avr.md: Include it.
	(adjust_len): Add plus64, compare64.
	(HIDI): Remove code iterator.
	(code_stdname): New code attribute.
	(rotx, rotsmode): Remove DI.
	(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
	as code iterator.
	* config/avr/avr-protos.h (avr_have_dimode): New.
	(avr_out_plus64, avr_out_compare64): New.
	* config/avr/avr.c (avr_out_compare): Handle DImode.
	(avr_have_dimode): New variable definition and initialization.
	(avr_out_compare64, avr_out_plus64): New functions.
	(avr_out_plus_1): Use simplify_unary_operation to negate xval.
	(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
	(avr_compare_pattern): Skip DImode comparisons.

libgcc/
	Implement light-weight DImode support.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
	_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
	* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
	__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.

From-SVN: r182794
2012-01-02 12:30:56 +00:00
Richard Sandiford
5f595f1675 re PR target/51729 (dspr2-MULT.c and dspr2-MULTU.c fail for MIPS)
gcc/testsuite/
	PR target/51729
	* gcc.target/mips/dspr2-MULT.c: Remove -ffixed-hi -ffixed-lo.
	XFAIL.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.

From-SVN: r182793
2012-01-02 11:33:35 +00:00
Richard Sandiford
e3763a5b44 pr46309.c: Add -mtune=octeon2 for MIPS.
gcc/testsuite/
	* gcc.dg/pr46309.c: Add -mtune=octeon2 for MIPS.

From-SVN: r182792
2012-01-02 11:11:45 +00:00
Richard Sandiford
c77233981a constexpr-rom.C: Look for .rdata rather than rodata for MIPS.
gcc/testsuite/
	* g++.dg/cpp0x/constexpr-rom.C: Look for .rdata rather than rodata
	for MIPS.

From-SVN: r182791
2012-01-02 11:03:43 +00:00
Richard Sandiford
2da60e960b io_real_boz_3.f90: Require fortran_real_16.
gcc/testsuite/
	* gfortran.dg/io_real_boz_3.f90: Require fortran_real_16.
	* gfortran.dg/io_real_boz_4.f90: Likewise.
	* gfortran.dg/io_real_boz_5.f90: Likewise.

From-SVN: r182789
2012-01-02 11:00:30 +00:00
Richard Guenther
d18ede3732 re PR bootstrap/51686 ("make install-strip-gcc" didn't install liblto-plugin* files)
2012-01-02  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/51686
	* Makefile.def (install-strip-gcc): Depend on install-strip-lto-plugin.
	* Makefile.in: Regenerate.

From-SVN: r182788
2012-01-02 10:59:04 +00:00
Richard Sandiford
ccd0ce1148 devirt2.C: Add -mno-abicalls for MIPS.
gcc/testsuite/
	* g++.dg/opt/devirt2.C: Add -mno-abicalls for MIPS.

From-SVN: r182787
2012-01-02 10:57:23 +00:00
Revital Eres
8b61e8631a SMS: Prevent the creation of reg-moves for definitions with MODE_CC
From-SVN: r182786
2012-01-02 10:54:00 +00:00
Richard Guenther
ba768e1850 re PR other/51679 (spurious parenthesis for -fassociative-math in manual and man page)
2012-01-02  Richard Guenther  <rguenther@suse.de>

	PR other/51679
	* invoke.texi (fassociative-math): Remove spurious paranthesis.

From-SVN: r182785
2012-01-02 10:46:01 +00:00
Eric Botcazou
6a521d169d * gnatvsn.ads (Current_Year): Bump to 2012.
From-SVN: r182783
2012-01-02 10:30:54 +00:00
Tobias Burnus
5a155783a3 re PR fortran/51682 (Coarray ICEs when compiling with -fdefault-integer-8)
2012-01-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51682
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        trans_num_images, conv_intrinsic_cobound): Fold_convert the
        caf_num_images/caf_this_images variables to the correct int kind.

2012-01-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51682
        * gfortran.dg/coarray/image_index_3.f90: New.

From-SVN: r182781
2012-01-02 10:54:37 +01:00
GCC Administrator
6e7ff14fe1 Daily bump.
From-SVN: r182780
2012-01-02 00:18:49 +00:00
Paolo Carlini
11cc5f49dd re PR c++/16603 (Incorrect enumerator type before enumeration's closing brace)
/cp
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/16603
	* decl.c (build_enumerator): Don't call perform_integral_promotions
	on the value.

/testsuite
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/16603
	* g++.dg/parse/enum8.C: New.

From-SVN: r182776
2012-01-01 22:33:31 +00:00
Paolo Carlini
9f88ff5a1f re PR c++/51379 ([C++0x] [DR 799] reinterpret_cast is not particularly useful)
/cp
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51379
	* typeck.c (build_reinterpret_cast_1): Implement resolution of
	DR 799.

/testsuite
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51379
	* g++.dg/conversion/reinterpret4.C: New.
	* g++.dg/conversion/reinterpret1.C: Adjust.

From-SVN: r182775
2012-01-01 20:21:36 +00:00
Paolo Carlini
b81e8df838 constexpr-delegating2.C: Add missing piece.
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/constexpr-delegating2.C: Add missing piece.

From-SVN: r182774
2012-01-01 20:02:02 +00:00
Jakub Jelinek
66f1b195f6 gcc.c (process_command): Update copyright notice dates.
gcc/
	* gcc.c (process_command): Update copyright notice dates.
	* gcov.c (print_version): Likewise.
	* gcov-dump.c (print_version): Likewise.
	* mips-tfile.c (main): Likewise.
	* mips-tdump.c (main): Likewise.
gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
gcc/java/
	* jcf-dump.c (version): Update copyright notice dates.
libmudflap/
	* mf-runtime.c (__mf_usage): Update copyright notice dates.
libjava/
	* gnu/gcj/convert/Convert.java (version): Update copyright notice
	dates.
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
libjava/classpath/
	* gnu/java/rmi/registry/RegistryImpl.java (version): Update
	copyright notice dates.
	* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.

From-SVN: r182773
2012-01-01 20:09:46 +01:00
Fabien Chêne
5135baed7d crash25.C: Adjust.
gcc/testsuite/ChangeLog

2011-12-31  Fabien Chene  <fabien@gcc.gnu.org>

	* g++.old-deja/g++.brendan/crash25.C: Adjust.
	* g++.old-deja/g++.brendan/crash56.C: Likewise.
	* g++.old-deja/g++.jason/access14.C: Likewise.
	* g++.old-deja/g++.jason/access8.C: Likewise.
	* g++.old-deja/g++.jason/access1.C: Likewise.
	* g++.old-deja/g++.other/access3.C: Likewise.
	* g++.old-deja/g++.other/access5.C: Likewise.
	* g++.old-deja/g++.law/unsorted1.C: Likewise.
	* g++.old-deja/g++.law/visibility22.C: Likewise.
	* g++.old-deja/g++.law/visibility26.C: Likewise.
	* g++.old-deja/g++.mike/p2746.C: Likewise.
	* g++.dg/debug/using1.C: Likewise.
	* g++.dg/lookup/using51.C: Likewise.
	* g++.dg/inherit/using5.C: Likewise.
	* g++.dg/inherit/pr30297.C: Likewise.
	* g++.dg/inherit/access8.C: Likewise.
	* g++.dg/torture/pr39362.C: Likewise.
	* g++.dg/template/crash13.C: Likewise.
	* g++.dg/template/using10.C: Likewise.

gcc/cp/ChangeLog

2011-12-31  Fabien Chene  <fabien@gcc.gnu.org>

	* parser.c (cp_parser_using_declaration): Add a warning about
	deprecated access declarations when no errors were encountered
	while parsing the access declaration. Save the first token in
	order to emit the warning at the right place.

From-SVN: r182772
2012-01-01 18:26:23 +01:00
Thomas Koenig
b4cbc46c32 backport: re PR fortran/51502 (Potentially wrong code generation due to wrong implict_pure check)
2012-01-01  Thomas König  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/51502
	* lib/gcc-dg.exp (scan-module-absence):  New function.
	* gfortran.dg/implicit_pure_2.f90:  New test.

From-SVN: r182771
2012-01-01 16:27:45 +00:00
Ira Rosen
f2c74cc43a re PR tree-optimization/51704 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:620 with -O3 -fno-tree-copy-prop -fno-tree-fre)
PR tree-optimization/51704
        * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
        a use is inside the basic block or loop before accessing its
        vect info.

From-SVN: r182769
2012-01-01 13:52:13 +00:00
Paolo Carlini
1d2314ed1c re PR c++/51723 ([C++0x] delegating constructor ICE)
2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51723
	* g++.dg/cpp0x/constexpr-delegating2.C: New.

From-SVN: r182768
2012-01-01 13:31:48 +00:00
Jan Hubicka
06f1716bd7 re PR rtl-optimization/51069 (ICE in verify_loop_structure, at cfgloop.c:1559)
PR rtl-optimization/51069
	* cfgloopmanip.c (remove_path): Removing path making irreducible
	region unconditional makes BB part of the region.
	* gcc.c-torture/compile/pr51069.c: New testcase.

From-SVN: r182767
2012-01-01 12:07:34 +00:00
GCC Administrator
41d2ea5798 Daily bump.
From-SVN: r182765
2012-01-01 00:18:59 +00:00
Jakub Jelinek
45a5b21a77 re PR tree-optimization/51683 (__builtin_memcpy etc. with constant first argument optimized away by ccp)
PR tree-optimization/51683
	* tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
	calls with side-effects.
	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.

	* gcc.dg/pr51683.c: New test.

From-SVN: r182761
2012-01-01 00:53:57 +01:00
Alexandre Oliva
6f2ffb4b99 cselib.h (cselib_add_permanent_equiv): Declare.
* cselib.h (cselib_add_permanent_equiv): Declare.
(canonical_cselib_val): New.
* cselib.c (new_elt_loc_list): Rework to support value
equivalences.  Adjust all callers.
(preserve_only_constants): Retain value equivalences.
(references_value_p): Retain preserved values.
(rtx_equal_for_cselib_1): Handle value equivalences.
(cselib_invalidate_regno): Use canonical value.
(cselib_add_permanent_equiv): New.
* alias.c (find_base_term): Reset locs lists while recursing.
* var-tracking.c (val_bind): New.  Don't add equivalences
present in cselib table, compared with code moved from...
(val_store): ... here.
(val_resolve): Use val_bind.
(VAL_EXPR_HAS_REVERSE): Drop.
(add_uses): Do not create MOps for addresses.  Do not mark
non-REG non-MEM expressions as requiring resolution.
(reverse_op): Record reverse as a cselib equivalence.
(add_stores): Use it.  Do not create MOps for addresses.
Do not require resolution for non-REG non-MEM expressions.
Simplify support for reverse operations.
(compute_bb_dataflow): Drop reverse support.
(emit_notes_in_bb): Likewise.
(create_entry_value): Rename to...
(record_entry_value): ... this.  Use cselib equivalences.
(vt_add_function_parameter): Adjust.

From-SVN: r182760
2011-12-31 20:02:48 +00:00
Paolo Carlini
32210fd616 re PR c++/51397 (static_assert message formatting)
/cp
2011-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51397
	* semantics.c (finish_static_assert): Use %s instead of %E for
	the error message.

/testsuite
2011-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51397
	* g++.dg/cpp0x/static_assert6.C: New.

From-SVN: r182757
2011-12-31 17:29:30 +00:00
Jonathan Wakely
553fb1c201 Fix _Locale vs. _Local typos.
From-SVN: r182756
2011-12-31 17:04:10 +00:00
Uros Bizjak
b670ab581e vrp47: Pass -march=i586 for ia32 target.
* gcc.dg/tree-ssa/vrp47: Pass -march=i586 for ia32 target.

From-SVN: r182755
2011-12-31 16:59:56 +01:00
Thomas Koenig
f29041dd8e re PR fortran/51502 (Potentially wrong code generation due to wrong implict_pure check)
2011-12-31  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/51502
	* expr.c (gfc_check_vardef_context):  When determining
	implicit pure status, also check for variable definition
	context.  Walk up namespaces until a procedure is
	found to reset the implict pure attribute.
	* resolve.c (gfc_implicit_pure):  Walk up namespaces
	until a procedure is found.

2011-12-31  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/51502
	* lib/gcc-dg.exp (scan-module-absence):  New function.
	* gfortran.dg/implicit_pure_2.f90:  New test.

From-SVN: r182754
2011-12-31 08:18:52 +00:00
GCC Administrator
a78873e4f3 Daily bump.
From-SVN: r182751
2011-12-31 00:18:22 +00:00
Michael Meissner
ebff619b53 Fix thinko in setting target options
From-SVN: r182747
2011-12-30 23:39:47 +00:00
Paolo Carlini
73ac190a5e re PR c++/51316 (alignof doesn't work with arrays of unknown bound)
/c-family
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51316
	* c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
	of array types with an unknown bound.

/testsuite
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51316
	* g++.dg/cpp0x/alignof4.C: New.

From-SVN: r182746
2011-12-30 21:11:20 +00:00
Anatoly Sokolov
30c34af582 bfin.h (REGISTER_MOVE_COST, [...]): Remove.
* config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
	* config/bfin/bfin-protos.h (bfin_register_move_cost,
	bfin_memory_move_cost): Remove.
	* config/bfin/bfin.c (bfin_register_move_cost,
	bfin_memory_move_cost): Make static. Change arguments type from
	enum reg_class to reg_class_t and from int to bool.
	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r182745
2011-12-30 22:56:49 +04:00
Nathan Sidwell
bdbdc4e1cd gcov.c (total_lines, [...]): New global vars.
* gcov.c (total_lines, total_executed): New global vars.
	(generate_results): Call executed_summary.
	(executed_summary): New function, broken out of ...
	(function_summary): ... here.  Call it.
	* coverage.c (coverage_finish): Also check for local_tick == -1.
	* gcov-dump (tag_function): Correct labelling typo.

From-SVN: r182744
2011-12-30 18:22:16 +00:00
Nathan Sidwell
04dbc287a6 libgcov.c (gcov_crc32): Remove global var.
* libgcov.c (gcov_crc32): Remove global var.
	(free_fn_data): New function.
	(buffer_fn_data): Pass in filename, more robust error recovery.
	(crc32_unsigned): New function.
	(gcov_exit): More robust detection of new program. More robust
	error recovery.
	(__gcov_init): Do not update program's crc here.

From-SVN: r182743
2011-12-30 18:08:56 +00:00
Jonathan Wakely
84de2982de extensions.xml: Improve markup and note that some extensions are included in C++11.
* doc/xml/manual/extensions.xml: Improve markup and note that some
	extensions are included in C++11.
	* doc/xml/manual/concurrency_extensions.xml: Likewise.

From-SVN: r182742
2011-12-30 13:46:18 +00:00
Paolo Carlini
f32fd5aaec re PR libstdc++/51711 (regex.h contains incorrect code)
2011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51711
	* include/bits/regex.h (regex_replace): Fix thinko.
	* testsuite/28_regex/algorithms/regex_replace/char/51711.cc: New.
	* testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc:
	Likewise.

From-SVN: r182740
2011-12-30 11:40:37 +00:00
GCC Administrator
e6386103dd Daily bump.
From-SVN: r182738
2011-12-30 00:19:02 +00:00
Paolo Carlini
cc74ac5dbc hashtable_policy.h (struct _Ebo_helper<>): Don't use _N, badname on Solaris; minor stylistic changes.
2011-12-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (struct _Ebo_helper<>): Don't use
	_N, badname on Solaris; minor stylistic changes.

From-SVN: r182734
2011-12-29 22:04:16 +00:00
Michael Meissner
567210bcd2 Update PR 51623, to eliminate checks against being in the text section.
From-SVN: r182731
2011-12-29 21:13:10 +00:00
Michael Meissner
c1a46bc689 Fix 50988 testsuite failures
From-SVN: r182728
2011-12-29 18:30:53 +00:00
François Dumont
a188284c61 re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time)
2011-12-29  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/51608
	* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
	way the _Equal functor is used depending on whether hash code is
	cached or not.
	(_Ebo_helper<>): New helper type to introduce EBO when possible.
	(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
	_Equal functor management...
	(_Hashtable_base): ...here, new, use _Equal_helper.
	(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
	New, use _Hash_code_base, implementation of...
	* include/bits/hashtable.h (_Hashtable<>::local_iterator,
	_Hashtable<>::const_local_iterator): ...those. Add static assertions
	checking that some functors are empty depending on whether hash code
	is cache or not.
	(_Hashtable<>::_M_bucket_index): New overloads using current bucket
	count, use through out the _Hastable<> implementation.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>): Cache hash code iff hash functor is not
	empty and not final.
	* include/bits/unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
	Adapt to match new local iterator implementation.
	* include/debug/unordered_set (unordered_set<>::_S_to_local,
	unordered_multiset<>::_S_to_local): Likewise.
	* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
	unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
	local iterators.
	* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
	unordered_multiset<>::_M_profile_destruct): Likewise.
	* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
	Fix error line.
	* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.

From-SVN: r182727
2011-12-29 17:58:51 +00:00
Michael Meissner
497081e8cf Fix 51702 testsuite failures
From-SVN: r182726
2011-12-29 17:45:11 +00:00
Michael Eager
1893a69a50 microblaze.md: Add expander for simple_return...
* config/microblaze/microblaze.md: Add expander for simple_return,
  return, add return_internal and simple_return_internal insns.

From-SVN: r182725
2011-12-29 15:50:28 +00:00
Jonathan Wakely
10b293bbd0 re PR libstdc++/51701 (Remove reference to Henry Suter's RWLock from documentation)
PR libstdc++/51701
	* doc/xml/manual/extensions.xml (Input and Output): Remove reference
	to RWLock class.

From-SVN: r182724
2011-12-29 15:41:37 +00:00
Oleg Endo
91afd29bd7 sh.h (BRANCH_COST): Use sh_branch_cost variable.
* config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
	* config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
        expression.

From-SVN: r182723
2011-12-29 15:11:47 +00:00
Kai Tietz
81ed42d319 bitfield3.C: Make sure test runs for windows targets without activated ms-bitfields option.
* g++.dg/abi/bitfield3.C: Make sure test runs
        for windows targets without activated ms-bitfields option.

From-SVN: r182722
2011-12-29 11:03:26 +01:00
Kai Tietz
08a2f72255 new3.C: Adjust test for mingw targets to use static-version.
* g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
       targets to use static-version.
       * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
       * g++.old-deja/g++.abi/arraynew.C: Likewise.
       * g++.old-deja/g++.eh/new1.C: Likewise.
       * g++.old-deja/g++.eh/new2.C: Likewise.

From-SVN: r182721
2011-12-29 11:01:29 +01:00
Thomas Koenig
d8e5eb5711 dependency.c (gfc_dep_compare_functions): Document new behavior for REALs and complex.
2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dependency.c (gfc_dep_compare_functions):  Document
	new behavior for REALs and complex.  Add comment to cases
	where only INTEGERs are handled.  Compare REAL and COMPLEX
	constants, returning 0 and -2 only.  Add assert to make
	sure that only integer constants are compared.

2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/function_optimize_9.f90:  New test.

From-SVN: r182720
2011-12-29 09:20:01 +00:00
GCC Administrator
663b7c9305 Daily bump.
From-SVN: r182719
2011-12-29 00:18:53 +00:00
Ian Lance Taylor
3d2445684a * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go.
From-SVN: r182717
2011-12-29 00:17:55 +00:00