PR c/39323
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Apr 2009 09:48:04 +0000 (09:48 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Apr 2009 09:48:04 +0000 (09:48 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146881 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/alpha/elf.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr39323-2.c
gcc/testsuite/gcc.dg/pr39323-3.c

index 560c03c..ecf5300 100644 (file)
@@ -1,3 +1,8 @@
+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 
        * 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
        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.
        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
        (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.
 
        * 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.
        (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.
index 0e5265c..24ab5f6 100644 (file)
@@ -1,6 +1,6 @@
 /* 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
index 5415592..79a0679 100644 (file)
@@ -1,3 +1,9 @@
+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
index 2eaa6e9..9304c74 100644 (file)
@@ -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" } } */
index cbfed9d..c045f17 100644 (file)
@@ -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" } } */