aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-04-04re PR objc/31281 (ICE on ObjC try-catch blocks with next runtime)Stuart Hastings4-2/+38
PR 31281 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl. * testsuite/objc/execute/exceptions/pr31281.m: New. From-SVN: r123501
2007-04-04typo fixMartin Michlmayr1-1/+1
From-SVN: r123500
2007-04-04re PR other/31356 (gcc --help=<language> option has problems in the output ↵Brooks Moses2-2/+12
header line.) PR other/31356 * gcc.c (print_specific_help): Fix --help=<language> header line. (common_handle_option): Support --help=common. From-SVN: r123499
2007-04-04re PR driver/31353 (gcc --help=target gives a linker error.)Brooks Moses2-1/+8
PR other/31353 * gcc.c (main): Do not run the linker if print_subprocess_help indicates that it shouldn't be run. From-SVN: r123498
2007-04-04PRR doc/31355Brooks Moses2-11/+22
PRR doc/31355 * doc/invoke.texi (--help=): Document <languages> value, fix formatting in tables of values. From-SVN: r123497
2007-04-04winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore dllimport attribute of ↵Danny Smith6-72/+56
virtual methods. gcc * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore dllimport attribute of virtual methods. gcc/cp * class.c (check_for_override): Don't remove dllmport attribute of virtual methods. gcc/testsuite * g++.dg/ext/dllimport12.C: Update comments From-SVN: r123492
2007-04-04crti.asm: Change _bss_start to __bss_start.Chen Liqin9-66/+112
2007-04-04 Chen Liqin <liqin@sunnorth.com.cn> * config/score/crti.asm: Change _bss_start to __bss_start. * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. (OUTGOING_REG_PARM_STACK_SPACE) update. * config/score/score.opt: add options to make backend support score5, score5u, score7 and score7d. * config/score/score.md: Likewise. * config/score/misc.md: Likewise. * config/score/mac.md: Likewise. * doc/invoke.texi: Likewise. * doc/md.texi: update constraints define. From-SVN: r123490
2007-04-03Daily bump.GCC Administrator1-1/+1
From-SVN: r123487
2007-04-03pr29902.C: Require ilp32.Eric Christopher2-3/+7
2007-04-03 Eric Christopher <echristo@apple.com> * g++.dg/tree-ssa/pr29902.C: Require ilp32. From-SVN: r123482
2007-04-03re PR fortran/31304 (REPEAT argument NCOPIES is not converted as it should)Francois-Xavier Coudert11-41/+340
PR fortran/31304 * fortran/gfortran.h (gfc_charlen_int_kind): New prototype. * fortran/trans-types.c (gfc_charlen_int_kind): New variable. (gfc_init_types): Define gfc_charlen_int_kind. * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype. * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete. (gfc_build_intrinsic_function_decls): Don't set gfor_fndecl_string_repeat. * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite so that we don't have to call a library function. * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary checks on the NCOPIES argument, and work with arbitrary size arguments. * intrinsics/string_intrinsics.c (string_repeat): Remove. * gfortran.dg/repeat_2.f90: New test. * gfortran.dg/repeat_3.f90: New test. * gfortran.dg/repeat_4.f90: New test. From-SVN: r123481
2007-04-03opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.Uros Bizjak2-1/+5
* gcc.dg/tls/opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets. From-SVN: r123479
2007-04-03expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield an ↵Richard Henderson2-3/+18
appropriate type... * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield an appropriate type, use the mode instead. From-SVN: r123477
2007-04-03jvgenmain.c (main): Change main to use class$, not class$$.Andrew Haley6-9/+74
2007-04-03 Andrew Haley <aph@redhat.com> * jvgenmain.c (main): Change main to use class$, not class$$. (do_mangle_classname): Likewise. * class.c (hide): New function. (add_field): Hide everything that shouldn't be visible outside a DSO. (build_static_class_ref): Likewise. (build_classdollar_field): Likewise. (make_class_data): Likewise. (layout_class_method): Likewise. * expr.c (special_method_p): New function. * class.c (push_class): Don't bogusly guess the source filename. * jcf-parse.c (give_name_to_class): Don't set input_location from DECL_ARTIFICIAL decls. From-SVN: r123476
2007-04-03re PR target/31175 (isinf incorrectly expanded)Uros Bizjak2-2/+9
PR target/31175 * config/i386/i386.md (isinf<mode>2): Expand only when TARGET_C99_FUNCTIONS is set. From-SVN: r123465
2007-04-03config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.Richard Sandiford4-23/+64
gcc/ * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. Set the default --with-arch setting to mips2. * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) (MULTILIB_EXCEPTIONS): Redefine with new multilibs. (MULTILIB_OSDIRNAMES): Delete. (MULTILIB_DIRNAMES): Define. * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC definitions, except for _WRS_R3K_EXC_SUPPORT. Call VXWORKS_OS_CPP_BUILTINS. (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. (MIPS_DEBUGGING_INFO): Undefine. (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. From-SVN: r123459
2007-04-03re PR c++/30847 (ICE with invalid statement expression)Jakub Jelinek4-0/+30
PR c++/30847 * typeck.c (build_modify_expr): For COND_EXPR on LHS, if RHS has void type issue error and return early. * g++.dg/parse/cond3.C: New test. From-SVN: r123456
2007-04-03re PR middle-end/30704 (Incorrect constant generation for long long)Jakub Jelinek4-16/+88
PR middle-end/30704 * fold-const.c (native_encode_real): Encode real.c provided longs as a series of 32-bit native integers. (native_interpret_real): Interpret buffer as a series of 32-bit native integers. * gcc.c-torture/execute/ieee/pr30704.c: New test. From-SVN: r123455
2007-04-03genpreds.c (write_insn_constraint_len): Write function optimized for ↵Richard Guenther3-20/+50
CONSTRAINT_LEN implementation. 2007-04-03 Richard Guenther <rguenther@suse.de> * genpreds.c (write_insn_constraint_len): Write function optimized for CONSTRAINT_LEN implementation. (write_tm_preds_h): Output insn_constraint_len inline and use it for CONSTRAINT_LEN. (write_insn_preds_c): Don't output insn_constraint_len. * doc/md.texi (define_register_constraint): Document multi-letter constraints shall have the same length if they start with the same letter. From-SVN: r123451
2007-04-03config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.Uros Bizjak10-5/+130
* config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. (x86_64-*-linux*): Ditto. * config/i386/i386.opt (mpc): New option. * config/i386/i386.c (overrride_options): Handle ix87_precision_string. * config/i386/crtprec.c: New file. * config/i386/t-crtpc: Ditto. * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 and -mpc80 options. * config/i386/linux64.h (ENDFILE_SPEC): Ditto. * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtprec32.o, crtprec64.o and crtprec80.o. * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 and -mpc80 options. (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. libgcc/ChangeLog: * config/i386/t-crtpc: New file. * config.host (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. (x86_64-*-linux*): Ditto. From-SVN: r123450
2007-04-03invoke.texi (i386 and x86-64 Options): Document -m64 limitations on darwin.Eric Christopher2-44/+51
2007-04-02 Eric Christopher <echristo@apple.com> * doc/invoke.texi (i386 and x86-64 Options): Document -m64 limitations on darwin. From-SVN: r123446
2007-04-02Daily bump.GCC Administrator1-1/+1
From-SVN: r123444
2007-04-03re PR target/31137 (missing "break" in switch for MULT in avr_rtx_costs)Anatoly Sokolov2-0/+7
PR target/31137 * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. From-SVN: r123437
2007-04-02re PR c++/31187 (extern declaration of variable in anonymous namespace ↵Jason Merrill6-8/+54
prevents use of its address as template argument) PR c++/31187 * typeck.c (cp_type_readonly): New fn. * cp-tree.h: Declare it. * decl.c (start_decl): Set implicit DECL_THIS_STATIC here. (cp_finish_decl): Not here. * g++.dg/ext/visibility/anon3.C: New test. From-SVN: r123432
2007-04-02ChangeLog: Fixed trivial whitespace formatting error.Dave Korn1-3/+3
* ChangeLog: Fixed trivial whitespace formatting error. From-SVN: r123420
2007-04-02tm.texi (FUNCTION_MODE): Update and extend documentation.Dave Korn2-2/+9
2007-04-02 Dave Korn <dave.korn@artimi.com> * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. From-SVN: r123419
2007-04-02libgcc2.h (exception_descriptor): Don't forward-declare.Dave Korn2-4/+6
2007-04-02 Dave Korn <dave.korn@artimi.com> * libgcc2.h (exception_descriptor): Don't forward-declare. (__get_eh_table_language, __get_eh_table_version): Delete prototypes of long-dead functions. From-SVN: r123418
2007-04-02ebitmap.h: New fileDaniel Berlin4-0/+1194
2007-04-01 Daniel Berlin <dberlin@dberlin.org> * ebitmap.h: New file * ebitmap.c: New file * Makefile.in (ebitmap.o): New target. From-SVN: r123415
2007-04-01Daily bump.GCC Administrator1-1/+1
From-SVN: r123413
2007-04-01emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit before ↵Jan Hubicka4-4/+18
very first instruction. * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit before very first instruction. * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid waring on 64bit hosts. * bitmap.h: Fix typo in bitmap_head_def. From-SVN: r123408
2007-04-01re PR rtl-optimization/31391 (undefined label with -O -g due to cfglayout)Steven Bosscher2-0/+9
PR rtl-optimization/31391 * cfgcleanup.c (try_optimize_cfg): If a removed label is turned into a DELETED_LABEL note, and the label is in an empty basic block, update BB_END as well as BB_HEAD. From-SVN: r123406
2007-04-01re PR tree-optimization/31169 (Bootstrap comparison error at revision 122821)Richard Henderson2-11/+24
PR tree-optimization/31169 * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop to varying if the range is outside [0, prec-1]. From-SVN: r123405
2007-04-01re PR libfortran/31052 ([4.2 only] Bad IOSTAT values when readings NAMELISTs ↵Jerry DeLisle2-0/+95
past EOF) 2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/31052 * gfortran.dg/namelist_28.f90: New test. From-SVN: r123404
2007-04-01re PR fortran/31366 ([4.2 only] Last record truncated for read after short ↵Jerry DeLisle4-0/+54
write, direct access file) 2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/31366 * gfortran.dg/direct_io_6.f90: New test. 2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/31207 * gfortran.dg/advance_5.f90: New test. * gfortran.dg/advance_6.f90: New test. From-SVN: r123402
2007-04-01re PR target/31388 (ICE building libiberty multilib for mips16 multilibs)Richard Sandiford3-10/+22
gcc/ PR target/31388 * config/mips/mips.md (load_const_gp): New insn. * config/mips/mips.c (mips_split_symbol): Avoid using or creating the MIPS16 GP pseudo register if no_new_pseudos. (mips16_gp_pseudo_reg): Use gen_load_const_gp. From-SVN: r123398
2007-04-01dllimport6.C: Remove extra ';'.Danny Smith4-3/+9
* g++.dg/ext/dllimport6.C: Remove extra ';'. * g++.dg/ext/dllimport7.C: Likewise. * g++.dg/ext/selectany1.C: Likewise. From-SVN: r123397
2007-03-31Daily bump.GCC Administrator1-1/+1
From-SVN: r123394
2007-03-31re PR target/31364 (secureplt breaks bootstrap)Andrew Pinski2-2/+13
2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com> PR target/31364 * config/rs6000/rs6000.md (call): Convert to LR hard reg for secureplt. (call_value): Likewise. From-SVN: r123390
2007-03-31intrinsic.c (add_functions): Fix name of dummy argument for new_line and ↵Tobias Burnus2-2/+7
exit intrinsic. 2007-03-31 Tobias Burnus <burnus@net-b.de> * intrinsic.c (add_functions): Fix name of dummy argument for new_line and exit intrinsic. From-SVN: r123385
2007-03-31re PR fortran/31160 (%VAL and related features need to be documented.)Paul Thomas2-0/+45
2007-03-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/31160 * gfortran.texi: Add a section for the %VAL, %REF and %LOC extensions. From-SVN: r123383
2007-03-31re PR rtl-optimization/14737 (Purge political statement from -ffast-math docs)Wolfgang Bangerth2-8/+20
2007-03-31 Wolfgang Bangerth <bangerth@dealii.org> Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR 14737 * doc/invoke.texi: (optimization options): Reword description of -ffast-math. Document its primary purpose. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r123382
2007-03-31omp-low.c (splay-tree.h): Include.Richard Guenther8-80/+103
2007-03-31 Richard Guenther <rguenther@suse.de> * omp-low.c (splay-tree.h): Include. (lookup_decl): Replace splay-tree usage by pointer-map. (maybe_lookup_decl): Likewise. (new_omp_context): Likewise. (delete_omp_context): Likewise. * gimplify.c (splay-tree.h): Include. * tree-inline.c (insert_decl_map): Replace splay-tree usage by pointer-map. (remap_ssa_name): Likewise. (remap_decl): Likewise. (remap_type_1): Likewise. (remap_type): Likewise. (copy_body_r): Likewise. (expand_call_inline): Likewise. (clone_body): Likewise. (copy_tree_r): Likewise. (remap_save_expr): Likewise. (unsave_r): Likewise. (unsave_expr_now): Likewise. (tree_function_versioning): Likewise. (build_duplicate_type): Likewise. * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. (struct copy_body_data): Replace splay-tree by pointer-map. * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, not $(SPLAY_TREE_H). (gimplify.o): Depend on $(SPLAY_TREE_H). (omp-low.p): Likewise. * optimize.c (maybe_clone_body): Replace splay-tree usage by pointer-map. From-SVN: r123381
2007-03-31re PR c++/31138 (ICE with ellipsis)Douglas Gregor4-18/+90
2007-03-31 Douglas Gregor <doug.gregor@gmail.com> PR c++/31138 PR c++/31140 PR c++/31141 * parser.c (declarator_can_be_parameter_pack): New. (cp_parser_template_parameter): Only parse the `...' if the declarator can be a parameter pack. (cp_parser_parameter_declaration): Ditto. Also, handle when TYPE is NULL. * pt.c (find_parameter_packs_r): Look into the bounds on integer types (they could be used as array bounds). (check_for_bare_parameter_packs): Deal with TEMPLATE_PARM_INDEX. (tsubst_pack_expansion): Handle failure to expand parameter packs. 2007-03-31 Douglas Gregor <doug.gregor@gmail.com> * g++.dg/parser/pr31138.C: New. * g++.dg/parser/pr31140.C: New. * g++.dg/parser/pr31141.C: New. From-SVN: r123380
2007-03-31predicates.md (even_register_operand, [...]): New predicates.Anatoly Sokolov3-0/+45
* config/avr/predicates.md (even_register_operand, odd_register_operand): New predicates. * config/avr/avr.md (movw peephole2): New. (movw_r peephole2): New. From-SVN: r123379
2007-03-30Daily bump.GCC Administrator1-1/+1
From-SVN: r123377
2007-03-30typeck.c (java_signed_or_unsigned_type): Remove.Rafael Avila de Espindola22-75/+75
gcc/java/ChangeLog: * typeck.c (java_signed_or_unsigned_type): Remove. (java_signed_type): use get_signed_or_unsigned_type instead of java_signed_or_unsigned_type. (java_unsigned_type): Ditto. * lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove. * java-tree.h (java_signed_or_unsigned_type): Remove gcc/Changelog: * tree.h(get_signed_or_unsigned_type): New * fold-const.c (operand_equal_for_comparison_p): Use get_signed_or_unsigned_type instead of lang_hooks.types.signed_or_unsigned_type. * expr.c (store_expr): Ditto. * langhooks.c (get_signed_or_unsigned_type): New. (lhd_signed_or_unsigned_type): New * langhooks.h (lhd_signed_or_unsigned_type): New. * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. gcc/treelang/ChangeLog: * treetree.c (tree_lang_signed_or_unsigned_type): Remove. (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE) Remove. gcc/ada/ChangeLog: * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type instead of gnat_signed_or_unsigned_type. * utils.c (gnat_signed_or_unsigned_type): Remove. * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove * gigi.h (gnat_signed_or_unsigned_type): Remove gcc/forrtan/trans-types.c: * trans-types.c (gfc_signed_or_unsigned_type): Remove. (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of gfc_signed_or_unsigned_type. (gfc_signed_type): Ditto. * trans-types.h (gfc_signed_or_unsigned_type): Remove. * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove. From-SVN: r123373
2007-03-30cygming.h (DWARF2_DEBUGGING_INFO): Enable by default for 64-bit.Richard Henderson14-188/+519
gcc/ * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by default for 64-bit. (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. (TARGET_64BIT_MS_ABI): New. (DBX_REGISTER_NUMBER): Handle 64-bit. (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. (LONG_TYPE_SIZE): Force to 32. (REG_PARM_STACK_SPACE): New. (OUTGOING_REG_PARM_STACK_SPACE): New. (REGPARM_MAX, SSE_REGPARM_MAX): New. (HANDLE_PRAGMA_PUSH_POP_MACRO): New. (STACK_BOUNDARY): Use 128 for 64-bit. * config/i386/cygwin.asm: Use push/ret to preserve call stack. Add 64-bit implementation. * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor argument unused. * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm for 64-bit; use TARGET_SUBTARGET64_DEFAULT. (ix86_handle_cconv_attribute): Don't warn when ignoring if TARGET_64BIT_MS_ABI. (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. (ix86_pass_by_reference): Likewise. (ix86_function_value_regno_p): Likewise. (ix86_build_builtin_va_list): Likewise. (ix86_va_start, ix86_gimplify_va_arg): Likewise. (function_arg_advance_ms_64): New. (function_arg_advance): Call it. (function_arg_ms_64): New. (function_arg): Call it. (function_value_ms_64): New. (ix86_function_value_1): Call it. (return_in_memory_ms_64): New. (ix86_return_in_memory): Call it. (setup_incoming_varargs_ms_64): New. (ix86_setup_incoming_varargs): Call it. (ix86_expand_prologue): Handle 64-bit stack probing. (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. (output_pic_addr_const): Likewise. (x86_this_parameter): Likewise. (x86_output_mi_thunk): Likewise. (x86_function_profiler): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): New. * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. (TARGET_64BIT_MS_ABI): New. (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. * config/i386/i386.md (allocate_stack_worker): Remove. (allocate_stack_worker_32): Rename from allocate_stack_worker_1; describe the clobber of eax without a match_scratch. (allocate_stack_worker_postreload): Remove. (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. (allocate_stack_worker_rex64_postreload): Remove. (allocate_stack): Handle 64-bit. * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. (STANDARD_STARTFILE_PREFIX_1): Likewise. * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. * config.build (x86_64-*-mingw*): New host. * config.host (x86_64-*-mingw*): New host. * config.gcc (x86_64-*-mingw*): New target. * gthr-win32.h (__gthread_key_create): Mark dtor unused. libgcc/ * config.host (x86_64-*-mingw*): New target. Co-Authored-By: Kai Tietz <kai.tietz@onevision.com> From-SVN: r123372
2007-03-30tree-ssa-loop-ivopts.c: Include target.h.Richard Henderson2-9/+23
* tree-ssa-loop-ivopts.c: Include target.h. (produce_memory_decl_rtl): Pass the rtx through encode_section_info. (get_address_cost): Force SYMBOL_FLAG_LOCAL set. (force_expr_to_var_cost): Use produce_memory_decl_rtl. * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. From-SVN: r123371
2007-03-30directives.c (lex_macro_node_from_str): New.Richard Henderson4-0/+191
libcpp/ * directives.c (lex_macro_node_from_str): New. (cpp_push_definition, cpp_pop_definition): New. * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare. gcc/ * c-pragma.c (struct def_pragma_macro_value): New. (struct def_pragma_macro): New. (pushed_macro_table): New. (dpm_hash, dpm_eq): New. (handle_pragma_push_macro, handle_pragma_pop_macro): New. (init_pragma): Install them. * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. Co-Authored-By: Kai Tietz <kai.tietz@onevision.com> From-SVN: r123370
2007-03-31avr.c (avr_override_options): Clear 'flag_delete_null_pointer_checks'.Anatoly Sokolov2-0/+7
* config/avr/avr.c (avr_override_options): Clear 'flag_delete_null_pointer_checks'. From-SVN: r123367
2007-03-30re PR c++/26099 (support for type traits is not available)Paolo Carlini35-11/+2219
gcc/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as C++ extensions. * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. gcc/cp/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * cp-tree.h (enum cp_trait_kind, struct tree_trait_expr, TRAIT_EXPR_TYPE1, TRAIT_EXPR_TYPE2, TRAIT_EXPR_KIND): Add. (enum cp_tree_node_structure_enum, union lang_tree_node): Update. (CLASS_TYPE_NON_UNION_P): Add. (struct lang_type_class): Add has_complex_dflt. (TYPE_HAS_COMPLEX_DFLT, TYPE_HAS_TRIVIAL_DFLT): Add. (locate_copy, locate_ctor, locate_dtor, finish_trait_expr): Declare. * cp-tree.def: Add TRAIT_EXPR. * cp-objcp-common.c (cp_tree_size): Add TRAIT_EXPR case. * lex.c (struct resword): Add __has_nothrow_assign, __has_nothrow_constructor, __has_nothrow_copy, __has_trivial_assign, __has_trivial_constructor, __has_trivial_copy, __has_trivial_destructor, __has_virtual_destructor, __is_abstract, __is_base_of, __is_class, __is_convertible_to, __is_empty, __is_enum, __is_pod, __is_polymorphic, __is_union. * parser.c (cp_parser_primary_expression): Deal with the new RIDs. (cp_parser_trait_expr): New. * semantics.c (finish_trait_expr, trait_expr_value classtype_has_nothrow_copy_or_assign_p): New. * method.c (locate_copy, locate_ctor, locate_dtor): Do not define as static. * decl.c (cp_tree_node_structure): Add TRAIT_EXPR. * class.c (check_bases, check_field_decl, check_bases_and_members): Deal with TYPE_HAS_COMPLEX_DFLT (t) too. * pt.c (uses_template_parms, tsubst_copy_and_build, value_dependent_expression_p, type_dependent_expression_p): Deal with TRAIT_EXPR. * tree.c (cp_walk_subtrees): Deal with TRAIT_EXPR. gcc/testsuite/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * g++.dg/ext/is_base_of.C: New. * g++.dg/ext/has_virtual_destructor.C: New. * g++.dg/ext/is_polymorphic.C: New. * g++.dg/ext/is_base_of_diagnostic.C: New. * g++.dg/ext/is_enum.C: New. * g++.dg/ext/has_nothrow_assign.C: New. * g++.dg/ext/has_nothrow_constructor.C: New. * g++.dg/ext/is_empty.C: New. * g++.dg/ext/has_trivial_copy.C: New. * g++.dg/ext/has_trivial_assign.C: New. * g++.dg/ext/is_abstract.C: New. * g++.dg/ext/is_pod.C: New. * g++.dg/ext/has_nothrow_copy.C: New. * g++.dg/ext/is_class.C: New. * g++.dg/ext/has_trivial_constructor.C: New. * g++.dg/ext/is_union.C: New. * g++.dg/ext/has_trivial_destructor.C: New. * g++.dg/tree-ssa/pr22444.C: Adjust, avoid __is_pod. * g++.dg/template/crash43.C: Likewise. libstdc++-v3/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * include/bits/cpp_type_traits.h (struct __is_pod, struct __is_empty): Remove. * include/bits/valarray_array.h: Adjust. * include/bits/allocator.h: Likewise. * include/bits/stl_tree.h: Likewise. From-SVN: r123366