OSDN Git Service

pf3gnuchains/gcc-fork.git
11 years ago2012-11-12 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 12 Nov 2012 16:44:03 +0000 (16:44 +0000)]
2012-11-12  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi: Move -faddress-sanitizer from Optimization
        Options to Debugging Options.

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

11 years ago * asan.c: Formatting cleanups.
jakub [Mon, 12 Nov 2012 16:18:59 +0000 (16:18 +0000)]
* asan.c: Formatting cleanups.

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

11 years agoImport the asan runtime library into GCC tree
dodji [Mon, 12 Nov 2012 15:53:47 +0000 (15:53 +0000)]
Import the asan runtime library into GCC tree

This patch imports the runtime library in the GCC tree, ensures that
-lasan is passed to the linker when -faddress-sanitizer is used and
sets up the build system accordingly.

ChangeLog:

* configure.ac: Add libsanitizer to target_libraries.
* Makefile.def: Ditto.
* configure: Regenerate.
* Makefile.in: Regenerate.
* libsanitizer: New directory for asan runtime.  Contains an empty
tsan directory.

gcc/ChangeLog:

* gcc.c (LINK_COMMAND_SPEC): Add -laddress-sanitizer to link
command if -faddress-sanitizer is on.

libsanitizer:

Initial checkin: migrate asan runtime from llvm.

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

11 years agoInstrument built-in memory access function calls
dodji [Mon, 12 Nov 2012 15:53:25 +0000 (15:53 +0000)]
Instrument built-in memory access function calls

This patch instruments many memory access patterns through builtins.

Basically, for a call like:

     __builtin_memset (from, 0, n_bytes);

the patch would only instrument the accesses at the beginning and at
the end of the memory region [from, from + n_bytes].  This is the
strategy used by the llvm implementation of asan.

This instrumentation is done for all the memory access builtin
functions that expose a well specified memory region -- one that
explicitly states the number of bytes accessed in the region.

A special treatment is used for __builtin_strlen.  The patch
instruments the access to the first byte of its argument, as well as
the access to the byte (of the argument) at the offset returned by
strlen.

For the __sync_* and __atomic* calls the patch instruments the access
to the bytes pointed to by the argument.

While doing this, I have added a new parameter to build_check_stmt to
decide whether to insert the instrumentation code before or after the
statement iterator.  This allows us to do away with the
gsi_{next,prev} dance we were doing in the callers of this function.

Tested by running cc1 -fasan on variations of simple programs like:

    int
    foo ()
    {
      char foo[10] = {0};

      foo[0] = 't';
      foo[1] = 'e';
      foo[2] = 's';
      foo[3] = 't';
      int l = __builtin_strlen (foo);
      int n = sizeof (foo);
      __builtin_memset (&foo[4], 0, n - 4);
      __sync_fetch_and_add (&foo[11], 1);

      return l;
    }

and by starring at the gimple output which for this function is:

    ;; Function foo (foo, funcdef_no=0, decl_uid=1714, cgraph_uid=0)

    foo ()
    {
      int n;
      int l;
      char foo[10];
      int D.1725;
      char * D.1724;
      int D.1723;
      long unsigned int D.1722;
      int D.1721;
      long unsigned int D.1720;
      long unsigned int _1;
      int _4;
      long unsigned int _5;
      int _6;
      char * _7;
      int _8;
      char * _9;
      unsigned long _10;
      unsigned long _11;
      unsigned long _12;
      signed char * _13;
      signed char _14;
      _Bool _15;
      unsigned long _16;
      signed char _17;
      _Bool _18;
      _Bool _19;
      char * _20;
      unsigned long _21;
      unsigned long _22;
      unsigned long _23;
      signed char * _24;
      signed char _25;
      _Bool _26;
      unsigned long _27;
      signed char _28;
      _Bool _29;
      _Bool _30;
      char * _31;
      unsigned long _32;
      unsigned long _33;
      unsigned long _34;
      signed char * _35;
      signed char _36;
      _Bool _37;
      unsigned long _38;
      signed char _39;
      _Bool _40;
      _Bool _41;
      char * _42;
      unsigned long _43;
      unsigned long _44;
      unsigned long _45;
      signed char * _46;
      signed char _47;
      _Bool _48;
      unsigned long _49;
      signed char _50;
      _Bool _51;
      _Bool _52;
      char * _53;
      unsigned long _54;
      unsigned long _55;
      unsigned long _56;
      signed char * _57;
      signed char _58;
      _Bool _59;
      unsigned long _60;
      signed char _61;
      _Bool _62;
      _Bool _63;
      char[10] * _64;
      unsigned long _65;
      unsigned long _66;
      unsigned long _67;
      signed char * _68;
      signed char _69;
      _Bool _70;
      unsigned long _71;
      signed char _72;
      _Bool _73;
      _Bool _74;
      unsigned long _75;
      unsigned long _76;
      unsigned long _77;
      signed char * _78;
      signed char _79;
      _Bool _80;
      unsigned long _81;
      signed char _82;
      _Bool _83;
      _Bool _84;
      long unsigned int _85;
      long unsigned int _86;
      char * _87;
      char * _88;
      unsigned long _89;
      unsigned long _90;
      unsigned long _91;
      signed char * _92;
      signed char _93;
      _Bool _94;
      unsigned long _95;
      signed char _96;
      _Bool _97;
      _Bool _98;
      char * _99;
      unsigned long _100;
      unsigned long _101;
      unsigned long _102;
      signed char * _103;
      signed char _104;
      _Bool _105;
      unsigned long _106;
      signed char _107;
      _Bool _108;
      _Bool _109;

      <bb 2>:
      foo = {};
      _9 = &foo[0];
      _10 = (unsigned long) _9;
      _11 = _10 >> 3;
      _12 = _11 + 17592186044416;
      _13 = (signed char *) _12;
      _14 = *_13;
      _15 = _14 != 0;
      _16 = _10 & 7;
      _17 = (signed char) _16;
      _18 = _17 >= _14;
      _19 = _15 & _18;
      if (_19 != 0)
goto <bb 5>;
      else
goto <bb 4>;

      <bb 5>:
      __asan_report_store1 (_10);

      <bb 4>:
      foo[0] = 116;
      _20 = &foo[1];
      _21 = (unsigned long) _20;
      _22 = _21 >> 3;
      _23 = _22 + 17592186044416;
      _24 = (signed char *) _23;
      _25 = *_24;
      _26 = _25 != 0;
      _27 = _21 & 7;
      _28 = (signed char) _27;
      _29 = _28 >= _25;
      _30 = _26 & _29;
      if (_30 != 0)
goto <bb 7>;
      else
goto <bb 6>;

      <bb 7>:
      __asan_report_store1 (_21);

      <bb 6>:
      foo[1] = 101;
      _31 = &foo[2];
      _32 = (unsigned long) _31;
      _33 = _32 >> 3;
      _34 = _33 + 17592186044416;
      _35 = (signed char *) _34;
      _36 = *_35;
      _37 = _36 != 0;
      _38 = _32 & 7;
      _39 = (signed char) _38;
      _40 = _39 >= _36;
      _41 = _37 & _40;
      if (_41 != 0)
goto <bb 9>;
      else
goto <bb 8>;

      <bb 9>:
      __asan_report_store1 (_32);

      <bb 8>:
      foo[2] = 115;
      _42 = &foo[3];
      _43 = (unsigned long) _42;
      _44 = _43 >> 3;
      _45 = _44 + 17592186044416;
      _46 = (signed char *) _45;
      _47 = *_46;
      _48 = _47 != 0;
      _49 = _43 & 7;
      _50 = (signed char) _49;
      _51 = _50 >= _47;
      _52 = _48 & _51;
      if (_52 != 0)
goto <bb 11>;
      else
goto <bb 10>;

      <bb 11>:
      __asan_report_store1 (_43);

      <bb 10>:
      foo[3] = 116;
      _53 = (char *) &foo;
      _54 = (unsigned long) _53;
      _55 = _54 >> 3;
      _56 = _55 + 17592186044416;
      _57 = (signed char *) _56;
      _58 = *_57;
      _59 = _58 != 0;
      _60 = _54 & 7;
      _61 = (signed char) _60;
      _62 = _61 >= _58;
      _63 = _59 & _62;
      if (_63 != 0)
goto <bb 13>;
      else
goto <bb 12>;

      <bb 13>:
      __asan_report_load1 (_54);

      <bb 12>:
      _1 = __builtin_strlen (&foo);
      _64 = _53 + _1;
      _65 = (unsigned long) _64;
      _66 = _65 >> 3;
      _67 = _66 + 17592186044416;
      _68 = (signed char *) _67;
      _69 = *_68;
      _70 = _69 != 0;
      _71 = _65 & 7;
      _72 = (signed char) _71;
      _73 = _72 >= _69;
      _74 = _70 & _73;
      if (_74 != 0)
goto <bb 15>;
      else
goto <bb 14>;

      <bb 15>:
      __asan_report_load1 (_65);

      <bb 14>:
      l_2 = (int) _1;
      n_3 = 10;
      _4 = n_3 + -4;
      _5 = (long unsigned int) _4;
      _6 = l_2 + 1;
      _7 = &foo[_6];
      if (_5 != 0)
goto <bb 17>;
      else
goto <bb 16>;

      <bb 17>:
      _75 = (unsigned long) _7;
      _76 = _75 >> 3;
      _77 = _76 + 17592186044416;
      _78 = (signed char *) _77;
      _79 = *_78;
      _80 = _79 != 0;
      _81 = _75 & 7;
      _82 = (signed char) _81;
      _83 = _82 >= _79;
      _84 = _80 & _83;
      _85 = _5;
      _86 = _85 - 1;
      _87 = _7;
      _88 = _87 + _86;
      _89 = (unsigned long) _88;
      _90 = _89 >> 3;
      _91 = _90 + 17592186044416;
      _92 = (signed char *) _91;
      _93 = *_92;
      _94 = _93 != 0;
      _95 = _89 & 7;
      _96 = (signed char) _95;
      _97 = _96 >= _93;
      _98 = _94 & _97;
      if (_98 != 0)
goto <bb 21>;
      else
goto <bb 20>;

      <bb 21>:
      __asan_report_store1 (_89);

      <bb 20>:
      if (_84 != 0)
goto <bb 19>;
      else
goto <bb 18>;

      <bb 19>:
      __asan_report_store1 (_75);

      <bb 18>:

      <bb 16>:
      __builtin_memset (_7, 0, _5);
      _99 = &foo[11];
      _100 = (unsigned long) _99;
      _101 = _100 >> 3;
      _102 = _101 + 17592186044416;
      _103 = (signed char *) _102;
      _104 = *_103;
      _105 = _104 != 0;
      _106 = _100 & 7;
      _107 = (signed char) _106;
      _108 = _107 >= _104;
      _109 = _105 & _108;
      if (_109 != 0)
goto <bb 23>;
      else
goto <bb 22>;

      <bb 23>:
      __asan_report_store1 (_100);

      <bb 22>:
      __sync_fetch_and_add_1 (&foo[11], 1);
      _8 = l_2;
      foo ={v} {CLOBBER};

    <L1>:
      return _8;

    }

    ;; Function _GLOBAL__sub_I_00099_0_foo (_GLOBAL__sub_I_00099_0_foo, funcdef_no=1, decl_uid=1752, cgraph_uid=4)

    _GLOBAL__sub_I_00099_0_foo ()
    {
      <bb 2>:
      __asan_init ();
      return;

    }

gcc/
* gimple.h (is_gimple_builtin_call): Declare ...
* gimple.c (is_gimple_builtin_call): ... New public function.
* asan.c (insert_if_then_before_iter, instrument_mem_region_access,
instrument_strlen_call, maybe_instrument_builtin_call,
instrument_call): New static functions.
(create_cond_insert_point): Renamed
create_cond_insert_point_before_iter into this.  Add a new
parameter to decide whether to insert the condition before or
after the statement iterator.
(build_check_stmt): Adjust for the new create_cond_insert_point.
Add a new parameter to decide whether to add the instrumentation
code before or after the statement iterator.
(instrument_assignment): Factorize from ...
(transform_statements): ... here.  Use maybe_instrument_call to
instrument builtin function calls as well.
(instrument_derefs): Adjust for the new parameter of
build_check_stmt.  Fix detection of bit-field access.

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

11 years agoFactorize condition insertion code out of build_check_stmt
dodji [Mon, 12 Nov 2012 15:53:12 +0000 (15:53 +0000)]
Factorize condition insertion code out of build_check_stmt

This patch splits a new create_cond_insert_point_before_iter function
out of build_check_stmt, to be used by a later patch.

Tested by running cc1 -fasan on the test program below with and
without the patch and by inspecting the gimple output to see that
there is no change.

void
foo ()
{
  char foo[1] = {0};

  foo[0] = 1;
}

gcc/

* asan.c (create_cond_insert_point_before_iter): Factorize out of ...
(build_check_stmt): ... here.

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

11 years agoMake build_check_stmt accept an SSA_NAME for its base
dodji [Mon, 12 Nov 2012 15:52:56 +0000 (15:52 +0000)]
Make build_check_stmt accept an SSA_NAME for its base

This patch makes build_check_stmt accept its memory access parameter
to be an SSA name.  This is useful for a subsequent patch that will
re-use.

Tested by running cc1 -fasan on the program below with and without the
patch and inspecting the gimple output to see that there is no change.

void
foo ()
{
  char foo[1] = {0};

  foo[0] = 1;
}

gcc/
* asan.c (build_check_stmt): Accept the memory access to be
represented by an SSA_NAME.

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

11 years agoImplement protection of global variables
dodji [Mon, 12 Nov 2012 15:52:42 +0000 (15:52 +0000)]
Implement protection of global variables

This patch implements the protection of global variables.  See the
comments appended to the beginning of the asan.c file.

* varasm.c: Include asan.h.
(assemble_noswitch_variable): Grow size by asan_red_zone_size
if decl is asan protected.
(place_block_symbol): Likewise.
(assemble_variable): If decl is asan protected, increase
DECL_ALIGN if needed, and for decls emitted using
assemble_variable_contents append padding zeros after it.
* Makefile.in (varasm.o): Depend on asan.h.
* asan.c: Include output.h.
(asan_pp, asan_pp_initialized, asan_ctor_statements): New variables.
(asan_pp_initialize, asan_pp_string): New functions.
(asan_emit_stack_protection): Use asan_pp{,_initialized}
instead of local pp{,_initialized} vars, use asan_pp_initialize
and asan_pp_string helpers.
(asan_needs_local_alias, asan_protect_global,
asan_global_struct, asan_add_global): New functions.
(asan_finish_file): Protect global vars that can be protected. Use
asan_ctor_statements instead of ctor_statements
* asan.h (asan_protect_global): New prototype.
(asan_red_zone_size): New inline function.

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

11 years agoImplement protection of stack variables
dodji [Mon, 12 Nov 2012 15:52:26 +0000 (15:52 +0000)]
Implement protection of stack variables

This patch implements the protection of stack variables.

It lays out stack variables as well as the different red zones,
emits some prologue code to populate the shadow memory as to poison
(mark as non-accessible) the regions of the red zones and mark the
regions of stack variables as accessible, and emit some epilogue code
to un-poison (mark as accessible) the regions of red zones right
before the function exits.

* Makefile.in (asan.o): Depend on $(EXPR_H) $(OPTABS_H).
(cfgexpand.o): Depend on asan.h.
* asan.c: Include expr.h and optabs.h.
(asan_shadow_set): New variable.
(asan_shadow_cst, asan_emit_stack_protection): New functions.
(asan_init_shadow_ptr_types): Initialize also asan_shadow_set.
* cfgexpand.c: Include asan.h.  Define HOST_WIDE_INT heap vector.
(partition_stack_vars): If i is large alignment and j small
alignment or vice versa, break out of the loop instead of continue,
and put the test earlier.  If flag_asan, break out of the loop
if for small alignment size is different.
(struct stack_vars_data): New type.
(expand_stack_vars): Add DATA argument.  Change PRED type to
function taking size_t argument instead of tree.  Adjust pred
calls.  Fill DATA in and add needed padding in between variables
if -faddress-sanitizer.
(defer_stack_allocation): Defer everything for flag_asan.
(stack_protect_decl_phase_1, stack_protect_decl_phase_2): Take
size_t index into stack_vars array instead of the decl directly.
(asan_decl_phase_3): New function.
(expand_used_vars): Return var destruction sequence.  Adjust
expand_stack_vars calls, add another one for flag_asan.  Call
asan_emit_stack_protection if expand_stack_vars added anything
to the vectors.
(expand_gimple_basic_block): Add disable_tail_calls argument.
(gimple_expand_cfg): Pass true to it if expand_used_vars returned
non-NULL.  Emit the sequence returned by expand_used_vars after
return_label.
* asan.h (asan_emit_stack_protection): New prototype.
(asan_shadow_set): New decl.
(ASAN_RED_ZONE_SIZE, ASAN_STACK_MAGIC_LEFT, ASAN_STACK_MAGIC_MIDDLE,
ASAN_STACK_MAGIC_RIGHT, ASAN_STACK_FRAME_MAGIC): Define.
(asan_protect_stack_decl): New inline.
* toplev.c (process_options): Also disable -faddress-sanitizer on
!FRAME_GROWS_DOWNWARDS targets.

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

11 years agoAllow asan at -O0
dodji [Mon, 12 Nov 2012 15:52:09 +0000 (15:52 +0000)]
Allow asan at -O0

This patch defines a new asan pass gate that is activated at -O0, in
addition to the pass that was initially activated at -O3 level The
patch also does some comment cleanups here and there.

* asan.c (build_check_stmt): Rename join_bb variable to else_bb.
(gate_asan_O0): New function.
(pass_asan_O0): New variable.
* passes.c (init_optimization_passes): Add pass_asan_O0.
* tree-pass.h (pass_asan_O0): New declaration.

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

11 years agoEmit GIMPLE directly instead of gimplifying GENERIC.
dodji [Mon, 12 Nov 2012 15:51:53 +0000 (15:51 +0000)]
Emit GIMPLE directly instead of gimplifying GENERIC.

This patch cleanups the instrumentation code generation by emitting
GIMPLE directly, as opposed to emitting GENERIC tree and then
gimplifying them.  It also does some cleanups here and there

* Makefile.in (GTFILES): Add $(srcdir)/asan.c.
(asan.o): Update the dependencies of asan.o.
* asan.c (tm.h, tree.h, tm_p.h, basic-block.h, flags.h
function.h, tree-inline.h, tree-dump.h, diagnostic.h, demangle.h,
langhooks.h, ggc.h, cgraph.h, gimple.h): Remove these unused but
included headers.
(shadow_ptr_types): New variable.
(report_error_func): Change is_store argument to bool, don't append
newline to function name.
(PROB_VERY_UNLIKELY, PROB_ALWAYS): Define.
(build_check_stmt): Change is_store argument to bool.  Emit GIMPLE
directly instead of creating trees and gimplifying them.  Mark
the error reporting function as very unlikely.
(instrument_derefs): Change is_store argument to bool.  Use
int_size_in_bytes to compute size_in_bytes, simplify size check.
Use build_fold_addr_expr instead of build_addr.
(transform_statements): Adjust instrument_derefs caller.
Use gimple_assign_single_p as stmt test.  Don't look at MEM refs
in rhs2.
(asan_init_shadow_ptr_types): New function.
(asan_instrument): Don't push/pop gimplify context.
Call asan_init_shadow_ptr_types if not yet initialized.
* asan.h (ASAN_SHADOW_SHIFT): Adjust comment.

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

11 years agoInitial asan cleanups
dodji [Mon, 12 Nov 2012 15:51:34 +0000 (15:51 +0000)]
Initial asan cleanups

This patch defines a new asan_shadow_offset target macro, instead of
having a mere macro in the asan.c file.  It becomes thus cleaner to
define the target macro for targets that supports asan, namely x86 for
now.  The ASAN_SHADOW_SHIFT (which, along with the asan_shadow_offset
constant, is used to compute the address of the shadow memory byte for
a given memory address) is defined in asan.h.

gcc/ChangeLog

* toplev.c (process_options): Warn and turn off
-faddress-sanitizer if not supported by target.
* asan.c: Include target.h.
(asan_scale, asan_offset_log_32, asan_offset_log_64,
asan_offset_log): Removed.
(build_check_stmt): Use ASAN_SHADOW_SHIFT and
targetm.asan_shadow_offset ().
(asan_instrument): Don't initialize asan_offset_log.
* asan.h (ASAN_SHADOW_SHIFT): Define.
* target.def (TARGET_ASAN_SHADOW_OFFSET): New hook.
* doc/tm.texi.in (TARGET_ASAN_SHADOW_OFFSET): Add it.
* doc/tm.texi: Regenerated.
* Makefile.in (asan.o): Depend on $(TARGET_H).
* config/i386/i386.c (ix86_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.

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

11 years agoInitial import of asan from the Google branch
dodji [Mon, 12 Nov 2012 15:51:13 +0000 (15:51 +0000)]
Initial import of asan from the Google branch

This patch imports the initial state of asan as it was in the
Google branch.

It provides basic infrastructure for asan to instrument memory
accesses on the heap, at -O3.  Note that it supports neither stack nor
global variable protection.

The rest of the patches of the set is intended to further improve this
base.

gcc/ChangeLog

* Makefile.in: Add asan.c and its dependencies.
* common.opt: Add -faddress-sanitizer option.
* invoke.texi: Document the new flag.
* passes.c: Add the asan pass.
* toplev.c (compile_file): Call asan_finish_file.
* asan.c: New file.
* asan.h: New file.
* tree-pass.h: Declare pass_asan.

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

11 years ago2012-11-12 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 12 Nov 2012 11:03:42 +0000 (11:03 +0000)]
2012-11-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55272
        * module.c (mio_array_spec): Correctly handle coarray
        scalars.

2012-11-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55272
        * gfortran.dg/coarray_29_1.f90: New.
        * gfortran.dg/coarray_29_2.f90: New.

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

11 years ago2012-11-12 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 12 Nov 2012 11:00:58 +0000 (11:00 +0000)]
2012-11-12  Tobias Burnus  <burnus@net-b.de>

        * diagnostic.c (diagnostic_append_note): Also call va_end when
        inhibit_notes_p is true.

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

11 years agoIndex declspecs.locations by ds_typedef rather than ds_thread.
emsr [Mon, 12 Nov 2012 05:35:05 +0000 (05:35 +0000)]
Index declspecs.locations by ds_typedef rather than ds_thread.

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

11 years ago * gcse.c (struct bb_data): Add new fields, old_pressure, live_in
amker [Mon, 12 Nov 2012 02:17:38 +0000 (02:17 +0000)]
* gcse.c (struct bb_data): Add new fields, old_pressure, live_in
and backup.
(get_regno_pressure_class): Add prototype.
(update_bb_reg_pressure): New.
(should_hoist_expr_to_dom): Add new parameter from.
Monitor the change of reg pressure and use it to drive hoisting.
(hoist_code): Update LIVE and reg pressure information.
(calculate_bb_reg_pressure): Initialize live_in and backup.

* gcc.dg/hoist-register-pressure-3.c: New test.

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

11 years ago * doc/md.texi (Standard Pattern Names For Generation): Fix swapped
olegendo [Mon, 12 Nov 2012 00:50:11 +0000 (00:50 +0000)]
* doc/md.texi (Standard Pattern Names For Generation): Fix swapped
sine and cosine operands in the sincos description.

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

11 years ago PR target/53512
olegendo [Mon, 12 Nov 2012 00:27:56 +0000 (00:27 +0000)]
PR target/53512
* config/sh/sh.md (sincossf3): Fix swapped sin and cos operands.

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

11 years agoDaily bump.
gccadmin [Mon, 12 Nov 2012 00:17:22 +0000 (00:17 +0000)]
Daily bump.

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

11 years ago * gcc.target/sh/sh4a-fprun.c: Add test_sinf and test_cosf noinline
olegendo [Sun, 11 Nov 2012 23:58:06 +0000 (23:58 +0000)]
* gcc.target/sh/sh4a-fprun.c: Add test_sinf and test_cosf noinline
wrappers around sinf and cosf.

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

11 years agoRemove "!" from riF->o alternative
hjl [Sun, 11 Nov 2012 23:50:45 +0000 (23:50 +0000)]
Remove "!" from riF->o alternative

* config/i386/i386.md (*movti_internal_rex64): Remove "!" from
riF->o alternative.

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

11 years ago * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
ebotcazou [Sun, 11 Nov 2012 21:56:27 +0000 (21:56 +0000)]
* config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
* config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.

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

11 years ago PR rtl-optimization/55247
ebotcazou [Sun, 11 Nov 2012 21:52:49 +0000 (21:52 +0000)]
PR rtl-optimization/55247
PR middle-end/55259
* emit-rtl.c (adjust_address_1): If POINTERS_EXTEND_UNSIGNED > 0,
handle ZERO_EXTEND.
* recog.c (offsettable_address_addr_space_p): Likewise.

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

11 years ago* doc/xml/chapter.txml: Remove whitespace inside <keyword>.
schwab [Sun, 11 Nov 2012 21:17:43 +0000 (21:17 +0000)]
* doc/xml/chapter.txml: Remove whitespace inside <keyword>.
* doc/xml/class.txml: Likewise.
* doc/xml/manual/abi.xml: Likewise.
* doc/xml/manual/algorithms.xml: Likewise.
* doc/xml/manual/allocator.xml: Likewise.
* doc/xml/manual/appendix_contributing.xml: Likewise.
* doc/xml/manual/appendix_free.xml: Likewise.
* doc/xml/manual/appendix_porting.xml: Likewise.
* doc/xml/manual/atomics.xml: Likewise.
* doc/xml/manual/auto_ptr.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/bitmap_allocator.xml: Likewise.
* doc/xml/manual/build_hacking.xml: Likewise.
* doc/xml/manual/codecvt.xml: Likewise.
* doc/xml/manual/concurrency.xml: Likewise.
* doc/xml/manual/concurrency_extensions.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/containers.xml: Likewise.
* doc/xml/manual/ctype.xml: Likewise.
* doc/xml/manual/debug.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/internals.xml: Likewise.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/io.xml: Likewise.
* doc/xml/manual/iterators.xml: Likewise.
* doc/xml/manual/locale.xml: Likewise.
* doc/xml/manual/localization.xml: Likewise.
* doc/xml/manual/messages.xml: Likewise.
* doc/xml/manual/mt_allocator.xml: Likewise.
* doc/xml/manual/numerics.xml: Likewise.
* doc/xml/manual/parallel_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/prerequisites.xml: Likewise.
* doc/xml/manual/profile_mode.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/status_cxx1998.xml: Likewise.
* doc/xml/manual/status_cxx2011.xml: Likewise.
* doc/xml/manual/status_cxxtr1.xml: Likewise.
* doc/xml/manual/status_cxxtr24733.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/support.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/using_exceptions.xml: Likewise.
* doc/xml/manual/utilities.xml: Likewise.
* doc/xml/spine.xml: Likewise.

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

11 years ago* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
schwab [Sun, 11 Nov 2012 21:01:01 +0000 (21:01 +0000)]
* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
/usr/share/xml/docbook/stylesheet/nwalsh5/current.
* configure: Regenerate.

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

11 years agogcc/
steven [Sun, 11 Nov 2012 20:29:11 +0000 (20:29 +0000)]
gcc/
PR middle-end/55263
* postreload.c (rest_of_handle_postreload): With non-call exceptions,
if edges are purged call cleanup_cfg to remove unreachable blocks.

testsuite/
PR middle-end/55263
* g++.dg/pr55263.C: New test.

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

11 years ago2012-11-11 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 11 Nov 2012 19:47:00 +0000 (19:47 +0000)]
2012-11-11  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Copy-edit to use "built-in function" instead
of "builtin", per GCC coding standards.  Also use consistent
capitalization in titles of sections describing built-in functions.

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

11 years ago PR tree-optimization/55238
hubicka [Sun, 11 Nov 2012 19:35:27 +0000 (19:35 +0000)]
PR tree-optimization/55238
* ipa-cp.c (agg_pass_through_permissible_p): New function.
(propagate_aggs_accross_jump_function): Use it.
(find_aggregate_values_for_callers_subset): Likewise and relax an
assert.

* testsuite/gcc.dg/torture/pr55238.c: New test.

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

11 years ago PR target/47440
uros [Sun, 11 Nov 2012 19:17:17 +0000 (19:17 +0000)]
PR target/47440
* config/i386/i386.c (check_avx256_stores): Remove.
(ix86_check_avx256_register): New.
(ix86_avx_u128_mode_needed): Use ix86_check_avx256_register.
Check the whole RTX for 256bit registers using for_each_rtx.
(ix86_check_avx_stores): New.
(ix86_avx_u128_mode_after): Change mode of CALL RTX to AVX_U128_CLEAN
if there are no 256bit registers used in the function return register.
(ix86_avx_u128_mode_entry): Use ix86_check_avx256_register.
(ix86_avx_u128_mode_exit): Ditto.

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

11 years ago * gcc.dg/torture/pr54920.c: Add "-fno-common" option on hppa*-*-hpux*.
danglin [Sun, 11 Nov 2012 19:16:00 +0000 (19:16 +0000)]
* gcc.dg/torture/pr54920.c: Add "-fno-common" option on hppa*-*-hpux*.
* c-c++-common/torture/vector-subscript-1.c: Likewise.
* c-c++-common/torture/vector-subscript-2.c: Likewise.

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

11 years ago * gcc.dg/tree-ssa/cunroll-1.c: Fix bogus testcase.
hubicka [Sun, 11 Nov 2012 18:16:01 +0000 (18:16 +0000)]
* gcc.dg/tree-ssa/cunroll-1.c: Fix bogus testcase.

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

11 years ago PR middle-end/48636
hubicka [Sun, 11 Nov 2012 18:14:35 +0000 (18:14 +0000)]
PR middle-end/48636
* ipa-inline.c (want_inline_small_function_p): Take aray index hint.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add array_index and comments.
(inline_summary_: Add ARRAY_INDEX.
* ipa-inline-analysis.c (dump_inline_hints): Dump array_index hint.
(reset_inline_summary): Handle array_index hint.
(inline_node_duplication_hook): Likewise.
(dump_inline_summary): Likewise.
(array_index_predicate): New function.
(estimate_function_body_sizes): Use it.
(estimate_node_size_and_time): Use array_index hint.
(inline_merge_summary, inline_read_section): Likewise.

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

11 years ago * doc/xml/manual/policy_data_structures.xml: Update reference
gerald [Sun, 11 Nov 2012 09:57:14 +0000 (09:57 +0000)]
* doc/xml/manual/policy_data_structures.xml: Update reference
for select.

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

11 years ago2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 11 Nov 2012 02:51:47 +0000 (02:51 +0000)]
2012-11-10  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Copy-edit to use "bit-field" consistently
instead of "bitfield" or "bit field".

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

11 years ago2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 11 Nov 2012 02:27:05 +0000 (02:27 +0000)]
2012-11-10  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Copy-edit to fix incorrect hyphenation phrases
involving "bit", "byte", "word", "precision", and "floating"
modifiers.

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

11 years ago * cp-demangle.c (d_unqualified_name): Handle abi tags here.
jason [Sun, 11 Nov 2012 02:11:15 +0000 (02:11 +0000)]
* cp-demangle.c (d_unqualified_name): Handle abi tags here.
(d_name): Not here.

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

11 years ago2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 11 Nov 2012 01:45:25 +0000 (01:45 +0000)]
2012-11-10  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Copy-edit to fix incorrect uses of "which"
and "that" throughout the file.

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

11 years agoDaily bump.
gccadmin [Sun, 11 Nov 2012 00:17:48 +0000 (00:17 +0000)]
Daily bump.

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

11 years agoreflect: Fix bug comparing struct field types.
ian [Sat, 10 Nov 2012 20:24:04 +0000 (20:24 +0000)]
reflect: Fix bug comparing struct field types.

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

11 years agoCompile pr55247.c with -mno-sse -mno-mmx
hjl [Sat, 10 Nov 2012 18:54:58 +0000 (18:54 +0000)]
Compile pr55247.c with -mno-sse -mno-mmx

* gcc.target/i386/pr55247.c: Require maybe_x32 target.  Add
-mno-sse -mno-mmx to dg-options.  Reformat.

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

11 years ago2012-11-10 Andrew Pinski <apinski@cavium.com>
pinskia [Sat, 10 Nov 2012 18:32:23 +0000 (18:32 +0000)]
2012-11-10  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/55202
        * configure.ac: Set PLUGIN_LD_SUFFIX to just "ld" if it was "ld-new"
        or "collect-ld".
        * configure: Regenerate.

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

11 years ago * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
jason [Sat, 10 Nov 2012 17:27:22 +0000 (17:27 +0000)]
* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.

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

11 years ago * expr.c (store_field): Remove TYPE parameter. Remove block of code
ebotcazou [Sat, 10 Nov 2012 15:32:32 +0000 (15:32 +0000)]
* expr.c (store_field): Remove TYPE parameter.  Remove block of code
dealing with BLKmode in registers.  Reimplement this support using
pseudo-registers and bit-field techniques.
(store_constructor_field): Remove TYPE parameter and adjust calls to
store_field.
(expand_assignment): Adjust calls to store_field.  Add comment.
(store_expr): Add comment.
(store_constructor): Adjust calls to store_constructor_field.
(expand_expr_real_2): Adjust call to store_field.

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

11 years ago * g++.dg/other/unused1.C: Skip on AIX.
dje [Sat, 10 Nov 2012 14:34:42 +0000 (14:34 +0000)]
    * g++.dg/other/unused1.C: Skip on AIX.
        * g++.dg/other/anon5.C: Allow Undefined to be capitalized. Ignore
        extra message on AIX.

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

11 years ago * c-c++-common/scal-to-vec2.c: Ignore non-standard ABI message.
dje [Sat, 10 Nov 2012 14:26:54 +0000 (14:26 +0000)]
    * c-c++-common/scal-to-vec2.c: Ignore non-standard ABI message.
        * c-c++-common/vector-compare-1.c: Same.
        * c-c++-common/vector-compare-2.c: Same.

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

11 years ago PR target/55247
uros [Sat, 10 Nov 2012 11:28:12 +0000 (11:28 +0000)]
PR target/55247
* config/i386/i386.md (*movti_internal_rex64): Add "!" to riF->o
alternative.

testsuite/ChangeLog:

PR target/55247
* gcc.target/i386/pr55247.c: New test.

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

11 years ago2012-11-09 Andrew Pinski <apinski@cavium.com>
pinskia [Sat, 10 Nov 2012 03:23:22 +0000 (03:23 +0000)]
2012-11-09  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/execute/20121108-1.c: New test.

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

11 years agoDaily bump.
gccadmin [Sat, 10 Nov 2012 00:18:05 +0000 (00:18 +0000)]
Daily bump.

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

11 years agoImplement a flag -fext-numeric-literals that allows control of whether GNU
emsr [Sat, 10 Nov 2012 00:08:49 +0000 (00:08 +0000)]
Implement a flag -fext-numeric-literals that allows control of whether GNU
numeric suffix extensions are parsed or passed to C++ as user-defined literals.

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

11 years ago * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
ebotcazou [Fri, 9 Nov 2012 21:52:29 +0000 (21:52 +0000)]
* doc/install.texi (sparc64-x-solaris2): Mention MPC as well.

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

11 years ago PR other/52438
ebotcazou [Fri, 9 Nov 2012 21:42:02 +0000 (21:42 +0000)]
PR other/52438
* s-taspri-lynxos.ads: Delete.
* s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
* s-tpopsp-rtems.adb: Likewise.
* s-osinte-rtems.adb: Likewise.

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

11 years ago * gcc.dg/Warray-bounds-3.c (bar): Keep array access within
law [Fri, 9 Nov 2012 19:55:53 +0000 (19:55 +0000)]
    * gcc.dg/Warray-bounds-3.c (bar): Keep array access within
        bounds for ABDAY, DAY, ABMON, MON, AM_PM.
        * gcc.dg/vect/pr22506.c (foo): Reduce loop iterations to within
        array bounds.
        * gcc.dg/vect/pr34005.c (XdmcpUnwrap): Likewise.

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

11 years ago+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
aldyh [Fri, 9 Nov 2012 18:52:36 +0000 (18:52 +0000)]
+       * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
+       * g++.dg/tm/pr47530.C: Same.

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

11 years agoUse hook_bool_void_true for TARGET_LRA_P
rth [Fri, 9 Nov 2012 17:20:12 +0000 (17:20 +0000)]
Use hook_bool_void_true for TARGET_LRA_P

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

11 years agoAdd HTM fastpath and use Intel RTM for it on x86.
torvald [Fri, 9 Nov 2012 17:04:40 +0000 (17:04 +0000)]
Add HTM fastpath and use Intel RTM for it on x86.

* beginend.cc (htm_fastpath): New.
(gtm_thread::begin_transaction, _ITM_commitTransaction,
_ITM_commitTransactionEH): Add HTM fastpath handling.
* config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/x86/target.h (htm_available, htm_init, htm_begin_success,
htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
* configure.tgt: Add -mrtm to XCFLAGS.
* method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
(gtm_thread::serialirr_mode): Add HTM fastpath handling.
* libitm_i.h (htm_fastpath, dispatch_htm): Declare.
* retry.cc (parse_default_method): Add HTM method parsing.
(gtm_thread::number_of_threads_changed): Use HTM by default if
available.

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

11 years ago PR c++/54859
jason [Fri, 9 Nov 2012 16:14:48 +0000 (16:14 +0000)]
PR c++/54859
* pt.c (check_instantiated_arg): Don't complain about dependent args.

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

11 years ago Add C++ attribute abi_tag and -Wabi-tag option.
jason [Fri, 9 Nov 2012 16:14:37 +0000 (16:14 +0000)]
Add C++ attribute abi_tag and -Wabi-tag option.
gcc/
* attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
gcc/c-family/
* c.opt (Wabi-tag): New.
gcc/cp/
* tree.c (cxx_attribute_table): Add abi_tag attribute.
(check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
* class.c (find_abi_tags_r, check_abi_tags): New.
(check_bases, check_field_decl): Call check_abi_tags.
* decl.c (redeclaration_error_message): Call
check_abi_tag_redeclaration.
* mangle.c (tree_string_cmp, write_abi_tags): New.
(write_unqualified_name): Call write_abi_tags.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TAGGED_NAME.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
(d_make_comp, d_find_pack, d_print_comp): Likewise.
(d_abi_tags): New.
(d_name): Call it.

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

11 years agoremove redundant definition of IN_CHARGE_NAME
jason [Fri, 9 Nov 2012 16:14:25 +0000 (16:14 +0000)]
remove redundant definition of IN_CHARGE_NAME

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

11 years ago2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 9 Nov 2012 15:33:19 +0000 (15:33 +0000)]
2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR tree-optimization/55154
* lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
* lra.c (setup_operand_alternative): Use them.
* lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
Remove.
(process_alt_operands): Use LRA_LOSER_COST_FACTOR and
LRA_MAX_REJECT.  Accumulate reject instead of setting for
non-const.
(curr_insn_transform): Initialize best_losers and best_overall by
INT_MAX.

2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55154
* gcc.target/i386/pr55154.c: New test.

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

11 years agoHandle target specific memory models in C frontend
ak [Fri, 9 Nov 2012 15:24:25 +0000 (15:24 +0000)]
Handle target specific memory models in C frontend

get_atomic_generic_size would error out for
__atomic_store(...,__ATOMIC_HLE_RELEASE)

Just mask it out. All the memory orders are checked completely
in builtins.c anyways.

I'm not sure what that check is for, it could be removed in theory.

Passed bootstrap and test suite on x86-64

gcc/c-family/:
2012-11-09  Andi Kleen  <ak@linux.intel.com>

PR 55139
* c-common.c (get_atomic_generic_size): Mask with
        MEMMODEL_MASK

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

11 years ago * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
chrbr [Fri, 9 Nov 2012 14:32:55 +0000 (14:32 +0000)]
    * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
        -freorder-blocks-and-partition.

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

11 years ago2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 9 Nov 2012 14:28:40 +0000 (14:28 +0000)]
2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Move ...
* gcc.target/i386/pr55151.c: ... here.

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

11 years ago2012-11-09 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Fri, 9 Nov 2012 13:18:49 +0000 (13:18 +0000)]
2012-11-09  Kenneth Zadeck <zadeck@naturalbridge.com>

* rtl.h (CONST_SCALAR_INT_P): New macro.
    * cfgexpand.c (expand_debug_locations): Changed to use
CONST_SCALAR_INT_P macro.
* combine.c (try_combine, subst, make_extraction,
gen_lowpart_for_combine): Ditto.
* cselib.c (entry_and_rtx_equal_p, rtx_equal_for_cselib_1): Ditto.
* dwarf2out.c (loc_descriptor): Ditto.
* emit-rtl.c (gen_lowpart_common): Ditto.
* ira-costs.c (record_reg_classes, record_address_regs): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* recog.c (simplify_while_replacing, asm_operand_ok,
constrain_operands): Ditto.
* reload.c (find_reloads): Ditto.
* simplify-rtx.c (simplify_unary_operation_1,
simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation, simplify_relational_operation_1,
simplify_subreg): Ditto.

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

11 years ago PR middle-end/54385
steven [Fri, 9 Nov 2012 12:31:32 +0000 (12:31 +0000)]
PR middle-end/54385
* postreload.c (reload_cse_simplify): Return a bool indicating
whether the CFG was changed.
(reload_cse_regs_1): Traverse the CFG instead of the insns chain.
Cleanup the CFG if edges may have been removed.
(reload_cse_regs): Update.

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

11 years ago PR rtl-optimization/54472
abel [Fri, 9 Nov 2012 12:28:21 +0000 (12:28 +0000)]
PR rtl-optimization/54472

* sel-sched-ir.c (has_dependence_note_reg_set): Handle implicit sets.
(has_dependence_note_reg_clobber,
has_dependence_note_reg_use): Likewise.

* gcc.dg/pr54472.c: New test.

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

11 years ago * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
ebotcazou [Fri, 9 Nov 2012 11:07:30 +0000 (11:07 +0000)]
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
with a missing library unit instead of calling gnat_to_gnu on Emtpy.
Remove last bits of support for SCIL nodes.  Add cases for nodes that
should only be present when annotating types.  Add default abort.

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

11 years ago * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
ebotcazou [Fri, 9 Nov 2012 09:10:04 +0000 (09:10 +0000)]
* config/i386/i386.c (release_scratch_register_on_entry): Also adjust
sp_offset manually.

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

11 years ago2012-11-08 Christian Bruel <christian.bruel@st.com>
chrbr [Fri, 9 Nov 2012 06:32:28 +0000 (06:32 +0000)]
2012-11-08  Christian Bruel  <christian.bruel@st.com>

* tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
Do not reset dead bb1->frequency.

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

11 years agoDaily bump.
gccadmin [Fri, 9 Nov 2012 00:18:20 +0000 (00:18 +0000)]
Daily bump.

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

11 years ago * go.test/go-test.exp (go-gc-tests): Handle runoutput test type
ian [Fri, 9 Nov 2012 00:05:05 +0000 (00:05 +0000)]
* go.test/go-test.exp (go-gc-tests): Handle runoutput test type
with arguments.  Handle errorcheckoutput and rundir test types.

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

11 years agogcc/
steven [Thu, 8 Nov 2012 21:47:50 +0000 (21:47 +0000)]
gcc/
PR tree-optimization/55191
* cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here.
(flow_dfs_compute_reverse_execute): Don't call it here.

testsuite/
PR tree-optimization/55191
* gcc.dg/pr55191.c: New test.

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

11 years ago PR debug/53145
jakub [Thu, 8 Nov 2012 20:20:10 +0000 (20:20 +0000)]
PR debug/53145
* dwarf2out.c (gen_compile_unit_die): Don't call gen_producer_string
here, instead add "" if producer_string is NULL.
(dwarf2out_finish): Call gen_producer_string here, unconditionally
decrease refcount of the old indirect string and set val_str to
find_AT_string result.

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

11 years ago2012-11-08 François Dumont <fdumont@gcc.gnu.org>
fdumont [Thu, 8 Nov 2012 20:16:04 +0000 (20:16 +0000)]
2012-11-08  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/54075
* include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
policy state if no rehash.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc
(test02): New.

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

11 years ago PR debug/54499
jakub [Thu, 8 Nov 2012 20:15:06 +0000 (20:15 +0000)]
PR debug/54499
* cgraphunit.c (assemble_thunk): Don't call source_line debug hook
here, instead call insn_locations_{init,finalize} and initialize
prologue_location.

* g++.dg/debug/pr54499.C: New test.

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

11 years ago PR driver/54789
jakub [Thu, 8 Nov 2012 20:13:13 +0000 (20:13 +0000)]
PR driver/54789
* gcc.c (process_command): Use save_switch for synthesized
-fcompare-debug=* option; mark the switch as known.

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

11 years ago PR target/54308
jakub [Thu, 8 Nov 2012 20:09:14 +0000 (20:09 +0000)]
PR target/54308
* config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
inline keyword.

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

11 years ago PR rtl-optimization/54850
bernds [Thu, 8 Nov 2012 17:10:26 +0000 (17:10 +0000)]
PR rtl-optimization/54850
* sched-deps.c (find_inc): Add all dependencies from the inc_insn
to the mem_insn.

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

11 years ago PR middle-end/48636
hubicka [Thu, 8 Nov 2012 16:46:18 +0000 (16:46 +0000)]
PR middle-end/48636
* ipa-inline.c (big_speedup_p): New function.
(want_inline_small_function_p): Use it.
(edge_badness): Dump it.
* params.def (inline-min-speedup): New parameter.
* doc/invoke.texi (inline-min-speedup): Document.

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

11 years ago2012-11-08 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 8 Nov 2012 16:41:06 +0000 (16:41 +0000)]
2012-11-08  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (determine_known_aggregate_parts): Skip writes to
different declarations when tracking writes to a declaration.

* gfortran.dg/ipcp-array-1.f90: New test.

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

11 years agoPR fortran/51727
tobi [Thu, 8 Nov 2012 15:46:07 +0000 (15:46 +0000)]
PR fortran/51727
* module.c (sorted_pointer_info): New.
(gfc_get_sorted_pointer_info): New.
(free_sorted_pointer_info_tree): New.
(compare_sorted_pointer_info): New.
(find_symbols_to_write): New.
(write_symbol1_recursion): New.
(write_symbol1): Collect symbols that need writing, output in order.
(write_generic): Traverse tree in order.

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

11 years ago2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 8 Nov 2012 13:40:53 +0000 (13:40 +0000)]
2012-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).

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

11 years ago * g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
fw [Thu, 8 Nov 2012 09:54:04 +0000 (09:54 +0000)]
* g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.

* testsuite/18_support/cxa_vec.cc: Fix typo in comment.

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

11 years ago * include/profile/iterator_tracker.h (operator++): Fix returning
redi [Thu, 8 Nov 2012 09:15:43 +0000 (09:15 +0000)]
* include/profile/iterator_tracker.h (operator++): Fix returning
dangling reference.
(operator--): Likewise.

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

11 years agoAdd extensive commentary to sparc's "U" constraint.
davem [Thu, 8 Nov 2012 03:26:49 +0000 (03:26 +0000)]
Add extensive commentary to sparc's "U" constraint.

* config/sparc/constraints.md ("U"): Document, in detail,
which this constraint is necessary.

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

11 years agoDaily bump.
gccadmin [Thu, 8 Nov 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.

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

11 years agoUse -Wl,-undefined,dynamic_lookup on darwin
hjl [Wed, 7 Nov 2012 23:12:27 +0000 (23:12 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin

* testsuite/libgomp.c++/pr24455.C: Use
-Wl,-undefined,dynamic_lookup on darwin.

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

11 years ago2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 7 Nov 2012 22:43:30 +0000 (22:43 +0000)]
2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Use ia32 instead of x86_64.

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

11 years ago * gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.
uros [Wed, 7 Nov 2012 22:41:39 +0000 (22:41 +0000)]
* gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.

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

11 years ago PR middle-end/55235
uros [Wed, 7 Nov 2012 22:34:48 +0000 (22:34 +0000)]
PR middle-end/55235
* expr.c (store_expr): Do not call emit_block_move for
non-BLKmode values.

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

11 years ago PR middle-end/55219
ebotcazou [Wed, 7 Nov 2012 22:26:02 +0000 (22:26 +0000)]
PR middle-end/55219
* fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
the argument is itself a conditional expression.

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

11 years ago2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 7 Nov 2012 22:20:15 +0000 (22:20 +0000)]
2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Compile it only for x86_64.

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

11 years ago2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 7 Nov 2012 22:11:08 +0000 (22:11 +0000)]
2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* lra-constraints.c (match_reload): Sync values for dead input
pseudos.

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* gcc.dg/pr55122.c: New test.

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

11 years ago * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
dje [Wed, 7 Nov 2012 21:03:08 +0000 (21:03 +0000)]
    * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
        word powerpc.
        * gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
        * gcc.target/powerpc/loop_align.c: Skip on AIX.
        * gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
        * gcc.target/powerpc/tfmode_off.c: Skip on AIX.

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

11 years ago* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
rth [Wed, 7 Nov 2012 20:20:32 +0000 (20:20 +0000)]
* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.

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

11 years ago * doc/invoke.texi (-mcpu=power8): Document.
bergner [Wed, 7 Nov 2012 19:49:51 +0000 (19:49 +0000)]
* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.

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

11 years ago PR target/55224
uros [Wed, 7 Nov 2012 19:35:25 +0000 (19:35 +0000)]
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

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

11 years ago PR target/55224
uros [Wed, 7 Nov 2012 19:30:48 +0000 (19:30 +0000)]
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

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

11 years agogcc/
manu [Wed, 7 Nov 2012 18:27:14 +0000 (18:27 +0000)]
gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* doc/invoke.texi (Wformat): Update.
c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt (Wformat): Make it Alias Wformat=1.
(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
Wformat-security,Wformat-y2k,Wformat-zero-length): Use
LangEnabledBy.
(Wformat=): RejectNegative. Use LangEnabledBy.
(Wnonnull): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not handle Wformat here.
* c-format.c (set_Wformat): Delete.
(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
        (maybe_read_dollar_number):  Likewise.
        (avoid_dollar_number):  Likewise.
        (finish_dollar_format_checking):  Likewise.
        (check_format_info):  Likewise.
        (check_format_info_main):  Likewise.
        (check_format_types):  Likewise.
        (format_type_warning):  Likewise.
        * c-common.c (int):  Likewise.
        (check_function_sentinel):  Likewise.
        * c-common.h (warn_format,set_Wformat): Do not declare here.
testsuite/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* gcc.dg/warn-nsstring.c: Use -Wformat explicitly.

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

11 years ago2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Wed, 7 Nov 2012 18:11:01 +0000 (18:11 +0000)]
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* optc-gen.awk: Factor code out to...
* opt-functions.awk (lang_enabled_by): ... this new function.

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

11 years agoc-family/
manu [Wed, 7 Nov 2012 17:54:11 +0000 (17:54 +0000)]
c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
Use LangEnabledBy.
(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
common.opt.
(Wvariadic-macros): Init(1).
* c-opts.c (c_common_handle_option): Do not handle them
explicitly.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): warn_unused_macros is now
cpp_warn_unused_macros.
(push_command_line_include): Likewise.
* c-common.c (warn_unknown_pragmas): Do not define.
* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* options.c (set_Wall): Do not set warn_switch here.

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