[patch, Fortran] Fix PR 60526, variable name has already been declared as a type

Thomas Koenig tkoenig@netcologne.de
Sat Feb 13 11:56:00 GMT 2016


Am 12.02.2016 um 11:42 schrieb Janne Blomqvist:
> On Fri, Feb 12, 2016 at 12:16 PM, Andre Vehreschild <vehre@gmx.de> wrote:

>> The proposed alloca() call
>> has according to the documentation of libc some availability issues on
>> certain platforms, too.

These availablity issues cannot be too serious, or we would be having
trouble already:

ig25@linux-fd1f:~/Gcc/trunk/gcc/fortran> fgrep -H -n 'alloca (' *.c
cpp.c:839:      to_file_quoted = (unsigned char *) alloca (to_file_len * 
4 + 1);
cpp.c:1079:     (unsigned char *) alloca (to_file_len * 4 + 1);
error.c:898:  buffer = (char *) alloca (strlen (msg) + strlen (msg2) + 2);
module.c:6042:      filename = (char *) alloca (n);
module.c:6048:      filename = (char *) alloca (n);
module.c:6058:  filename_tmp = (char *) alloca (n + 1);
options.c:267:      source_path = (char *) alloca (i + 1);
primary.c:214:  buffer = (char *) alloca (length + 1);
primary.c:438:  buffer = (char *) alloca (length + 1);
primary.c:600:  buffer = (char *) alloca (count + 1);
scanner.c:321:  q = (char *) alloca (len + 1);
simplify.c:6381:  buffer = (unsigned char*)alloca (buffer_size);
target-memory.c:674:  buffer = (unsigned char*)alloca (len);
target-memory.c:781:  buffer = (unsigned char*)alloca (buffer_size);

>> Therefore why not going with the fixed size
>> stack array and adding a check for possible overflow to it and be done?
>
> Yes, I agree. That sounds like the best approach in this case.

OK, here is the final version of the patch.  I'd like to get this
committed so I can turn to PR 69742.

Regards

	Thomas


2016-02-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

         PR fortran/60526
         * decl.c (build_sym):  If the name has already been defined as a
         type, issue error and return false.

2016-02-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

         PR fortran/60526
         * gfortran.dg/type_decl_4.f90:  New test.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: p4.diff
Type: text/x-patch
Size: 1052 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20160213/92c391ff/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: type_decl_4.f90
Type: text/x-fortran
Size: 225 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20160213/92c391ff/attachment-0001.bin>


More information about the Fortran mailing list