Commit Graph

92214 Commits

Author SHA1 Message Date
Jason Merrill 6ab282f650 re PR c++/39526 (-Wshadow reports shadowed declarations for parameters of unnamed temp objects)
PR c++/39526
        * name-lookup.c (pushdecl_maybe_friend): Don't warn about shadowing
        a parm with a parm.

From-SVN: r145012
2009-03-23 16:32:53 -04:00
Richard Guenther 3691626c34 cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
2009-03-23  Richard Guenther  <rguenther@suse.de>

	* cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
	* tree.h (struct tree_type): Likewise.
	* reload.h (struct insn_chain): Likewise.
	* dwarf2out.c (struct dw_loc_descr_struct): Likewise.
	* function.h (struct function): Likewise.
	* tree-ssa-structalias.c (struct equiv_class_label): Likewise.

From-SVN: r145009
2009-03-23 16:29:33 +00:00
Jakub Jelinek 88ccb72ad1 re PR tree-optimization/39516 (internal compiler error: in copy_to_mode_reg, at explow.c:623)
PR tree-optimization/39516
	* lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.

	* gfortran.dg/pr39516.f: New test.

From-SVN: r145008
2009-03-23 15:00:34 +01:00
Bingfeng Mei a583a67ee3 config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint should be set true if...
2009-03-23 Bingfeng Mei  <bmei@broadcom.com>

	* config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint 
	should be set true if BITS_PER_WORD of target is bigger than 32

From-SVN: r145006
2009-03-23 13:06:55 +00:00
GCC Administrator 4bae24f355 Daily bump.
From-SVN: r145003
2009-03-23 00:16:50 +00:00
Mark Mitchell 8ef20caeb4 iterator.cc: Condition iterations for simulators.
* testsuite/25_algorithms/search_n/iterator.cc: Condition
	iterations for simulators.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
	Condition stream width for simulators.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
	Likewise.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.

From-SVN: r144999
2009-03-22 16:02:44 +00:00
Hans-Peter Nilsson f82162f8a1 linux.h (CRIS_LINK_SUBTARGET_SPEC): Translate -B-options to -rpath-link.
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
	Translate -B-options to -rpath-link.  Correct existing
	rpath-link and conditionalize on !nostdlib.

From-SVN: r144998
2009-03-22 15:15:04 +00:00
Hans-Peter Nilsson 78425caa1d target-libpath.exp (set_ld_library_path_env_vars): Correct TEST_GCC_EXEC_PREFIX test to check existence as a tcl variable...
* lib/target-libpath.exp (set_ld_library_path_env_vars):
	Correct TEST_GCC_EXEC_PREFIX test to check existence as a tcl
	variable, not environment variable.

From-SVN: r144997
2009-03-22 14:59:14 +00:00
Janne Blomqvist f3ed1d0222 Revert part of patch accidentally committed to trunk rather than fortran-dev (I hate svn)
From-SVN: r144994
2009-03-22 13:32:29 +02:00
Janne Blomqvist 9e544d738a PR libfortran/25561 libfortran/37754
2009-03-22  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/25561 libfortran/37754
	* io/io.h (struct stream): Define new stream interface function
	pointers, and inline functions for accessing it.
	(struct fbuf): Use int instead of size_t, remove flushed element.
	(mem_alloc_w): New prototype.
	(mem_alloc_r): New prototype.
	(stream_at_bof): Remove prototype.
	(stream_at_eof): Remove prototype.
	(file_position): Remove prototype.
	(flush): Remove prototype.
	(stream_offset): Remove prototype.
	(unit_truncate): New prototype.
	(read_block_form): Change to return pointer, int* argument.
	(hit_eof): New prototype.
	(fbuf_init): Change prototype.
	(fbuf_reset): Change prototype.
	(fbuf_alloc): Change prototype.
	(fbuf_flush): Change prototype.
	(fbuf_seek): Change prototype.
	(fbuf_read): New prototype.
	(fbuf_getc_refill): New prototype.
	(fbuf_getc): New inline function.
        * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
	(fbuf_debug): New function.
	(fbuf_reset): Flush, and return position offset.
	(fbuf_alloc): Simplify, don't flush, just realloc.
	(fbuf_flush): Make usable for read mode, salvage remaining bytes.
	(fbuf_seek): New whence argument.
	(fbuf_read): New function.
	(fbuf_getc_refill): New function.
	* io/file_pos.c (formatted_backspace): Use new stream interface.
	(unformatted_backspace): Likewise.
	(st_backspace): Make sure format buffer is reset, use new stream
	interface, use unit_truncate.
	(st_endfile): Likewise.
	(st_rewind): Likewise.
	* io/intrinsics.c: Use new stream interface.
	* io/list_read.c (push_char): Don't use u.p.scratch, use realloc
	to resize.
	(free_saved): Don't check u.p.scratch.
	(next_char): Use new stream interface, use fbuf_getc() for external files.
	(finish_list_read): flush format buffer.
	(nml_query): Update to use modified interface:s
	* io/open.c (test_endfile): Use new stream interface.
	(edit_modes): Likewise.
	(new_unit): Likewise, set bytes_left to 1 for stream files.
	* io/read.c (read_l): Use new read_block_form interface.
	(read_utf8): Likewise.
	(read_utf8_char1): Likewise.
	(read_default_char1): Likewise.
	(read_utf8_char4): Likewise.
	(read_default_char4): Likewise.
	(read_a): Likewise.
	(read_a_char4): Likewise.
	(read_decimal): Likewise.
	(read_radix): Likewise.
	(read_f): Likewise.
	* io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
	usage of u.p.line_buffer.
	(read_block_form): Update interface to return pointer, use
	fbuf_read for direct access.
	(read_block_direct): Update to new stream interface.
	(write_block): Use mem_alloc_w for internal I/O.
	(write_buf): Update to new stream interface.
	(formatted_transfer_scalar): Don't use u.p.line_buffer, use
	fbuf_seek for external files.
	(us_read): Update to new stream interface.
	(us_write): Likewise.
	(data_transfer_init): Always check if we switch modes and flush.
	(skip_record): Use new stream interface, fix comparison.
	(next_record_r): Check for and reset u.p.at_eof, use new stream
	interface, use fbuf_getc for spacing.
	(write_us_marker): Update to new stream interface, don't inline.
	(next_record_w_unf): Likewise.
	(sset): New function.
	(next_record_w): Use new stream interface, use fbuf for printing
	newline.
	(next_record): Use new stream interface.
	(finalize_transfer): Remove sfree call, use new stream interface.
	(st_iolength_done): Don't use u.p.scratch.
	(st_read): Don't check for end of file.
	(st_read_done): Don't use u.p.scratch, use unit_truncate.
	(hit_eof): New function.
	* io/unit.c (init_units): Always init fbuf for formatted units.
	(update_position): Use new stream interface.
	(unit_truncate): New function.
	(finish_last_advance_record): Use fbuf to print newline.
	* io/unix.c: Remove unused SSIZE_MAX macro.
	(BUFFER_SIZE): Make static const variable rather than macro.
	(struct unix_stream): Remove dirty_offset, len, method,
	small_buffer. Order elements by decreasing size.
	(struct int_stream): Remove.
	(move_pos_offset): Remove usage of dirty_offset.
	(reset_stream): Remove.
	(do_read): Rename to raw_read, update to match new stream
	interface.
	(do_write): Rename to raw_write, update to new stream interface.
	(raw_seek): New function.
	(raw_tell): New function.
	(raw_truncate): New function.
	(raw_close): New function.
	(raw_flush): New function.
	(raw_init): New function.
	(fd_alloc): Remove.
	(fd_alloc_r_at): Remove.
	(fd_alloc_w_at): Remove.
	(fd_sfree): Remove.
	(fd_seek): Remove.
	(fd_truncate): Remove.
	(fd_sset): Remove.
	(fd_read): Remove.
	(fd_write): Remove.
	(fd_close): Remove.
	(fd_open): Remove.
	(fd_flush): Rename to buf_flush, update to new stream interface
	and unix_stream.
	(buf_read): New function.
	(buf_write): New function.
	(buf_seek): New function.
	(buf_tell): New function.
	(buf_truncate): New function.
	(buf_close): New function.
	(buf_init): New function.
	(mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
	(mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
	(mem_read): Change to match new stream interface.
	(mem_write): Likewise.
	(mem_seek): Likewise.
	(mem_tell): Likewise.
	(mem_truncate): Likewise.
	(mem_close): Likewise.
	(mem_flush): New function.
	(mem_sfree): Remove.
	(empty_internal_buffer): Cast to correct type.
	(open_internal): Use correct type, init function pointers.
	(fd_to_stream): Test whether to open file as buffered or raw.
	(output_stream): Remove mode set.
	(error_stream): Likewise.
	(flush_all_units_1): Use new stream interface.
	(flush_all_units): Likewise.
	(stream_at_bof): Remove.
	(stream_at_eof): Remove.
	(file_position): Remove.
	(file_length): Update logic to use stream interface.
	(flush): Remove.
	(stream_offset): Remove.
	* io/write.c (write_utf8_char4): Use int instead of size_t.
	(write_x): Extra safety check.
	(namelist_write_newline): Use new stream interface.

[[Split portion of a mixed commit.]]

From-SVN: r144993.2
2009-03-22 12:51:05 +02:00
Ralf Wildenhues 048fd7857b extend.texi (Function Attributes, [...]): Fix typos.
gcc/
	* doc/extend.texi (Function Attributes, Variable Attributes):
	Fix typos.
	* doc/invoke.texi (Debugging Options, Optimize Options)
	(i386 and x86-64 Options, MCore Options): Likewise.

From-SVN: r144992
2009-03-22 08:16:31 +00:00
GCC Administrator 8c54bb6a16 Daily bump.
From-SVN: r144991
2009-03-22 00:16:46 +00:00
Jason Merrill c11655358b re PR c++/28879 (ICE with VLA in template function)
PR c++/28879
        * parser.c (cp_parser_direct_declarator): In a template, wrap
        non-constant expression in NOP_EXPR with TREE_SIDE_EFFECTS set.
        * pt.c (tsubst): Preserve it in a partial instantiation.
        (dependent_type_p_r): Don't check value_dependent_expression_p.
        * decl.c (compute_array_index_type): Don't check
        value_dependent_expression_p if TREE_SIDE_EFFECTS.

From-SVN: r144988
2009-03-21 16:15:41 -04:00
GCC Administrator b39f88bd05 Daily bump.
From-SVN: r144983
2009-03-21 00:16:49 +00:00
Jason Merrill 7225892923 C++ core issue 703
C++ core issue 703
        * typeck2.c (check_narrowing): Don't complain about loss of
        precision when converting a floating-point constant.

From-SVN: r144979
2009-03-20 17:49:18 -04:00
Jakub Jelinek 6e75c1a9f0 re PR debug/37890 (Incorrect nesting for DW_TAG_imported_declaration)
PR debug/37890
	* dwarf2out.c (gen_namespace_die): Add context_die argument and use
	it for block local namespace aliases.
	(gen_decl_die): Pass context_die to gen_namespace_die.

From-SVN: r144978
2009-03-20 17:15:38 +01:00
GCC Administrator e471a70a01 Daily bump.
From-SVN: r144974
2009-03-20 00:16:45 +00:00
Jakub Jelinek 7d1ec26aad compat.exp (compat-get-options-main, [...]): Handle dg-prune-output in source file.
2009-03-19  Jakub Jelinek  <jakub@redhat.com>
	    Janis Johnson  <janis187@us.ibm.com>

	* lib/compat.exp (compat-get-options-main, compat-get-options):
	Handle dg-prune-output in source file.
	* lib/gcc-defs.exp (${tool}_check_compile): Process prune requests.
	* gcc.dg/compat/struct-layout-1_main.c: Use dg-prune for warning.
	* gcc.dg/compat/struct-layout-1_generate.c: Use -Wno-abi, prune
	two warnings.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>

From-SVN: r144971
2009-03-19 22:10:22 +00:00
Jakub Jelinek ea1199ee95 re PR c/39495 (OMP parallel loop w/ unsigned index var rejected)
PR c/39495
	* c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
	minimum or maximum value.

	* parser.c (cp_parser_omp_for_cond): Don't check lhs if decl is NULL.
	(cp_parser_omp_for_loop): Always use cp_parser_omp_for_cond.

	* gcc.dg/gomp/pr39495-1.c: New test.
	* gcc.dg/gomp/pr39495-2.c: New test.
	* g++.dg/gomp/pr39495-1.C: New test.
	* g++.dg/gomp/pr39495-2.C: New test.

From-SVN: r144965
2009-03-19 16:34:00 +01:00
Alexandre Oliva 58929c1068 reginfo.c (globalize_reg): Recompute derived reg sets.
2009-03-19  Alexandre Oliva  <aoliva@redhat.com>

	* reginfo.c (globalize_reg): Recompute derived reg sets.

From-SVN: r144964
2009-03-19 07:46:26 -07:00
Ozkan Sezer 234952b383 re PR target/39063 (libgcc2.c:mprotect() for mingw, incompatible pointer type warning)
PR target/39063
	* libgcc2.c (mprotect): Do not use signed arguments for
	VirtualProtect, use DWORD arguments.  Also fix the 'may
	be used uninitialized' warning for the np variable.

From-SVN: r144957
2009-03-19 10:40:32 +00:00
Jakub Jelinek f57c2f04ae re PR target/39496 (GCC uses non-standard calling conventions for static functions with -O0.)
PR target/39496
	* config/i386/i386.c (ix86_function_regparm): Don't optimize local
	functions using regparm calling conventions when not optimizing.
	(ix86_function_sseregparm): Similarly for sseregparm calling
	conventions.

	* gcc.target/i386/pr39496.c: New test.
	* g++.dg/other/pr39496.C: New test.

From-SVN: r144955
2009-03-19 11:25:43 +01:00
Li Feng 9e517d61f7 re PR middle-end/39500 (autopar fails to parallel)
2009-03-19  Li Feng  <nemokingdom@gmail.com>

	PR middle-end/39500
	* tree-data-ref.c (analyze_subscript_affine_affine): There is no
	dependence if the first conflict is after niter iterations.

testsuite/
	* gcc.dg/autopar/pr39500-1.c: New.
	* gcc.dg/autopar/pr39500-2.c: New.

From-SVN: r144952
2009-03-19 06:49:14 +00:00
Hans-Peter Nilsson 8ef20026dc re PR middle-end/38609 (gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above)
PR middle-end/38609
	* config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
	functions with dynamic stack-pointer adjustments.

From-SVN: r144951
2009-03-19 03:52:58 +00:00
GCC Administrator f75d61d0f3 Daily bump.
From-SVN: r144950
2009-03-19 00:16:51 +00:00
Tom Tromey cfb1f59f5d configure: Rebuild.
* configure: Rebuild.
        * configure.ac (host_libs): Add libiconv.
        * Makefile.in: Rebuild.
        * Makefile.def (host_modules): Add libiconv.
        (configure-gdb, all-gdb): Depend on libiconv.

From-SVN: r144947
2009-03-18 23:32:36 +00:00
Ben Elliston 64e4a1a6ce invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data option; change to -msdata=data.
* doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
	option; change to -msdata=data.

From-SVN: r144946
2009-03-19 08:59:56 +11:00
Jing Yu 80c6520868 Fix missing file and ChangeLog error in previous check-in
From-SVN: r144945
2009-03-18 21:58:15 +00:00
H.J. Lu d680e79da8 dg.exp: Prune graphite.
2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/dg.exp: Prune graphite.

From-SVN: r144944
2009-03-18 14:44:04 -07:00
Ralf Wildenhues 9a0f3e86af c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers, and -fopenmp.
gcc/
	* c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
	and -fopenmp.

gcc/java/
	* lang.opt: Unify help text for -Wdeprecated.

gcc/fortran/
	* lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
	and -fpreprocessed.

From-SVN: r144943
2009-03-18 21:14:53 +00:00
Eric Botcazou 09bc5979b2 re PR target/35180 (built-in-setjmp.x2)
PR target/35180
	* config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.

From-SVN: r144942
2009-03-18 18:54:31 +00:00
Sandra Loosemore 332459cd59 invoke.texi (Code Gen Options): Expand discussion of -fno-common.
2009-03-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Code Gen Options): Expand discussion of
	-fno-common.

From-SVN: r144940
2009-03-18 13:48:07 -04:00
Jakub Jelinek d130d647f6 re PR debug/39485 (-O0 -g still puts whole object to a register)
PR debug/39485
	* function.c (use_register_for_decl): When not optimizing, disregard
	register keyword for variables with types containing methods.

From-SVN: r144939
2009-03-18 18:06:15 +01:00
Jakub Jelinek 8f5929e11f dse.c (struct group_info): Reorder fields for 64-bit hosts.
* dse.c (struct group_info): Reorder fields for 64-bit hosts.
	* matrix-reorg.c (struct matrix_info): Likewise.
	* tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
	* rtl.h (struct mem_attrs): Likewise.
	* df.h (struct df): Likewise.
	* tree-data-ref.h (struct data_dependence_relation): Likewise.
	* ira-int.h (struct ira_allocno): Likewise.
	* df-scan.c (struct df_collection_rec): Likewise.
	* ira.c (struct equivalence): Likewise.
	* function.c (struct temp_slot): Likewise.
	* cfgloop.h (struct loop): Likewise.

	* parser.c (struct cp_token): Reorder fields for 64-bit hosts.
	(eof_token): Adjust.

	* include/cpplib.h (struct cpp_dir): Reorder fields for 64-bit hosts.

From-SVN: r144938
2009-03-18 18:04:26 +01:00
Sebastian Pop 9968d233b3 graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
2009-03-18  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
	(is_simple_operand): Call contains_component_ref_p before calling data
	reference analysis that would fail on COMPONENT_REFs.

	* tree-vrp.c (search_for_addr_array): Fix formatting.

	* g++.dg/graphite: New.
	* g++.dg/graphite/graphite.exp: New.
	* g++.dg/graphite/pr39447.C: New.

From-SVN: r144937
2009-03-18 16:59:55 +00:00
Richard Guenther 69484bfd6c tree-vect-transform.c (vect_loop_versioning): Fold the generated comparisons.
2009-03-18  Richard Guenther  <rguenther@suse.de>

	* tree-vect-transform.c (vect_loop_versioning): Fold the
	generated comparisons.
	* tree-vectorizer.c (set_prologue_iterations): Likewise.
	(slpeel_tree_peel_loop_to_edge): Likewise.

From-SVN: r144934
2009-03-18 15:29:28 +00:00
H.J. Lu 367bdb8d6b re PR c++/39425 (gcc loops after reporting template instantiation errors)
gcc/cp/

2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/39425
	* parser.c (cp_parser_explicit_specialization): Don't skip the
	rest of the specialization when begin_specialization returns
	false.

gcc/testsuite/

2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/39425
	* g++.dg/template/pr39425.C: New.

	* g++.dg/template/spec33.C: Updated.

From-SVN: r144932
2009-03-18 07:56:45 -07:00
GCC Administrator 9515817232 Daily bump.
From-SVN: r144927
2009-03-18 00:16:40 +00:00
Jason Merrill 448545cb51 decl.c (grokfndecl): Set DECL_CONTEXT on parms.
cp/:
        * decl.c (grokfndecl): Set DECL_CONTEXT on parms.
        (duplicate_decls): Adjust DECL_CONTEXT of newdecl's parms.
        * pt.c (check_explicit_specialization): Likewise.
        (tsubst_copy) [PARM_DECL]: Return a dummy parm if we don't have a
        local specialization.
        * tree.c (cp_tree_equal) [PARM_DECL]: Check type and index, not name.
        * decl2.c (parm_index): New fn.
        * semantics.c (finish_decltype_type): Don't use describable_type.
        * mangle.c (write_expression): Likewise.  Mangle ALIGNOF_EXPR.
        Give a sorry for unsupported codes rather than crash.  Mangle
        conversions with other than 1 operand.  New mangling for PARM_DECL.
        * operators.def (ALIGNOF_EXPR): Mangle as az.
  
        * include/demangle.h (enum demangle_component_type): Add
        DEMANGLE_COMPONENT_FUNCTION_PARAM.
        * libiberty/cp-demangle.c (d_make_function_param): new fn.
        (cplus_demangle_mangled_name): Work around abi v2 bug.
        (d_expr_primary): Likewise.
        (cplus_demangle_operators): Add alignof ops.
        (d_expression): Handle function parameters and conversions
        with other than 1 operand.
        (d_print_comp): Handle function parameters.  Fix bug with
        function used in type of function.

From-SVN: r144924
2009-03-17 19:31:18 -04:00
Benjamin Kosnik 0075846f90 appendix_contributing.xml: Add docbook style sheet version information.
2009-03-17  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Add docbook style
	sheet version information. Table-ize docbook element examples.
	* doc/xml/manual/using.xml: Human-readable header
	markup. Alphabetized. Add new headers.
	* doc/html: Regenerate.

From-SVN: r144923
2009-03-17 22:09:26 +00:00
Doug Kwan 03f30216c1 Fix a documentation issue in a previous check in.
Fix a documentation issue in a previous check in.  Move C++ entry to
cp/ChangeLog

From-SVN: r144922
2009-03-17 21:33:00 +00:00
Ralf Wildenhues 0631b69f9a re PR middle-end/37805 (gcc --help=separate)
gcc/
	PR middle-end/37805
	* opts.c (print_specific_help): In addition to `undocumented',
	accept `separate' and `joined' flags if passed alone.  Describe
	output by the first matched one of those.
	(common_handle_option): Skip over empty strings.
	* gcc.c (display_help): Fix help string for `--help='.
	* doc/invoke.texi (Option Summary, Overall Options): With
	`--help=', classes and qualifiers can both be repeated, but
	only the latter can be negated.  One should not pass only
	negated qualifiers.  Fix markup and examples.

From-SVN: r144921
2009-03-17 21:25:59 +00:00
Ralf Wildenhues 668112286a revert: re PR middle-end/37805 (gcc --help=separate)
gcc/
	Revert
	2008-10-14  Jakub Jelinek  <jakub@redhat.com>
	PR middle-end/37805
	* opts.c (common_handle_option): Don't ICE on -fhelp=joined
	and -fhelp=separate.

From-SVN: r144920
2009-03-17 21:23:28 +00:00
Paolo Carlini ff284b4bbe re PR c++/39475 (c++0x type-traits should error out in case of incompleteness)
/cp
2009-03-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39475
	* semantics.c (check_trait_type): New.
	(finish_trait_expr): Use it.

/testsuite
2009-03-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39475
	* g++.dg/ext/unary_trait_incomplete.C: New.

From-SVN: r144919
2009-03-17 20:49:23 +00:00
Jing Yu 3c072c6ba2 re PR middle-end/39378 (Multiple inheritence thunk not working with -mthumb)
2009-03-12  Jing Yu  <jingyu@google.com>

	PR middle-end/39378
	* function.h: Move is_thunk from rtl_data structure to function
	structure.
	* cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
	* varasm.c (assemble_start_function): Change is_thunk from crtl to
	cfun.
	* config/alpha/alpha.c: Change is_thunk from crtl to cfun.
	* config/rs6000/rs6000.c: Change is_thunk from crtl to cfun.
	* config/arm/arm.h: Change is_thunk from crtl to cfun.
	* testsuite/g++.dg/inherit/thunk10.C: New file.

	Patch submitted by Doug Kwan <dougkwan@google.com>

From-SVN: r144918
2009-03-17 20:18:21 +00:00
Uros Bizjak 9ade279bf6 re PR target/39482 (ICE in inline_secondary_memory_needed, at config/i386/i386.c:25478)
PR target/39482
	* config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
	from different units in a single alternative.
	(*truncdfsf_i387): Ditto.
	(*truncxfsf2_mixed): Ditto.
	(*truncxfdf2_mixed): Ditto.

testsuite/ChangeLog:

	PR target/39482
	* gcc.target/i386/pr39482.c: New test.

From-SVN: r144915
2009-03-17 19:55:40 +01:00
Jakub Jelinek df5deb18f1 re PR debug/39474 (DW_AT_location missing for unused variables even at -O0)
PR debug/39474
	* tree-ssa-live.c (remove_unused_locals): Don't remove local
	unused non-artificial variables when not optimizing.

From-SVN: r144914
2009-03-17 18:53:01 +01:00
Jakub Jelinek 47512a6e9d re PR debug/37890 (Incorrect nesting for DW_TAG_imported_declaration)
PR debug/37890
	* name-lookup.c (do_namespace_alias): Don't call global_decl debug
	hook at function scope.

From-SVN: r144913
2009-03-17 18:52:08 +01:00
Jakub Jelinek 98381eb487 dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
* dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
	non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.

	* name-lookup.c (cp_emit_debug_info_for_using): Emit USING_STMTs
	instead of calling imported_module_or_decl debug hook if
	building_stmt_tree ().
	* cp-gimplify.c (cp_gimplify_expr): Don't assert the first operand
	is a NAMESPACE_DECL.

From-SVN: r144912
2009-03-17 18:51:10 +01:00
Jakub Jelinek a3f596ba3d re PR debug/39471 (DW_TAG_imported_module should be used (not DW_TAG_imported_declaration))
PR debug/39471
	* dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
	DW_TAG_imported_module even if decl is IMPORTED_DECL with
	NAMESPACE_DECL in its DECL_INITIAL.

	* cp-gimplify.c (cp_gimplify_expr): Don't set DECL_NAME
	on IMPORTED_DECL.

	* g++.dg/debug/dwarf2/imported-module-2.C: Expect
	DW_TAG_imported_module, not just any DW_TAG_imported prefixed tag.
	* g++.dg/debug/dwarf2/imported-module-3.C: Likewise.
	* g++.dg/debug/dwarf2/imported-module-4.C: Likewise.

From-SVN: r144911
2009-03-17 18:49:28 +01:00