PR target/25254
PR target/24188
* config/i386/i386.c (x86_64_elf_select_section): If DECL is not
DECL_P, call get_section rather than get_named_section. Supply
section flags to it.
* gcc.target/i386/pr25254.c: New test.
* gfortran.dg/PR24188.f: New test.
From-SVN: r108506
* c-common.c (c_common_truthvalue_conversion): Generalise warning
for addresses converted to booleans; not just function addresses.
* c-typeck.c (build_binary_op): Warn for address comparisons which
can never be NULL (eg. func == NULL or &var == NULL).
* common.opt (Walways-true): New option.
* c-opts.c (c_common_handle_option): Set it with -Wall.
* doc/invoke.texi: Document it.
testsuite/
* gcc.dg/warn-addr-cmp.c: New test.
From-SVN: r108489
PR debug/25023
PR target/25293
* expr.c (emit_move_resolve_push): Handle PRE_MODIFY
and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
* config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
Set mode to SI, adjust constraints.
(pushhi2_rex64, pushqi2_rex64): Set mode to DI.
* config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
32-bit code.
* gcc.target/i386/pr25293.c: New test.
From-SVN: r108463
2005-12-13 Petr Machata <machata@post.cz>
PR c++/24907
* parser.c (cp_parser_simple_declaration): Require comma at the
beginning of processing second and later declarators, instead of
allowing the comma at the end of each iteration.
* g++.dg/parse/comma2.C: New test.
From-SVN: r108462
* g++.dg/compat/struct-layout-1.exp: Do not link with libiberty.
* g++.dg/compat/struct-layout-1_generate.c (config.h): Do not include.
(limits.h): Include unconditionally.
(stdlib.h): Likewise.
(hashtab.h): Do not include.
(getopt.h): Likewise.
(stddef.h): Include.
(hashval_t): Define.
(struct entry): Add "next" field.
(HASH_SIZE): New macro.
(hash_table): New variable.
(switchfiles): Do not use xmalloc.
(mix): New macro.
(iterative_hash): New function.
(hasht): Remove.
(e_exists): New function.
(e_insert): Likewise.
(output): Use, instead of libiberty hashtable functions.
(main): Do not use getopt. Do not call htab_create.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r108461
gcc/fortran/
* Make-lang.in (fortran/trans-resolve.o): Depend on
fortran/dependency.h.
* gfortran.h (gfc_expr): Add an "inline_noncopying_intrinsic" flag.
* dependency.h (gfc_get_noncopying_intrinsic_argument): Declare.
(gfc_check_fncall_dependency): Change prototype.
* dependency.c (gfc_get_noncopying_intrinsic_argument): New function.
(gfc_check_argument_var_dependency): New function, split from
gfc_check_fncall_dependency.
(gfc_check_argument_dependency): New function.
(gfc_check_fncall_dependency): Replace the expression parameter with
separate symbol and argument list parameters. Generalize the function
to handle dependencies for any type of expression, not just variables.
Accept a further argument giving the intent of the expression being
tested. Ignore intent(in) arguments if that expression is also
intent(in).
* resolve.c: Include dependency.h.
(find_noncopying_intrinsics): New function.
(resolve_function, resolve_call): Call it on success.
* trans-array.h (gfc_conv_array_transpose): Declare.
(gfc_check_fncall_dependency): Remove prototype.
* trans-array.c (gfc_conv_array_transpose): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Don't use the
libcall handling if the expression is to be evaluated inline.
Add a case for handling inline transpose()s.
* trans-expr.c (gfc_trans_arrayfunc_assign): Adjust for the new
interface provided by gfc_check_fncall_dependency.
libgfortran/
* m4/matmul.m4: Use a different order in the special case of a
transposed first argument.
* generated/matmul_c4.c, generated/matmul_c8.c, generated/matmul_c10.c,
* generated/matmul_c16.c, generated/matmul_i4.c, generated/matmul_i8.c,
* generated/matmul_i10.c, generated/matmul_r4.c, generated/matmul_r8.c
* generated/matmul_r10.c, generated/matmul_r16.c: Regenerated.
Co-Authored-By: Victor Leikehman <LEI@il.ibm.com>
From-SVN: r108459
2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
gcc/
* c-cppbuiltin.c (builtin_define_float_constants): Add
fp_cast parameter, pass to builtin_define_with_hex_fp_value.
Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__.
(builtin_define_with_hex_fp_value): Use fp_cast when building macro.
(c_cpp_builtins): If flag_single_precision_constant then set fp_cast
to "((double)%sL)" otherwise "%s".
gcc/testsuite/
* gcc.dg/single-precision-constant.c: New test.
libstdc++-v3/
* include/std/std_limits.h (struct numeric_limits):
Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
From-SVN: r108458
2005-12-11 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* tree-flow.h: Allow compilation with a C++ compiler.
(struct edge_prediction): Prefix all field names with "ep_".
* predict.c (tree_predicted_by_p): Likewise for struct
edge_prediction.
(tree_predict_edge, combine_predictions_for_bb): Likewise.
(remove_predictions_associated_with_edge): Likewise.
From-SVN: r108430
PR testsuite/20772
* g++.old-deja/g++.eh/tmpl2.C: Remove xfail.
* gcc.dg/asm-b.c: Fix typo.
* gcc.dg/torture/pr20314-2.c: Test on i?86 lp64.
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-3.c,
gcc.dg/tree-ssa/stdarg-4.c, gcc.dg/tree-ssa/stdarg-5.c: Test on
i?86 lp64 and x86_64 ilp32.
* gcc.target/i386/amd64-abi-1.c, gcc.target/i386/pr23943.c: Test
on i?86 lp64.
* gfortran.dg/g77/20010216-1.f: Test on x86_64 ilp32.
From-SVN: r108427
2005-12-12 Andrew Haley <aph@redhat.com>
* java/lang/VMCompiler.java: Directly generate a new instance of
gnu.java.security.provider.MD5.
From-SVN: r108421
PR target/25258
* pa.c (pa_output_function_epilogue): Set cfun->machine->in_nsubspa to
indicate function epilogue has been output.
(pa_asm_output_mi_thunk): Likewise.
(output_deferred_plabels): Put plabels in readonly data section when
not generating PIC code.
(som_output_text_section_asm_op): Use .NSUBSPA to output debug
information. Add assert.
(som_output_comdat_data_section_asm_op): New function.
(pa_som_asm_init_sections): Use som_output_comdat_data_section_asm_op
instead of output_section_asm_op for COMDAT sections.
From-SVN: r108420
PR c++/25300
* tree.c (build_qualified_name): Return error_mark_node for
erroneous input.
PR c++/25300
* g++.dg/template/inherit.C: Do not use a generic error message.
From-SVN: r108413
2005-12-12 H.J. Lu <hongjiu.lu@intel.com>
PR java/25330
* jcf-write.c (write_classfile): Use PID in temporary class
file. Save/restore errno when reporting error.
From-SVN: r108411