[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-12-19 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2006-12-19 17:15 ---
Subject: Bug 30033

Author: burnus
Date: Tue Dec 19 17:14:22 2006
New Revision: 120053

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120053
Log:
Merged revisions 119412-119459 via svnmerge from 
svn+ssh://gcc.gnu.org/svn/gcc/trunk


  r119412 | tkoenig | 2006-12-01 22:04:38 +0100 (Fr, 01 Dez 2006) | 70 lines

  2006-12-01  Thomas Koenig  [EMAIL PROTECTED]

PR libfortran/29568
* gfortran.dg/convert_implied_open.f90:  Change to
new default record length.
* gfortran.dg/unf_short_record_1.f90:  Adapt to
new error message.
* gfortran.dg/unformatted_subrecords_1.f90:  New test.

  2006-12-01  Thomas Koenig  [EMAIL PROTECTED]

PR libfortran/29568
* gfortran.h (gfc_option_t):  Add max_subrecord_length.
(top level): Define MAX_SUBRECORD_LENGTH.
* lang.opt:  Add option -fmax-subrecord-length=.
* trans-decl.c:  Add new function set_max_subrecord_length.
(gfc_generate_function_code): If we are within the main
program and max_subrecord_length has been set, call
set_max_subrecord_length.
* options.c (gfc_init_options):  Add defaults for
max_subrecord_lenght, convert and record_marker.
(gfc_handle_option):  Add handling for
-fmax_subrecord_length.
* invoke.texi:  Document the new default for
-frecord-marker=n.

  2006-12-01  Thomas Koenig  [EMAIL PROTECTED]

PR libfortran/29568
* libgfortran/libgfortran.h (compile_options_t):  Add
record_marker. (top level):  Define GFC_MAX_SUBRECORD_LENGTH.
* runtime/compile_options.c (set_record_marker):  Change
default to four-byte record marker.
(set_max_subrecord_length):  New function.
* runtime/error.c (translate_error):  Change error message
for short record on unformatted read.
* io/io.h (gfc_unit):  Add recl_subrecord, bytes_left_subrecord
and continued.
* io/file_pos.c (unformatted_backspace):  Change default of record
marker size to four bytes.  Loop over subrecords.
* io/open.c:  Default recl is max_offset.  If
compile_options.max_subrecord_length has been set, set set
u-recl_subrecord to its value, to the maximum value otherwise.
* io/transfer.c (top level):  Add prototypes for us_read, us_write,
next_record_r_unf and next_record_w_unf.
(read_block_direct):  Separate codepaths for unformatted direct
and unformatted sequential.  If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request.  Loop over subrecords.  Set an error if the
user has set a recl and the read was short.
(write_buf):  Separate codepaths for unformatted direct and
unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request.  Loop over subrecords.  Set an error if the
user has set a recl and the read was short.
(us_read):  Add parameter continued (to indicate that bytes_left
should not be intialized).  Change default of record marker size
to four bytes. Use subrecord.  If the subrecord length is smaller than
zero, this indicates a continuation.
(us_write):  Add parameter continued (to indicate that the continued
flag should be set).  Use subrecord.
(pre_position):  Use 0 for continued on us_write and us_read calls.
(skip_record):  New function.
(next_record_r_unf):  New function.
(next_record_r):  Use next_record_r_unf.
(write_us_marker):  Default size for record markers is four bytes.
(next_record_w_unf):  New function.
(next_record_w):  Use next_record_w_unf.

  r119415 | reichelt | 2006-12-01 22:28:35 +0100 (Fr, 01 Dez 2006) | 5 lines

PR c++/30021
* c-common.c (check_main_parameter_types): Check for error_mark_node.

* g++.dg/other/main1.C: New test.

  r119416 | reichelt | 2006-12-01 22:35:25 +0100 (Fr, 01 Dez 2006) | 7 lines

PR c++/30022
* typeck.c (type_after_usual_arithmetic_conversions):
Fix assertion for vector types.
(build_binary_op): Use temporary for inner type of vector types.

* g++.dg/ext/vector5.C: New test.

  r119421 | tsmigiel | 2006-12-01 23:43:18 +0100 (Fr, 01 Dez 2006) | 8 lines

  * config/spu/predicates.md (spu_mov_operand): Add.
  * config/spu/spu.c (spu_expand_extv): Remove unused code.
  (print_operand_address, print_operand): Handle addresses containing
AND.
  (spu_split_load, spu_split_store): Use updated movti pattern.
  * config/spu/spu.md: (_movmode, _movdi, _movti): Handle loads and
  stores in mov patterns for correct operation of 

[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-12-02 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-12-02 16:59 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-12-02 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-12-02 17:01 ---
Subject: Bug 30033

Author: pinskia
Date: Sat Dec  2 17:01:04 2006
New Revision: 119449

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119449
Log:
2006-12-02  Andrew Pinski  [EMAIL PROTECTED]

PR C++/30033
* decl.c (cp_tree_node_structure): Handle STATIC_ASSERT.

2006-12-02  Andrew Pinski  [EMAIL PROTECTED]

PR C++/30033
*  g++.dg/cpp0x/static_assert4.C: New testcase.



Added:
trunk/gcc/testsuite/g++.dg/cpp0x/static_assert4.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-12-01 Thread pedro dot lamarao at mndfck dot org


--- Comment #5 from pedro dot lamarao at mndfck dot org  2006-12-01 11:37 
---
Ah, just as I thought, but I was too sleepy to find about that function on my
own.
Must someone present this to gcc-patches or will you do it yourself?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-12-01 Thread pinskia at gmail dot com


--- Comment #6 from pinskia at gmail dot com  2006-12-01 18:19 ---
Subject: Re:  ICE on valid with --std=c++0x (static_assert)

On Fri, 2006-12-01 at 11:37 +, pedro dot lamarao at mndfck dot org
wrote:

 Must someone present this to gcc-patches or will you do it yourself?
I am going to do it but during this weekend.

-- Pinski


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-11-30 Thread pedro dot lamarao at mndfck dot org


--- Comment #1 from pedro dot lamarao at mndfck dot org  2006-12-01 00:17 
---
Created an attachment (id=12719)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12719action=view)
Reduced test case that provokes ICE.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-11-30 Thread pedro dot lamarao at mndfck dot org


--- Comment #2 from pedro dot lamarao at mndfck dot org  2006-12-01 00:17 
---
Created an attachment (id=12720)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12720action=view)
Stack trace taken at breakpoint in tree.c:2171


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-11-30 Thread pedro dot lamarao at mndfck dot org


--- Comment #3 from pedro dot lamarao at mndfck dot org  2006-12-01 00:41 
---
Created an attachment (id=12721)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12721action=view)
Reduced test case that provokes ICE.


-- 

pedro dot lamarao at mndfck dot org changed:

   What|Removed |Added

  Attachment #12719|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033



[Bug c++/30033] ICE on valid with --std=c++0x (static_assert)

2006-11-30 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-12-01 04:10 ---
Someone forgot to update cp_tree_node_structure :).

Index: ../../gcc/cp/decl.c
===
--- ../../gcc/cp/decl.c (revision 119351)
+++ ../../gcc/cp/decl.c (working copy)
@@ -11572,6 +11572,7 @@ cp_tree_node_structure (union lang_tree_
 case TINST_LEVEL:  return TS_CP_TINST_LEVEL;
 case PTRMEM_CST:   return TS_CP_PTRMEM;
 case BASELINK: return TS_CP_BASELINK;
+case STATIC_ASSERT:return TS_CP_STATIC_ASSERT;
 default:   return TS_CP_GENERIC;
 }
 }


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-01 04:10:20
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30033