Commit Graph

116633 Commits

Author SHA1 Message Date
Manuel López-Ibáñez
8b5e75a5c6 re PR c/43772 (Errant -Wlogical-op warning when testing limits)
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/43772
testsuite/
	* c-c++-common/pr43772.c: New.

From-SVN: r187195
2012-05-05 11:32:26 +00:00
Manuel López-Ibáñez
f2c4a78515 re PR c/43772 (Errant -Wlogical-op warning when testing limits)
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/43772
c-family/
	* c-common.c (warn_logical_operator): Do not warn if either side
	is already true or false.
testsuite/
	* c-c++-common/pr43772.c: New.

From-SVN: r187194
2012-05-05 11:30:57 +00:00
Paul Thomas
8f75db9fd3 re PR fortran/41600 ([OOP] SELECT TYPE with associate-name => exp: Arrays not supported)
2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41600
	* trans-array.c (build_array_ref): New static function.
	(gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
	* trans-expr.c (gfc_get_vptr_from_expr): New function.
	(gfc_conv_derived_to_class): Add a new argument for a caller
	supplied vptr and use it if it is not NULL.
	(gfc_conv_procedure_call): Add NULL to call to above.
	symbol.c (gfc_is_associate_pointer): Return true if symbol is
	a class object.
	* trans-stmt.c (trans_associate_var): Handle class associate-
	names.
	* expr.c (gfc_get_variable_expr): Supply the array-spec if
	possible.
	* trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
	for class types.
	* trans.h : Add prototypes for gfc_get_vptr_from_expr and
	gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
	* resolve.c (resolve_variable): For class arrays, ensure that
	the target expression has all the necessary _data references.
	(resolve_assoc_var): Throw a "not yet implemented" error for
	class array selectors that need a temporary.
	* match.c (copy_ts_from_selector_to_associate,
	select_derived_set_tmp, select_class_set_tmp): New functions.
	(select_type_set_tmp): Call one of last two new functions.
	(gfc_match_select_type): Copy_ts_from_selector_to_associate is
	called if associate-name is typed.

	PR fortran/53191
	* resolve.c (resolve_ref): C614 applied to class expressions.


2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41600
	* gfortran.dg/select_type_26.f03 : New test.
	* gfortran.dg/select_type_27.f03 : New test.

	PR fortran/53191
	* gfortran.dg/select_type_28.f03 : New test.

From-SVN: r187192
2012-05-05 08:49:43 +00:00
Janne Blomqvist
4ecad771dd PR 49010,24518 MOD/MODULO fixes.
gcc/fortran:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/49010
	PR fortran/24518
	* intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
	* simplify.c (gfc_simplify_mod): Use mpfr_fmod.
	(gfc_simplify_modulo): Likewise, use copysign to fix the result if
	zero.
	* trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
	builtin_fmod is always available. For modulo, call copysign to fix
	the result when signed zeros are enabled.


testsuite:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/49010
	PR fortran/24518
	* gfortran.dg/mod_sign0_1.f90: New test.
	* gfortran.dg/mod_large_1.f90: New test.

From-SVN: r187191
2012-05-05 10:59:22 +03:00
Janne Blomqvist
68ee9c0807 Fix handling of temporary files.
2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
        algorithm for choosing temp directory.


2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * config.h.in: Regenerated.
        * configure: Regenerated.
        * configure.ac: Add checks for getegid and __secure_getenv.
        * io/unix.c (P_tmpdir): Fallback definition for macro.
        (tempfile_open): New function.
        (tempfile): Use secure_getenv, call tempfile_open to try each
        directory in turn.
        * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
        (secure_getenv): New macro/prototype.
        * runtime/environ.c (secure_getenv): New function.
        (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
        * runtime/main.c (find_addr2line): Use secure_getenv.

From-SVN: r187190
2012-05-05 09:30:51 +03:00
GCC Administrator
9154c66213 Daily bump.
From-SVN: r187188
2012-05-05 00:18:18 +00:00
Paolo Carlini
db327b6469 semantics.c (cxx_eval_constant_expression, [...]): Tidy.
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

    	* semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.

From-SVN: r187184
2012-05-04 22:43:33 +00:00
Andrew Pinski
683c600b1f expr.c (get_def_for_expr_class): New function.
2012-05-04  Andrew Pinski  <apinski@cavium.com>

	* expr.c (get_def_for_expr_class): New function.
	(convert_tree_comp_to_rtx): New function.
	(expand_cond_expr_using_cmove): New function.
	(expand_expr_real_2 <case COND_EXPR>): Call
	expand_cond_expr_using_cmove first and return if it succeeds.
	Remove the check for HAVE_conditional_move since we should have
	already converted it to a conditional move.
	* config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
	modes of DImode for 32bits and TImode.

From-SVN: r187183
2012-05-04 14:03:27 -07:00
Steven Bosscher
417232534c re PR other/29442 (insn-attrtab has grown too large)
PR other/29442
	* read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
	(print_md_ptr_loc, print_c_condition): Use them.
	* read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
	* genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
	attr_file, dfa_file, latency_file): New global variables.
	(write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
	write_upcase, write_indent, write_length_unit_log, write_test_expr,
	write_attr_get, write_insn_cases, write_eligible_delay,
	write_const_num_delay_slots): Accept FILE pointer and toss it around.
	Update all callers.
	(write_header, open_outfile, handle_arg): New funcions.
	(make_automaton_attrs): Write prototypes as extern to the output
	files.
	(main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
	names from the command line.  Open the output files and write out
	internal functions for DFA functions to dfa_file_name, insn latency
	functions to latency_file_name, and everything else to attr_file.
	* Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
	(BACKEND): Build libbackend first.
	(MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
	(.PRECIOUS): Likewise.
	(insn-dfatab.o): New rule.
	(insn-latencytab.o): New rule.
	(simple_rtl_generated_c): Do not include insn-attrtab.c.
	(s-attrtab): New rule.

From-SVN: r187181
2012-05-04 20:04:47 +00:00
Steven Bosscher
81e7aa8e7a * doc/md.texi (attr_flag): Update for changes of previous revision.
From-SVN: r187179
2012-05-04 19:40:02 +00:00
Steven Bosscher
593dbe1191 rtl.def (ATTR_FLAG): Remove probability indicating flags.
* rtl.def (ATTR_FLAG): Remove probability indicating flags.
	* genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
	ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
	* reorg.c (get_jump_flags): Do not set the removed flags.

From-SVN: r187178
2012-05-04 19:37:59 +00:00
Ian Lance Taylor
780140d3af compiler: Correct parse of for with possible composite literal.
Fixes, e.g., "for first := true; first; first = false {".

From-SVN: r187176
2012-05-04 19:33:18 +00:00
Tobias Burnus
ed4639a996 re PR fortran/53175 (link failure for private module variables used in function specification)
2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53175
        * resolve.c (resolve_variable): Set public_used
        if a private module variable is used in a (public)
        specification expression.
        * trans-decl.c (gfc_finish_var_decl): Mark those
        TREE_PUBLIC.

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53175
        gfortran.dg/public_private_module_5.f90: New.

From-SVN: r187175
2012-05-04 20:54:25 +02:00
Tobias Burnus
6ba84c3143 re PR fortran/53111 (Derived types cannot be USE-associated again with -std=f95)
2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * resolve.c (resolve_fl_derived): Fix -std=f95
        diagnostic for generic vs. DT names.

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * gfortran.dg/constructor_7.f90: New.
        * gfortran.dg/constructor_8.f90: New.

From-SVN: r187174
2012-05-04 20:53:17 +02:00
Uros Bizjak
cef31f9c56 re PR target/53228 (target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere)
PR target/53228
	* config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
	(TARGET_CMOV): Rename from TARGET_CMOVE.
	(TARGET_CMOVE): New define.
	* config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
	Do not set TARGET_CMOVE here.

From-SVN: r187168
2012-05-04 18:42:23 +02:00
Dodji Seketeli
33d11b9745 Enable -Wunused-local-typedefs when -Wall or -Wunused is on
Now that the libstdc++ testsuite is run with -ftrack-macro-location by
default, this patch triggers the -Wunused-local-typedefs warning when
-Wunused (and -Wall) is turned on.

The patch has been reviewed and accepted[1] a while ago, but was waiting
for the -ftrack-macro-expansion work to go in first.

Bootstrapped and tested again on x86_64-unknown-linux-gnu against
trunk.

Applied to the mainline.

[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html

gcc/

	* opts.c (finish_options): Activate -Wunused-local-typedefs if
	-Wunused is activated.
	* doc/invoke.texi: Update blurb of -Wunused-local-typedefs.

From-SVN: r187167
2012-05-04 18:38:27 +02:00
Paolo Carlini
fb4bcc8d65 re PR c++/53166 (static_assert produces bogus warning)
/cp
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53166
	* pt.c (instantiate_class_template_1): Increase / decrease
	c_inhibit_evaluation_warnings around the tsubst_expr call
	for STATIC_ASSERT_CONDITION.
	(tsubst_expr, case STATIC_ASSERT): Likewise.
	* typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
	c_inhibit_evaluation_warnings in the OPT_Waddress warnings.

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

	PR c++/53166
	* g++.dg/cpp0x/static_assert7.C: New.

From-SVN: r187165
2012-05-04 15:02:05 +00:00
Ian Lance Taylor
33e337e34d libgo: Update to Go 1.0.1 release.
From-SVN: r187163
2012-05-04 15:01:11 +00:00
Andreas Krebbel
1eae36f08c 2012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (*movmem_short, *clrmem_short)
	(*cmpmem_short): Move the mode check from the insn condition to
	the match_scratch.

From-SVN: r187159
2012-05-04 14:44:59 +00:00
Ulrich Weigand
33018845eb re PR tree-optimization/52633 (Compiler ICE in vect_is_simple_use_1 (ARM))
gcc/
	PR tree-optimization/52633
	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
	vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
	(vect_recog_over_widening_pattern): Remove handling of code that was
	already detected as over-widening pattern.  Remove special handling
	of "unsigned" cases.  Instead, support general case of conversion
	of the shift result to another type.

	gcc/testsuite/
	PR tree-optimization/52633
	* gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
	recognized as widening shifts instead of over-widening.
	* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
	* gcc.dg/vect/vect-over-widen-4.c: Likewise.
	* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
	* gcc.target/arm/pr52633.c: New test.

From-SVN: r187158
2012-05-04 12:46:04 +00:00
Ulrich Weigand
9a7a4398d3 tree-vect-patterns.c (vect_single_imm_use): New function.
* tree-vect-patterns.c (vect_single_imm_use): New function.
	(vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
	(vect_recog_over_widening_pattern): Likewise.
	(vect_recog_widen_shift_pattern): Likewise.

From-SVN: r187157
2012-05-04 12:27:04 +00:00
Ulrich Weigand
f71cf56a38 tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
* tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
	(vect_handle_widen_op_by_const): Use it instead of open-coding test.
	(vect_recog_widen_mult_pattern): Likewise.
	(vect_operation_fits_smaller_type): Likewise.
	(vect_recog_over_widening_pattern): Likewise.
	(vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.

From-SVN: r187156
2012-05-04 12:26:03 +00:00
Richard Guenther
8bb50e5ce0 re PR lto/50602 (ICE in tree_nrv, at tree-nrv.c:155 during large LTO build)
2012-05-04  Richard Guenther  <rguenther@suse.de>

	PR lto/50602
	* lto-wrapper.c (merge_and_complain): Complain about mismatches
	of -freg-struct-return and -fpcc-struct-return.
	(run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
	from the input file options and ignore those from the link
	command line.

From-SVN: r187155
2012-05-04 11:47:06 +00:00
Richard Guenther
efe7068bc9 re PR tree-optimization/53168 (ICE in find_or_generate_expression, at tree-ssa-pre.c:3053)
2012-05-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53168
	* tree-ssa-pre.c (phi_translate_1): Only handle type-punned
	memory reads when the result is a constant we can pun.

	* gcc.dg/torture/pr53168.c: New testcase.
	* gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.

From-SVN: r187153
2012-05-04 11:30:35 +00:00
Richard Biener
1d67dde883 common.opt (flto-report): Do not mark as Optimization.
2012-05-04  Richard Guenther  <rguenther@suse.de>

	* common.opt (flto-report): Do not mark as Optimization.

	lto/
	* lang.opt (fwpa): Do not mark as Optimization.
	(fltrans): Likewise.

	* gcc.dg/lto/pr53214_0.c: New testcase.

From-SVN: r187151
2012-05-04 11:08:42 +00:00
Eric Botcazou
a2f2d218dd re PR target/48496 ('asm' operand requires impossible reload)
PR target/48496
	* recog.c (constrain_operands): If extra constraints are present, also
	accept pseudo-registers with equivalent memory locations during reload.

From-SVN: r187150
2012-05-04 11:01:34 +00:00
Olivier Hainque
9178a34585 collect2.c (may_unlink_output_file): New global.
* collect2.c (may_unlink_output_file): New global.
        (maybe_unlink): Honor it.
        * collect2.h: Add extern for it.
        * tlink.c (do_tlink): Set it to true if the link succeeded.

From-SVN: r187148
2012-05-04 08:05:52 +00:00
Olivier Hainque
b50ff8bbb3 gcc.c (eval_spec_function): Finalize/restore the current string obstack state as part of the context...
* gcc.c (eval_spec_function): Finalize/restore the current string
        obstack state as part of the context push/pop operations.

From-SVN: r187146
2012-05-04 08:03:54 +00:00
Ian Lance Taylor
b075f09963 compiler: Error if importing same package twice with same name.
From-SVN: r187142
2012-05-04 05:24:02 +00:00
Bin Cheng
73292fcf29 re PR rtl-optimization/52804 (IRA/RELOAD allocate wrong register on ARM for cortex-m0)
PR rtl-optimization/52804
	* reload1.c (reload_reg_reaches_end_p): Check whether successor
	reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
	of current one with type RELOAD_FOR_INPADDR_ADDRESS.
	Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
	RELOAD_FOR_OUTADDR_ADDRESS.

From-SVN: r187139
2012-05-04 02:52:27 +00:00
Manuel López-Ibáñez
2445414102 re PR c++/24985 (caret diagnostics)
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/24985
gcc/
	* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
	for macro expansion.

From-SVN: r187134
2012-05-04 00:31:55 +00:00
GCC Administrator
07c49ed5a6 Daily bump.
From-SVN: r187131
2012-05-04 00:18:01 +00:00
Manuel López-Ibáñez
50f305cacf re PR c/51712 (-Wtype-limits should not trigger for types of implementation-defined signedness)
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/51712
c-family/
	* c-common.c (expr_original_type): New.
	(shorten_compare): Do not warn for enumeration types.
testsuite/
	* c-c++-common/pr51712.c: New.

From-SVN: r187125
2012-05-03 22:37:01 +00:00
Manuel López-Ibáñez
0c3641b0ea flags.h (flag_permissive): Do not declare.
2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* flags.h (flag_permissive): Do not declare.
	* diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
	option specially.
	* toplev.c (flag_permissive): Do not define.
	* c-tree.h (system_header_p): Delete unused.
c-family/
	* c.opt (fpermissive): Add Var(flag_permissive).

From-SVN: r187123
2012-05-03 22:28:21 +00:00
David S. Miller
d333c3ebce Fix long double float miscompilations on sparc 64-bit.
PR target/52684
	* config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
	MEM directly into a libcall, mark it's MEM_EXPR as addressable.
	(sparc_emit_float_lib_cmp): Likewise.

From-SVN: r187120
2012-05-03 15:19:35 -07:00
Michael Meissner
65d512d10e re PR target/53199 (__builtin_bswap64 and __builtin_bswap32 generate errors if -mcpu=power6)
[gcc]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/53199
	* config/rs6000/rs6000.md (bswapdi splitters): If
	-mavoid-indexed-addresses (or -mcpu=power6 which sets it by
	default) is used, generate an alternate sequence that does not
	depend on using indexed addressing.

[gcc/testsuite]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/53199
	* gcc.target/powwerpc/pr53199.c: New file.

From-SVN: r187119
2012-05-03 21:47:45 +00:00
Jason Merrill
88f4f86ff0 gengtype.c (write_types): Fix warning message.
* gengtype.c (write_types): Fix warning message.
	(write_local): Likewise.

From-SVN: r187118
2012-05-03 17:29:07 -04:00
Benjamin Kosnik
a85951f442 testsuite_flags.in (cxxflags): Remove -ftrack-macro-expansion=0.
2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/testsuite_flags.in (cxxflags): Remove
	-ftrack-macro-expansion=0.

From-SVN: r187117
2012-05-03 20:23:42 +00:00
Jason Merrill
05688bf703 dwarf2out.c (struct external_ref, [...]): New.
* dwarf2out.c (struct external_ref, build_local_stub): New.
	(hash_external_ref, external_ref_eq, lookup_external_ref): New.
	(optimize_external_refs, optimize_external_refs_1): New.
	(change_AT_die_ref): New.
	(clone_as_declaration): Add DW_AT_signature when cloning a declaration.
	(build_abbrev_table): Take the external refs hashtable.
	(output_comp_unit): Get it from optimize_external_refs and pass it in.

From-SVN: r187116
2012-05-03 15:55:16 -04:00
Jan Hubicka
f95f017c42 re PR middle-end/53093 (tls/alias-1.c ICE, emutls)
PR middle-end/53093
	* tree-emutls.c (new_emutls_decl): Fix handling of aliases.

From-SVN: r187115
2012-05-03 19:22:03 +00:00
Jan Hubicka
c2b6c111b6 re PR middle-end/53106 (Benchmarks in SPEC CPU 2006 failed to build)
PR middle-end/53106
	* ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.

From-SVN: r187114
2012-05-03 19:18:51 +00:00
Ian Lance Taylor
f070c0498e compiler: Build import tables as needed for imported interfaces.
From-SVN: r187111
2012-05-03 17:42:02 +00:00
Richard Sandiford
ecfd6cece6 Add PR rtl-optimization/52543 to changelog.
From-SVN: r187110
2012-05-03 17:04:41 +00:00
Richard Henderson
fa3cd3c37e libatomic: Enable AM_MAINTAINER_MODE
From-SVN: r187108
2012-05-03 09:30:11 -07:00
Jason Merrill
d8acd563b2 dwarf2out.c (die_struct): Add comdat_type_p flag.
* dwarf2out.c (die_struct): Add comdat_type_p flag.  Use it instead of
	use_debug_types to discriminate the die_id union.
	(print_die, assign_symbol_names, copy_decls_walk): Likewise.
	(build_abbrev_table, output_die): Likewise.
	(prune_unused_types_walk_attribs): Likewise.
	(generate_type_signature, copy_declaration_context): Set it.
	(remove_child_or_replace_with_skeleton): Set it.
	(dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
	check use_debug_types.
	(dwarf2out_finish): Do break_out_includes after .debug_types.

From-SVN: r187107
2012-05-03 12:19:17 -04:00
Jason Merrill
0fd0752e83 dwarf2out.c (modified_type_die): Use scope_die_for.
* dwarf2out.c (modified_type_die): Use scope_die_for.
	(gen_type_die_with_usage, dwarf2out_finish): Likewise.
	(uses_local_type_r, uses_local_type): New.
	(scope_die_for): Keep a type that uses a local type in local scope.
	Use get_context_die for namespace and type scope.

From-SVN: r187106
2012-05-03 12:19:02 -04:00
Jason Merrill
63aaf27c3b i386.c (ix86_code_end): Set DECL_IGNORED_P on the pc thunk.
* config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
	pc thunk.
	* dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
	(dwarf2out_finish): Likewise.

From-SVN: r187105
2012-05-03 12:18:51 -04:00
Ian Lance Taylor
29f31724ef compiler: Fix order of initialization bug with global var a, b = f().
From-SVN: r187103
2012-05-03 16:09:25 +00:00
Richard Henderson
0fe5522f8b acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation failure in gcc_no_link path.
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
        failure in gcc_no_link path.
        * configure: Rebuild.

From-SVN: r187102
2012-05-03 08:59:43 -07:00
Martin Jambor
644ffefd9b builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte...
2012-05-03  Martin Jambor  <mjambor@suse.cz>

	* builtins.c (get_object_alignment_1): Return whether we can determine
	the alignment or conservatively assume byte alignment.  Return the
	alignment by reference.  Use get_pointer_alignment_1 for dereference
	alignment.
	(get_pointer_alignment_1): Return whether we can determine the
	alignment or conservatively assume byte alignment.  Return the
	alignment by reference.  Use get_ptr_info_alignment to get SSA name
	alignment.
	(get_object_alignment): Update call to get_object_alignment_1.
	(get_object_or_type_alignment): Likewise, fall back to type alignment
	only when it returned false.
	(get_pointer_alignment): Update call to get_pointer_alignment_1.
	* fold-const.c (get_pointer_modulus_and_residue): Update call to
	get_object_alignment_1.
	* ipa-prop.c (ipa_modify_call_arguments): Update call to
	get_pointer_alignment_1.
	* tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
	of MEM_REF or TARGET_MEM_REF only when it returns false.
	* tree-ssa-ccp.c (get_value_from_alignment): Update call to
	get_object_alignment_1.
	(ccp_finalize): Use set_ptr_info_alignment.
	* tree.h (get_object_alignment_1): Update declaration.
	(get_pointer_alignment_1): Likewise.
	* gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
	(dump_gimple_stmt): Likewise.
	* tree-flow.h (ptr_info_def): Updated comments of fields align and
	misalign.
	(get_ptr_info_alignment): Declared.
	(mark_ptr_info_alignment_unknown): Likewise.
	(set_ptr_info_alignment): Likewise.
	(adjust_ptr_info_misalignment): Likewise.
	* tree-ssa-address.c (copy_ref_info): Use new access functions to get
	and set alignment of SSA names.
	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
	mark_ptr_info_alignment_unknown.
	* tree-ssanames.c (get_ptr_info_alignment): New function.
	(mark_ptr_info_alignment_unknown): Likewise.
	(set_ptr_info_alignment): Likewise.
	(adjust_ptr_info_misalignment): Likewise.
	(get_ptr_info): Call mark_ptr_info_alignment_unknown.
	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
	Likewise.
	(bump_vector_ptr): Likewise.
	* tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.

From-SVN: r187101
2012-05-03 17:48:56 +02:00