PR preprocessor/34692
* macro.c (collect_args): Add pragma_buff argument. Push
CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
than into arguments. Reset prevent_expansion and parsing_args
state at CPP_PRAGMA_EOL/CPP_EOF.
(funlike_invocation_p): Add pragma_buff argument, pass it through
to collect_args.
(enter_macro_context): Add result argument. Adjust
funlike_invocation_p caller. Emit all deferred pragma tokens
gathered during collect_args before the expansion, add a padding
token. Return 2 instead of 1 if any pragma tokens were prepended.
(cpp_get_token): If enter_macro_context returns 2, don't return
a padding token, instead cycle to grab CPP_PRAGMA token.
* directives.c (_cpp_handle_directive): If was_parsing_args
in deferred pragma, leave parsing_args and prevent_expansion as is.
* gcc.dg/cpp/pr34692.c: New test.
* gcc.dg/gomp/pr34692.c: New test.
From-SVN: r131819
2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
* ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
New functions.
(remove_structure): Update allocations list before removing structure.
From-SVN: r131818
2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
* ipa-struct-reorg.c (is_safe_cond_expr,
create_new_stmts_for_cond_expr): Use integer_zerop function,
that recognize not only zero-pointer, but zero-integer too.
2008-01-24 Olga Golovanevsky <olga@il.ibm.com>
* gcc.dg/struct/wo_prof_malloc_size_var.c: UnXFAIL.
From-SVN: r131817
2008-01-24 Daniel Franke <franke.daniel@gmail.com>
* gfortran.texi (OpenMP): Extended existing documentation.
(contributors): Added major contributors of 2008 that were
not listed yet.
(proposed extensions): Removed implemented items.
From-SVN: r131800
gcc/
PR tree-optimization/34472
* ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
parameter to a "bool *" and set *DATA to false if there is
an unsafe access. Do not delete the structure here.
(check_cond_exprs): Delete it here instead.
(check_cond_exprs, exclude_cold_structs): Do not increase
I when removing a structure.
From-SVN: r131798
PR middle-end/34934
* tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
a fixed vector for stack.
* gcc.c-torture/compile/20080124-1.c: New test.
From-SVN: r131780
PR c++/34913
* decl2.c (is_late_template_attribute): Defer any attribute with
dependent args. Also defer type attributes if the type is dependent.
From-SVN: r131779
2008-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34872
* parse.c (next_statement) : If ST_GET_FCN_CHARACTERISTICS is
seen, check for a statement label and, if present, delete it
and set the locus to the start of the statement.
2008-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34872
* gfortran.dg/function_charlen_3.f: New test.
From-SVN: r131777
2008-01-23 Richard Guenther <rguenther@suse.de>
PR middle-end/31529
* cgraphunit.c (cgraph_reset_node): Always mark the node
not reachable if it is not queued already.
* gcc.dg/pr31529-1.c: New testcase.
* gcc.dg/pr31529-2.c: Likewise.
From-SVN: r131758
2008-01-23 Thiago Jung Bauermann <bauerman@br.ibm.com>
* cplus-dem.c (demangle_function_name): Changed to return value
indicating if a name was correctly demangled.
(iterate_demangle_function): Use demangle_function_name return
value.
From-SVN: r131754
* config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
* config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
(cputype_selected): New static variable.
(bfin_handle_option): Set it if -mcpu is used.
(override_option): Select default set of workarounds if no cpu type
selected on the command line.
(workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
From-SVN: r131752
gcc/cp/ChangeLog:
PR c++/33984
* call.c (reference_binding): For bitfields use the declared bitfield
type.
(add_builtin_candidates): Likewise.
* class.c (layout_class_type): For bitfields copy over the
original type quals.
gcc/testsuite/ChangeLog:
PR c++/33984
* g++.dg/conversion/bitfield7.C: New test.
* g++.dg/cpp0x/decltype4.C: Fixed xfail.
From-SVN: r131751
From Michael Frysinger <michael.frysinger@analog.com>
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
* config/bfin/elf.h (LIB_SPEC): Use proper linker script
for bf547, bf523, bf524, and bf526.
* config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
bf526.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
__ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
__ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
__ADSPBF547__ and __ADSPBF54x__ for bf547.
* doc/invoke.texi (Blackfin Options): Document that
-mcpu now accept bf547, bf523, bf524, and bf526.
gcc/testsuite/
From Michael Frysinger <michael.frysinger@analog.com>
* gcc.target/bfin/mcpu-bf547.c: New test.
* gcc.target/bfin/mcpu-bf523.c: New test.
* gcc.target/bfin/mcpu-bf524.c: New test.
* gcc.target/bfin/mcpu-bf526.c: New test.
From-SVN: r131746