PR c++/34914
* c-common.c (handle_vector_size_attribute): Only allow
integral, scalar float and fixed point types. Handle OFFSET_TYPE
the same way as pointer, array etc. types.
* tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
* g++.dg/ext/vector10.C: New test.
From-SVN: r131729
PR c++/34917
* tree.c (build_type_attribute_qual_variant): Call
build_qualified_type if attributes are equal, but quals are not.
* g++.dg/ext/vector12.C: New test.
From-SVN: r131726
PR c++/33959
* pt.c (tsubst_aggr_type): Make sure our context is complete.
PR c++/34573
* pt.c (retrieve_local_specialization): Robustify.
(tsubst_pack_expansion, tsubst_decl): Remove redundant checks.
PR c++/34846
* pt.c (tsubst): Only call retrieve_local_specialization if the
original typedef was in a function template.
From-SVN: r131724
2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 32102
* doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
* flags.h (warn_strict_aliasing): Remove.
(warn_strict_overflow): Remove.
* opts.c (warn_strict_aliasing): Remove.
(warn_strict_overflow): Remove.
* c-opts.c (c_common_handle_option): -Wall only sets
-Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
(c_common_post_options): Give default values to -Wstrict-aliasing
and -Wstrict-overflow if they are uninitialized.
* common.opt (Wstrict-aliasing): Specify Var and Init.
(Wstrict-overflow): Likewise.
testsuite/
* gcc.dg/Wstrict-overflow-21.c: New.
* g++.dg/warn/Wstrict-aliasing-8.C: New.
From-SVN: r131720
2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
(S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
(S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
(S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
(S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
* config/s390/s390.md (FP_ALL): New mode iterator.
(_d): New mode attribute.
("*signbit<mode>2>"): Changed mode of first operand.
("isinf<mode>2"): Changed mode of first operand.
("*TDC_insn"): Adaptation for DFP modes.
From-SVN: r131714
2008-01-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34896
* module.c (read_module): Set use_rename attribute.
2008-01-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34896
* gfortran.dg/use_rename_2.f90: New test.
From-SVN: r131712
PR c++/34196
* tree.h (TRY_CATCH_IS_CLEANUP): New macro.
* cp/decl.c (wrap_cleanups_r): Set TRY_CATCH_IS_CLEANUP.
* tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
if it is set.
From-SVN: r131710
2007-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/34901
* interface.c (compare_parameter): Improved error message
for arguments of same type and mismatched kinds.
From-SVN: r131700
2008-01-21 Richard Guenther <rguenther@suse.de>
PR middle-end/34856
* tree-cfg.c (verify_expr): Allow all invariant expressions
instead of just constant class ones as reference argument.
* tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
like any other constant.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
* gcc.c-torture/compile/pr34856.c: New testcase.
From-SVN: r131696
2008-01-21 Richard Guenther <rguenther@suse.de>
PR c/34885
* tree-inline.c (setup_one_parameter): Deal with mismatched
types using a VIEW_CONVERT_EXPR.
* gcc.c-torture/compile/pr34885.c: New testcase.
From-SVN: r131694
2008-01-21 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/34701
* gcc.dg/struct/wo_prof_array_field.c: New test.
2008-01-21 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/34701
* ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
when the structure size is not a power of 2.
Co-Authored-By: Olga Golovanevsky <olga@il.ibm.com>
From-SVN: r131689
2008-01-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34861
* resolve.c (resolve_entries): Do not do an array bounds check
if the result symbols are the same.
PR fortran/34854
* module.c (read_module) : Hide the symtree of the previous
version of the symbol if this symbol is renamed.
2008-01-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34784
* gfortran.dg/mapping_2.f90: Correct ubound expression for h4.
PR fortran/34861
* gfortran.dg/entry_array_specs_3.f90: New test.
PR fortran/34854
* gfortran.dg/use_rename_1.f90: New test.
From-SVN: r131679
2008-01-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34784
* array.c (gfc_check_constructor_type): Clear the expression ts
so that the checking starts from the deepest level of array
constructor.
* primary.c (match_varspec): If an unknown type is changed to
default character and the attempt to match a substring fails,
change it back to unknown.
PR fortran/34785
* trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is
NULL for an array constructor, use the cl.length expression to
build it.
(gfc_conv_array_parameter): Change call to gfc_evaluate_now to
a tree assignment.
2008-01-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34784
* gfortran.dg/array_constructor_20.f90: New test.
* gfortran.dg/mapping_2.f90: Correct ubound expression for h4.
PR fortran/34785
* gfortran.dg/array_constructor_21.f90: New test.
From-SVN: r131675
2008-01-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/inquire.c (inquire_via_unit): If a unit is opened, return values
according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
(inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
FORAMATTED, and UNFORMATTED inquiries.
* io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
for files that are not opened. (inquire_direct): Same.
(inquire_formatted): Same.
From-SVN: r131672
2008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/26854
PR rtl-optimization/34400
* ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
DF_RD->gen.
* df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
(df_rd_bb_info.expanded_lr_out): New.
* loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
* loop_iv.c (iv_analysis_loop_init): Ditto.
* df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
Added code to allocate, initialize or free expanded_lr_out.
(df_rd_bb_local_compute_process_def): Restructured to make
more understandable.
(df_rd_confluence_n): Add code to do nothing with fake edges and
code to no apply invalidate_by_call sets if the sets are being trimmed.
(df_lr_local_finalize): Renamed to df_lr_finalize.
(df_live_local_finalize): Renamed to df_live_finalize.
From-SVN: r131670