Commit Graph

105028 Commits

Author SHA1 Message Date
Richard Henderson
6aad068a7f ia64.c (ia64_expand_builtin): Use the correct mode for infq/huge_valq.
* config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
for infq/huge_valq.

From-SVN: r167009
2010-11-21 09:31:49 -08:00
Richard Henderson
a344c9f188 re PR rtl-optimization/46571 (bootstrap comparison failure in fortran/trans-openmp.c)
PR rtl-optimization/46571
	* gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
	(compute_hash_table_work): Use NONDEBUG_INSN_P.

From-SVN: r167007
2010-11-21 09:19:37 -08:00
Paul Koning
2dc211c5ff * config/mips/pdp11.md (negsi2): Fix wrong code.
From-SVN: r167006
2010-11-21 11:55:51 -05:00
Paul Koning
e4942929dd pdp11.c (pdp11_legitimate_address_p): New function.
* config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
* config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.

From-SVN: r167005
2010-11-21 11:52:36 -05:00
Joseph Myers
7a7e0183ba * sv.po: Update.
From-SVN: r167004
2010-11-21 15:02:48 +00:00
Eric Botcazou
a829f42ac6 * g++.dg/lto/20090303_0.C: Do not pass -fPIC on the SPARC.
From-SVN: r167003
2010-11-21 14:07:03 +00:00
Eric Botcazou
5a48683457 mips.c (machine_function): Rename load_label_length to load_label_num_insns.
* config/mips/mips.c (machine_function): Rename load_label_length to
	load_label_num_insns.
	(mips_load_label_length): Rename to...
	(mips_load_label_num_insns): ...this.  Adjust to first renaming.
	(mips_adjust_insn_length): Adjust to second renaming.  Fix thinko.

From-SVN: r167001
2010-11-21 10:36:54 +00:00
Uros Bizjak
2dc82a83be re PR bootstrap/46533 ([alpha] bootstrap failure)
PR target/46533
	* gcc.dg/inline-2.c: Do not scan for "jsr" on alpha*-*-*  targets.

From-SVN: r167000
2010-11-21 09:38:13 +01:00
Uros Bizjak
ce87131a5a re PR bootstrap/46533 ([alpha] bootstrap failure)
PR target/46533
	* config/alpha/predicates.md (direct_call_operand): Return false
	for !TARGET_SMALL_TEXT targets.

From-SVN: r166999
2010-11-21 09:18:31 +01:00
Michael Matz
b8c73637a4 re PR driver/46516 (Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory)
2010-11-21  Michael Matz  <matz@suse.de>
            Tobias Burnus  <burnus@net-b.de>

        PR driver/46516
        * gfortranspec.c (lang_specific_driver,
        lang_specific_pre_link): Load libgfortran.spec in
        lang_specific_pre_link unless found in the -L path.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166998
2010-11-21 08:56:12 +01:00
Anthony Green
8812e4d5dd moxie EH fixes
From-SVN: r166997
2010-11-21 03:49:21 +00:00
Anthony Green
52ae149de0 Fix build regression
From-SVN: r166996
2010-11-21 03:29:27 +00:00
Ian Lance Taylor
4de7c19456 Move ChangeLog entry to correct ChangeLog file.
From-SVN: r166994
2010-11-21 01:52:01 +00:00
Ian Lance Taylor
4da3b0f8d1 configure.ac: Only disable a language library if no language needs it.
* configure.ac: Only disable a language library if no language needs
	it.  Don't let --disable-libgcj uncondtionally disable libffi.
	* configure: Rebuild.

From-SVN: r166993
2010-11-21 01:49:05 +00:00
Joseph Myers
24a57808c1 tm.texi.in (HANDLE_SYSV_PRAGMA, [...]): Remove.
* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
	HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
	(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to
	HANDLE_SYSV_PRAGMA.
	* doc/tm.texi: Regenerate.
	* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
	HANDLE_PRAGMA_WEAK): Poison.
	* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
	define.
	* config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
	define.
	* config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_WEAK): Don't undefine.
	* config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
	define.
	* config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_WEAK): Don't undefine.
	* config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_PACK): Don't undefine.
	* config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
	* config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
	define.
	* config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
	* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
	* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.

c-family:
	* c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
	HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
	HANDLE_PRAGMA_VISIBILITY.
	* c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
	HANDLE_PRAGMA_VISIBILITY): Don't define.
	(HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.

cp:
	* name-lookup.c (handle_namespace_attrs): Don't check
	HANDLE_PRAGMA_VISIBILITY.
	* parser.c (cp_parser_namespace_definition): Don't check
	HANDLE_PRAGMA_VISIBILITY.

testsuite:
	* g++.dg/cpp/_Pragma1.C: Test for all non-Solaris targets.
	* gcc.dg/cpp/_Pragma6.c: Test for all non-Solaris targets.
	* gcc.dg/pack-test-1.c: Test for all non-default_packed targets.
	* gcc.dg/pack-test-2.c: Test for all targets.
	* gcc.dg/pragma-align.c: Test for all targets.
	* gcc.dg/pragma-pack-4.c: Do not skip for AVR.
	* gcc.dg/ucnid-10.c: Test for all targets.

From-SVN: r166992
2010-11-21 00:54:14 +00:00
GCC Administrator
7ea8e3f2f7 Daily bump.
From-SVN: r166991
2010-11-21 00:19:22 +00:00
Eric Botcazou
233db724fa re PR target/31100 (ASM_OUTPUT_ALIGN_WITH_NOP wrong with GNU as)
PR target/31100
	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
	* config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
	* config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.

From-SVN: r166986
2010-11-20 22:01:48 +00:00
Jan Hubicka
430c6cebe1 cgraph.c (ld_plugin_symbol_resolution_names): New.
* cgraph.c (ld_plugin_symbol_resolution_names): New.
	(dump_cgraph_node): Dump resolution.
	* cgraph.h (ld_plugin_symbol_resolution_names): Declare.
	(cgraph_comdat_can_be_unshared_p): Dclare.
	* lto-streamer-out.c (produce_symtab): Use
	cgraph_comdat_can_be_unshared_p.
	* ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
	(cgraph_comdat_can_be_unshared_p): New function based on logic
	in cgraph_externally_visible_p.
	(cgraph_externally_visible_p): Use it.
	(varpool_externally_visible_p): Virtual tables can be unshared.
	* varpool.c (dump_varpool_node): Dump resolution.

From-SVN: r166985
2010-11-20 21:10:46 +00:00
Jan Hubicka
671769c38a cgraph.c (ld_plugin_symbol_resolution_names): New.
* cgraph.c (ld_plugin_symbol_resolution_names): New.
	(dump_cgraph_node): Dump resolution.
	* cgraph.h (ld_plugin_symbol_resolution_names): Declare.
	(cgraph_comdat_can_be_unshared_p): Dclare.
	* lto-streamer-out.c (produce_symtab): Use
	cgraph_comdat_can_be_unshared_p.
	* ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
	(cgraph_comdat_can_be_unshared_p): New function based on logic
	in cgraph_externally_visible_p.
	(cgraph_externally_visible_p): Use it.
	(varpool_externally_visible_p): Virtual tables can be unshared.
	* varpool.c (dump_varpool_node): Dump resolution.

From-SVN: r166984
2010-11-20 20:57:31 +00:00
Jan Hubicka
700c498021 * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
From-SVN: r166983
2010-11-20 20:56:48 +00:00
Paolo Bonzini
1f980c2509 move config/ entries to config/ChangeLog
From-SVN: r166982
2010-11-20 20:33:11 +00:00
Ralf Wildenhues
e655d2bfa9 Fix missing regeneration of toplevel Makefile.in.
/:
	* Makefile.in: Regenerate.

From-SVN: r166981
2010-11-20 19:51:13 +00:00
Ralf Wildenhues
455c8f4873 PR other/46202: implement install-strip.
/:
	PR other/46202
	* configure.ac: Fix just-built in-tree STRIP name to be
	binutils/strip-new.
	* configure: Regenerate.
	* Makefile.def (install-strip-gcc, install-strip-binutils)
	(install-strip-opcodes, install-strip-ld, install-strip-itcl)
	(install-strip-sid): Mirror dependencies on non-strip variants
	of these targets on the respective -strip prerequisites.
	* Makefile.tpl (install-strip, install-strip-host)
	(install-strip-target): New targets.
	(install-strip-[+module+], install-strip-target-[+module+]):
	New targets.
	* Makefile.in: Regenerate.

gcc/:
	PR other/46202
	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
	variables.
	(AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
	shell quoting.
	(STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
	(install-strip): New target.
	(STRIPPROG): New variable, exported if STRIP is set.
	* doc/install.texi (Final install): Minor markup and code style
	fixes.  Document install-strip target.

fixincludes/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(all, check, install): Also mark as phony.

libgcc/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.

libiberty/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(install): Also mark as phony.

gnattools/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

libada/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

From-SVN: r166980
2010-11-20 19:37:08 +00:00
Nicola Pero
c3b39f2ee1 Fixed a typo in my ChangeLog entry for 2010-11-06
From-SVN: r166979
2010-11-20 19:20:54 +00:00
Paul Koning
58dd8e861c pdp11-protos.h (pdp11_initial_elimination_offset, [...]): New functions.
* config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
pdp11_regno_reg_class): New functions.
* config/pdp11/pdp11.md (define_constants): Add register numbers.
* config/pdp11/pdp11.c (pdp11_regno_reg_class,
pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
functions. 
* config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
frame pointer and argument pointer pseudo-registers.
(ARG_POINTER_REGNUM): Define.
(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
argument pointer. 
(FIRST_PARM_OFFSET): Update for argument pointer.
(INITIAL_FRAME_POINTER_OFFSET): Delete.
(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
(REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
frame pointer and argument pointer.

From-SVN: r166978
2010-11-20 14:11:32 -05:00
Nathan Froyd
a9aa2c3ae2 re PR c++/16189 (obfuscated error message for missing semicolon after declaration in C++)
gcc/c-family/
	PR c++/16189
	PR c++/36888
	PR c++/45331
	* c-common.h (keyword_begins_type_specifier): Declare.
	(keyword_is_storage_class_specifier): Declare.
	(keyword_is_type_qualifier): Declare.
	* c-common.c (keyword_begins_type_specifier): New function.
	(keyword_is_storage_class_specifier): New function.
	(keyword_is_type_qualifier): Declare.

gcc/cp/
	PR c++/16189
	PR c++/36888
	PR c++/45331
	* parser.c (cp_lexer_set_token_position): New function.
	(cp_lexer_previous_token_position): New function.
	(cp_lexer_previous_token): Call it.
	(cp_parser_class_specifier): Try to gracefully handle a missing
	semicolon.

gcc/testsuite/
	PR c++/16189
	PR c++/36888
	PR c++/45331
	* g++.dg/parse/semicolon3.C: New test.
	* g++.dg/debug/pr22514.C: Adjust.
	* g++.dg/init/error1.C: Adjust.
	* g++.dg/other/bitfield3.C: Adjust.
	* g++.dg/other/semicolon.C: Adjust.
	* g++.dg/parse/error14.C: Adjust.
	* g++.dg/parse/error5.C: Adjust.
	* g++.dg/parse/parameter-declaration-1.C: Adjust.
	* g++.dg/template/pr23510.C: Adjust.
	* g++.dg/template/pr39425.C: Adjust.
	* g++.old-deja/g++.robertl/eb125.C: Adjust.

From-SVN: r166977
2010-11-20 18:50:00 +00:00
Janne Blomqvist
c1775967e3 Fix size_type_node and sizetype in Fortran frontend
From-SVN: r166976
2010-11-20 15:55:14 +02:00
Jakub Jelinek
4942af9b83 re PR debug/46561 (-fcompare-debug failure (length) with -O2 -ftree-vectorize -ftree-parallelize-loops)
PR debug/46561
	* tree-parloops.c (try_create_redunction_list): Ignore debug stmts
	when looking for immediate uses.

	* gcc.dg/autopar/pr46561.c: New test.

From-SVN: r166975
2010-11-20 13:14:48 +01:00
Jakub Jelinek
8304847453 re PR c++/46538 (ICE: SIGSEGV in cp_make_fname_decl (decl.c:3690) on invalid code when using __PRETTY_FUNCTION__)
PR c++/46538
	* decl.c (cp_make_fname_decl): Return error_mark_node if
	current_binding_level has already sk_function_parms kind.

	* g++.dg/other/error34.C: New test.

From-SVN: r166974
2010-11-20 09:15:33 +01:00
GCC Administrator
d87d74e65b Daily bump.
From-SVN: r166972
2010-11-20 00:19:59 +00:00
Jakub Jelinek
e26ab5ecd2 re PR c++/46526 (VTable Problem?)
PR c++/46526
	* semantics.c (cxx_eval_call_expression): Unshare the result.

	* g++.dg/cpp0x/constexpr-base3.C: New test.

From-SVN: r166967
2010-11-20 00:50:21 +01:00
Jakub Jelinek
8e97bc2bdb re PR tree-optimization/45830 (Code+rodata increase with -ftree-switch-conversion)
PR tree-optimization/45830
	* stmt.c (expand_switch_using_bit_tests_p): New function.
	(expand_case): Use it.
	* tree.h (expand_switch_using_bit_tests_p): New prototype.
	* tree-switch-conversion.c (struct switch_conv_info): Add
	bit_test_uniq, bit_test_count and bit_test_bb fields.
	(check_range): Fix a comment.
	(check_process_case): Compute bit_test_uniq and bit_test_count.
	(create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
	allocation.
	(free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
	(constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
	(array_value_type): New function.
	(build_one_array): Use it, if it returned different type,
	fold_convert all constructor fields and convert back to the
	wider type in the generated code.
	(process_switch): Initialize bit_test_uniq, bit_test_count and
	bit_test_bb fields.  Don't optimize if expand_switch_using_bit_tests_p
	returned true.

	* gcc.target/i386/pr45830.c: New test.
	* gcc.c-torture/execute/pr45830.c: New test.

From-SVN: r166966
2010-11-20 00:48:57 +01:00
Jakub Jelinek
fb3303597e re PR c/46547 (internal compiler error when converting a complex to a bool)
PR c/46547
	* objc-act.c (in_late_binary_op): Remove.

From-SVN: r166964
2010-11-20 00:44:47 +01:00
Nicola Pero
d4e72c58e3 In gcc/objc/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_start_class_interface): Do not warn that class
        attributes are unimplemented.  Pass the attributes to start_class.
        (objc_start_category_interface): Updated call to start_class.
        (objc_start_class_implementation): Same change.
        (objc_start_category_implementation): Same change.
        (objc_build_class_component_ref): Warn if the class is deprecated.
        (build_private_template): Mark the template as deprecated if the
        class is deprecated.
        (start_class): Added 'attributes' argument.  Emit a warning if
        using a deprecated class as superclass of a class, or original
        class of a category.  Recognize the 'deprecated' attribute when
        starting and interface, and mark the interface with
        TREE_DEPRECATED if present.  Store attributes in the interface.
        
In gcc/testsuite/:
2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/attributes/class-attribute-1.m: Rewritten.
        * objc.dg/attributes/class-attribute-2.m: Same change.
        * obj-c++.dg/attributes/class-attribute-1.mm: Same change.
        * obj-c++.dg/attributes/class-attribute-2.mm: Same change.
        * objc.dg/fobjc-std-1.m: Updated.
        * obj-c++.dg/fobjc-std-1.mm: Updated.

From-SVN: r166963
2010-11-19 22:23:22 +00:00
Tobias Grosser
39986460d6 * config/cloog.m4: Use AS_HELP_STRING and fix help formatting.
From-SVN: r166962
2010-11-19 22:10:27 +00:00
Ian Lance Taylor
28d4beb904 Move entry to correct ChangeLog file.
From-SVN: r166961
2010-11-19 21:57:25 +00:00
Ian Lance Taylor
cbec9ca4d7 Move entry to correct ChangeLog.
From-SVN: r166960
2010-11-19 21:54:25 +00:00
Ian Lance Taylor
632e2a0763 configure.ac: Add target-libgo to target_libraries.
* configure.ac: Add target-libgo to target_libraries.  Set
	and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
	* Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
	(HOST_EXPORTS): Add GOC.
	(BASE_TARGET_EXPORTS): Add GOC.
	(GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
	(GOCFLAGS_FOR_TARGET): New variable.
	(EXTRA_HOST_FLAGS): Add GOC.
	(EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
	* Makefile.def (target_modules): Add libgo.
	(flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
	(dependencies): Add dependency from configure-target-libgo to
	configure-target-libffi and all-target-libstdc++-v3.  Add
	dependencies from all-target-libgo to all-target-libffi.
	(languages): Add go.
	* configure: Rebuild.
	* Makefile.in: Rebuild.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r166959
2010-11-19 21:47:18 +00:00
Michael Matz
2bdea53925 re PR tree-optimization/46077 (ICE in tree vectorization when compiling towns_audio.cpp from scummvm)
PR tree-optimization/46077
	* tree-chrec.c (eq_evolutions_p): Accept some expressions.

testsuite/
	PR tree-optimization/46077
	* gcc.dg/vect/O3-pr46077.c: New testcase.

From-SVN: r166958
2010-11-19 20:56:27 +00:00
Ian Lance Taylor
ce59187eb8 config-ml.in: Add Go support...
* config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
	compiler/flag environment variables.

From-SVN: r166956
2010-11-19 20:25:49 +00:00
Anatoly Sokolov
535bd17c2f mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
	* config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
	function.
	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

From-SVN: r166955
2010-11-19 22:30:18 +03:00
Joern Rennecke
a5cc92fdfb re PR target/46434 (crx-elf --enable-werror-always build fails)
PR target/46434
	* config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
Index: config/crx/crx.c
===================================================================
--- config/crx/crx.c	(revision 166609)
+++ config/crx/crx.c	(working copy)
@@ -613,6 +613,8 @@ static int crx_addr_reg_p (rtx addr_reg)
       return FALSE;
     }
 
+  gcc_assert (REGNO (reg) != CC_REGNUM);
+
   return TRUE;
 }
 
@@ -1439,17 +1441,12 @@ crx_expand_prologue (void)
 void
 crx_expand_epilogue (void)
 {
-  rtx return_reg;
-
   /* Nonzero if we need to return and pop only RA. This will generate a
    * different insn. This differentiate is for the peepholes for call as last
    * statement in function. */
   int only_popret_RA = (save_regs[RETURN_ADDRESS_REGNUM]
 			&& (sum_regs == UNITS_PER_WORD));
 
-  /* Return register.  */
-  return_reg = gen_rtx_REG (Pmode, RETURN_ADDRESS_REGNUM);
-
   if (frame_pointer_needed)
     /* Restore the stack pointer with the frame pointers value */
     emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);

From-SVN: r166954
2010-11-19 19:22:27 +00:00
Uros Bizjak
0f346928b9 mode-switching.c (optimize_mode_switching): Use FOR_BB_INSNS instead of open-coded for loop.
* mode-switching.c (optimize_mode_switching): Use
	FOR_BB_INSNS instead of open-coded for loop.
	* cfgrtl.c (redirect_branch_edge): Ditto.

From-SVN: r166953
2010-11-19 19:56:01 +01:00
Joern Rennecke
e4746336dc re PR target/46436 (m68hc11-elf --enable-werror-always build fails)
PR target/46436
	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
	to accomodate 32 bit HOST_WIDE_INT.
	(m68hc11_emit_logical): Remove unused variable insn.
	(m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
	this_insn_uses_iy before use.

From-SVN: r166952
2010-11-19 18:40:24 +00:00
Joseph Myers
5386338c2c re PR c/46547 (internal compiler error when converting a complex to a bool)
PR c/46547
	* c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
	* c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.

c-family:
	* c-common.c (in_late_binary_op): Define.
	(c_common_truthvalue_conversion): Check in_late_binary_op before
	calling c_save_expr.
	* c-common.h (in_late_binary_op): Declare.

testsuite:
	* gcc.c-torture/compile/pr46547-1.c: New test.

From-SVN: r166951
2010-11-19 18:32:57 +00:00
Rainer Orth
7a336abaa1 gcc-defs.exp (gcc-set-multilib-library-path): Use eval to exec $compiler.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Use eval to
	exec $compiler.
	* lib/gfortran.exp (gfortran_link_flags): Remove braces around
	$GFORTRAN_UNDER_TEST.
	(gfortran_init): Use -B to specify specpath, add trailing /.

From-SVN: r166950
2010-11-19 18:24:25 +00:00
Michael Meissner
fd438373cd Add PowerPC target attribute/pragma support
From-SVN: r166947
2010-11-19 17:27:18 +00:00
Joseph Myers
69ccdddbb8 common.opt (debug_struct_ordinary, [...]): New Variable entries.
* common.opt (debug_struct_ordinary, debug_struct_generic): New
	Variable entries.
	* dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
	should_emit_struct_debug): Move from opts.c.
	* flag-types.h (enum debug_struct_file): Move from opts.c.
	* flags.h (should_emit_struct_debug): Remove.
	(base_of_path): Declare.
	(set_struct_debug_option): Add gcc_options parameter.
	* optc-gen.awk, opth-gen.awk: Handle array variables.
	* opts.c (enum debug_struct_file, debug_struct_ordinary,
	debug_struct_generic): Remove.
	(set_struct_debug_option): Add gcc_options parameter.
	(base_of_path): Remove static.
	(main_input_basename, main_input_baselength, matches_main_base,
	dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
	Remove.
	* toplev.c (main_input_basename, main_input_baselength): Define
	here.
	* toplev.h (main_input_basename, main_input_baselength): Declare
	here.

c-family:
	* c-opts.c (c_common_handle_option): Update calls to
	set_struct_debug_option.

From-SVN: r166944
2010-11-19 13:30:38 +00:00
Joseph Myers
6a1f6c9c86 common.opt (flag_instrument_functions_exclude_functions, [...]): New Variable definitions.
* common.opt (flag_instrument_functions_exclude_functions,
	flag_instrument_functions_exclude_files): New Variable
	definitions.
	* flags.h (flag_instrument_functions_exclude_p): Don't declare.
	* gimplify.c (char_p): Declare type and vectors.
	(flag_instrument_functions_exclude_p): Moved from opts.c.  Make
	static.
	* opts.c (flag_instrument_functions_exclude_functions,
	flag_instrument_functions_exclude_files): Remove.
	(add_comma_separated_to_vector): Take void **.
	(flag_instrument_functions_exclude_p): Move to gimplify.c.
	(common_handle_option): Use options structure for
	-finstrument-functions-exclude- options.

From-SVN: r166943
2010-11-19 13:27:18 +00:00
Joseph Myers
21bf155820 options.texi (Var): Document effects of Defer.
* doc/options.texi (Var): Document effects of Defer.
	(Defer): Document.
	* opt-functions.awk (var_type, var_set): Handle deferred options.
	* opts-common.c (set_option): Handle CLVC_DEFER.
	* common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
	fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
	fstack-limit-symbol=): Mark as deferred.
	* opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
	plugin.h.
	(print_filtered_help): Don't report state of CLVC_DEFER options.
	(common_handle_option): Move code for OPT_fcall_used_,
	OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
	OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
	OPT_fstack_limit_symbol_ to opts-global.c.
	(option_enabled, get_option_state): Handle CLVC_DEFER.
	* opts.h: Include vec.h.
	(enum cl_var_type): Add CLVC_DEFER.
	(cl_deferred_option): Define type and vectors.
	(handle_common_deferred_options): Declare.
	* opts-global.c: New.
	* toplev.c (toplev_main): Call handle_common_deferred_options
	* Makefile.in (OPTS_H): Include $(VEC_H).
	(OBJS-common): Include opts-global.o.
	(opts.o): Update dependencies.
	(opts-global.o): Add dependencies.

From-SVN: r166942
2010-11-19 13:25:39 +00:00