2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
* lex.c (unqualified_fn_lookup_error): Mention that the error
message needs to be kept in synch with the manual.
From-SVN: r69676
cp:
PR c++/11614
* decl.c (grokdeclarator): An array member is only a flexible
array member if the field itself is the array.
testsuite:
* g++.dg/ext/flexary1.C: New test.
From-SVN: r69673
cp:
* cp-tree.h (enum cp_lvalue_kind): Add clk_packed.
* tree.c (lvalue_p_1): Set it.
* class.c (check_field): Don't allow non-packed non-POD fields to
be packed.
* call.c (reference_binding): Need a temporary for all bitfield
and packed fields.
(convert_like_real): Check it is ok to make a temporary here.
testsuite:
* g++.dg/ext/packed3.C: New test.
* g++.dg/ext/packed4.C: New test.
From-SVN: r69669
* c-common.c (handle_packed_attribute): Don't pack a struct via a
typedef. Propagate packedness from a main variant.
testsuite:
* gcc.dg/pack-test-3.c: New test.
From-SVN: r69668
* c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
(finish_decl): Call maybe_apply_pragma_weak here.
(grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
TREE_PUBLIC and TREE_STATIC are decided.
(start_function): Move call to maybe_apply_pragma_weak. Check that
DECL_ASSEMBLER_NAME isn't set too early.
From-SVN: r69660
* config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
* config/rs6000/rs6000.c (rs6000_return_addr): Set it.
(rs6000_emit_prologue): Save FPRs inline if set.
From-SVN: r69645
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
* rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
table.
From-SVN: r69637
(_EqualityComparableConcept::__constraints): Remove != from the
list of constraints; it is not listed in Table 28 of the C++98
standard.
From-SVN: r69636
PR optimization/11536
* unroll.c (loop_iterations): Do not replace a register holding
the final value by its equivalent before the loop if it is not
invariant.
PR optimization/11536
* gcc.dg/20030721-1.c: New test.
From-SVN: r69635
2003-07-20 Steve Pribyl <steve@netfuel.com.>
* gnu/gcj/runtime/natSharedLibLoader.cc (init): `libname' now a
String. Put dlerror() message into exception.
Include UnsatisfiedLinkError.
* gnu/gcj/runtime/SharedLibLoader.java (init): `libname' now a
String. Now native.
From-SVN: r69622
2003-07-20 Phil Edwards <pme@gcc.gnu.org>
* configure.in: Cache the results of testing for cmp's capabilities.
* configure: Regenerate.
From-SVN: r69607
* java/net/URL.java
(URL): Fixed documentation to name an argument correcty, Reformatted
one method declaration.
(getURLStreamHandler): Added documentation from classpath.
From-SVN: r69606
(push_label_level, pop_label_level): Kill.
(struct binding_level): Rename level_chain to outer.
Add outer_function field. Change parm_flag, function_body,
keep, keep_if_subblocks to 1-bit bitfields of type bool.
(current_function_level): New variable.
(keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
(keep_next_level, declare_parm_level, warn_if_shadowing):
Update to match.
(struct language_function): Kill named_labels, shadowed_labels fields.
(c_init_decl_processing, start_function, c_push__function_context)
(c_pop_function_context): No need to muck with named_labels nor
shadowed_labels.
(make_binding_level): No need to clear the structure here.
(pop_binding_level): Always operate on current_binding_level.
Update current_function_level if necessary.
(pushlevel): Don't clear named_labels. Update current_function_level
if necessary. Use "true" and "false" where appropriate.
(poplevel): Diagnose labels defined but not used, or vice
versa, and clear out label-meanings leaving scope, while
walking down the decls list, for all binding levels.
Handle LABEL_DECLs appearing in the shadowed list.
pop_binding_level takes no arguments.
(pushdecl_function_level): Use current_function_level.
(make_label, bind_label): New static functions.
(declare_label): New exported function.
(lookup_label, define_label): Rewritten for new data structure.
(shadow_label): Kill.
* c-tree.h: Prototype declare_label; don't prototype
push_label_level, pop_label_level, nor shadow_label.
* c-parse.in: Remove all calls to push_label_level and
pop_label_level. Use declare_label for __label__ decls.
* doc/extend.texi: Clarify that __label__ can be used to
declare labels with local scope in any nested block, not
just statement expressions. Cross-reference nested functions
section from local labels section.
testsuite:
* gcc.dg/noncompile/label-1.c: New comprehensive test case for
diagnostics of ill-formed constructs involving labels.
* gcc.dg/noncompile/label-lineno-1.c: Add error regexp for
the new 'previously defined here' message.
From-SVN: r69597