Commit 7a00d767 by Uros Bizjak

re PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big)

	PR c/39323
	* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h

testsuite/ChangeLog:

	PR c/39323
	* gcc.dg/pr39323-2.c: Also scan for alignment in log2 format.
	* gcc.dg/pr39323-3.c: Ditto.

From-SVN: r146881
parent 6596e2fe
2009-04-28 Uros Bizjak <ubizjak@gmail.com>
PR c/39323
* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h
2009-04-28 Richard Guenther <rguenther@suse.de>
* tree.h (SSA_NAME_VALUE): Remove.
......@@ -34,7 +39,7 @@
* tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
vect_loop_def to vect_external_def and vect_internal_def.
(enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
and REPORT_UNVECTORIZED_LOOPS to REPORT_VECTORIZED_LOCATIONS and
and REPORT_UNVECTORIZED_LOOPS to REPORT_VECTORIZED_LOCATIONS and
REPORT_UNVECTORIZED_LOCATIONS.
(enum vect_relevant): Update comment. Rename vect_unused_in_loop
and vect_used_in_loop and to vect_unused_in_scope and
......@@ -123,19 +128,16 @@
* hooks.c (hook_int_void_no_regs): Remove function.
* hooks.h (hook_int_void_no_regs): Remove declaration.
* optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
* predict.c (combine_predictions_for_insn): Add casts to enum
type.
* predict.c (combine_predictions_for_insn): Add casts to enum type.
* real.c (real_arithmetic): Add cast to enum type.
(real_compare): Likewise.
* target.h (struct gcc_target): Change return type of
branch_target_register_class to enum reg_class.
* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
default_branch_target_register_class.
* targhooks.c (default_branch_target_register_class): New
function.
* targhooks.c (default_branch_target_register_class): New function.
* targhooks.h (default_branch_target_register_class): Declare.
* tree-data-ref.c (print_direction_vector): Add cast to enum
type.
* tree-data-ref.c (print_direction_vector): Add cast to enum type.
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
cast to int.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
......@@ -144,8 +146,7 @@
vect_uninitialized_def. Change 0 to ERROR_MARK.
* tree-vect-stmts.c (supportable_widening_operation): Don't
initialize icode1 and icode2.
* tree-vectorizer.h (enum vect_def_type): Add
vect_uninitialized_def.
* tree-vectorizer.h (enum vect_def_type): Add vect_uninitialized_def.
* config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
and to STD_C89.
(cmn_err_flag_specs): Change 0 to STD_C89.
......@@ -171,8 +172,7 @@
casts to enum type.
* config/s390/s390.c (s390_tune_flags): Change type to int.
(s390_arch_flags): Likewise.
(s390_handle_arch_option): Change flags field of struct pta to
int.
(s390_handle_arch_option): Change flags field of struct pta to int.
* config/s390/s390.h (s390_tune_flags): Update declaration.
(s390_arch_flags): Likewise.
* config/sh/sh.c (prepare_move_operands): Compare
......@@ -187,10 +187,8 @@
(sh_target_reg_class): Change return type to enum reg_class.
* config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
PROCESSOR_xxx.
* config/sh/sh-protos.h (tls_symbolic_operand): Update
declaration.
* config/sparc/sparc.c (sparc_override_options): Add cast to enum
type.
* config/sh/sh-protos.h (tls_symbolic_operand): Update declaration.
* config/sparc/sparc.c (sparc_override_options): Add cast to enum type.
* config/sparc/sparc.md (empty_delay_slot): Return enum constant.
(pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
(delayed_branch, tls_call_delay): Likewise.
......@@ -210,16 +208,13 @@
* doc/c-tree.texi (Types, Functions, Expression trees): Fix
grammar nits.
* doc/cfg.texi (Maintaining the CFG, Liveness information):
Likewise.
* doc/cfg.texi (Maintaining the CFG, Liveness information): Likewise.
* doc/cpp.texi (Standard Predefined Macros)
(Implementation-defined behavior): Likewise.
* doc/extend.texi (Function Attributes, Type Attributes):
Likewise.
* doc/extend.texi (Function Attributes, Type Attributes): Likewise.
* doc/gimple.texi (GIMPLE Exception Handling)
(@code{GIMPLE_ASSIGN}): Likewise.
* doc/install.texi (Prerequisites, Configuration, Specific):
Likewise.
* doc/install.texi (Prerequisites, Configuration, Specific): Likewise.
* doc/invoke.texi (Warning Options, Optimize Options)
(AVR Options, Darwin Options): Likewise.
(Optimize Options): Reformulate -fwhole-program description.
......@@ -247,8 +242,7 @@
(exp2_immediate_p, spu_gen_exp2): Define.
* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
spu_convtf_1): Update parameter descriptions.
* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
Update.
* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu): Update.
* constraints.md ('v', 'w'): New.
* spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
Remove.
......
/* Definitions of target machine for GNU compiler, for DEC Alpha w/ELF.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008
Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008,
2009 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu).
This file is part of GCC.
......@@ -142,18 +142,20 @@ do { \
ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \
} while (0)
/* Biggest alignment supported by the object file format of this
machine. Use this macro to limit the alignment which can be
specified using the `__attribute__ ((aligned (N)))' construct. If
not defined, the default value is `BIGGEST_ALIGNMENT'.
/* The biggest alignment supported by ELF in bits. 32-bit ELF
supports section alignment up to (0x80000000 * 8), while
64-bit ELF supports (0x8000000000000000 * 8). If this macro
is not defined, the default is the largest alignment supported
by 32-bit ELF and representable on a 32-bit host. Use this
macro to limit the alignment which can be specified using
the `__attribute__ ((aligned (N)))' construct.
This value is really 2^63. Since gcc figures the alignment in bits,
we could only potentially get to 2^60 on suitable hosts. Due to other
considerations in varasm, we must restrict this to what fits in an int. */
#undef MAX_OFILE_ALIGNMENT
#define MAX_OFILE_ALIGNMENT \
(1 << (HOST_BITS_PER_INT < 64 ? HOST_BITS_PER_INT - 2 : 62))
#define MAX_OFILE_ALIGNMENT (((unsigned int) 1 << 28) * 8)
/* This is the pseudo-op used to generate a contiguous sequence of byte
values from a double-quoted string WITHOUT HAVING A TERMINATING NUL
......
2009-04-28 Uros Bizjak <ubizjak@gmail.com>
PR c/39323
* gcc.dg/pr39323-2.c: Also scan for alignment in log2 format.
* gcc.dg/pr39323-3.c: Ditto.
2009-04-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/39930
......
......@@ -3,4 +3,4 @@
int bar __attribute__ ((aligned(1 << 28))) = 20;
/* { dg-final { scan-assembler "\.align\[\\t \]*268435456" } } */
/* { dg-final { scan-assembler ".align\[ \t\]+(268435456|28)\[ \t\]*\n" } } */
......@@ -4,4 +4,4 @@
typedef int __attribute__ ((aligned(1 << 28))) int28;
int28 foo = 20;
/* { dg-final { scan-assembler "\.align\[\\t \]*268435456" } } */
/* { dg-final { scan-assembler ".align\[ \t\]+(268435456|28)\[ \t\]*\n" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment