2021-07-28  Release Manager

	* GCC 11.2.0 released.

2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.

2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/101094
	* exp_attr.adb (Get_Integer_Type): Return an integer type with the
	same signedness as the input type.

2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
	local constant and use it throughout.  If it is set, use a ref-all
	pointer type for the pointer-to-array field of the fat pointer type.
	<E_Array_Subtype>: Add PAT local constant and use it throughout.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
	the implementation type of a packed type implemented specially.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
	the Is_Pure flag into the "pure" attribute of GNU C.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Call_to_gnu): Restrict previous change
	to bitfields whose size is not equal to the type size.
	(gnat_to_gnu): Likewise.

2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
	Put a SLOC on the assignment from the return value to the return
	object in the copy-in/copy-out case.

2021-04-27  Release Manager

	* GCC 11.1.0 released.

2021-04-21  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99360
	* exp_ch6.adb (Might_Have_Tasks): Return False when the type is the
	class-wide type of a predefined iterator type.

2021-04-13  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/misc.c (gnat_init): Set default range bits to 0.
	* gcc-interface/trans.c (extract_encoding): Delete.
	(decode_name): Likewise.
	(File_Name_to_gnu): New function.
	(gigi): Call it to translate file names.  Replace assertion on
	1-1 mapping between files and line maps with conditional error.

2021-04-11  Gerald Pfeifer  <gerald@pfeifer.com>

	* gnat_ugn.texi (Top): Avoid invalid "up" link.

2021-03-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99802
	* freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
	on the name of an N_Assignment_Statement to spot full access.

2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
	for the main variant of an enumeration type declared as volatile.

2021-03-09  Mikael Pettersson  <mikpelinux@gmail.com>

	* raise-gcc.c: On Cygwin include mingw32.h to prevent
	windows.h from including x86intrin.h or emmintrin.h.

2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99264
	* init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
	MINSIGSTKSZ and bump size to 32KB.
	* libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.

2021-03-02  Mikael Pettersson  <mikpelinux@gmail.com>

	PR bootstrap/98590
	* cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.

2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99095
	* sem_ch8.adb (Check_Constrained_Object): Restrict again the special
	optimization for limited types to non-array types except in the case
	of an extended return statement.

2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/99020
	* sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
	only if the type is not private.

2021-02-26  YunQiang Su  <yunqiang.su@cipunited.com>

	PR ada/98996
	* Makefile.rtl: <mips*-*-linux*>
	add 128Bit operation file for MIPS N64 and N32 to
	LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS

2021-02-12  Arnaud Charlet  <charlet@adacore.com>

	* repinfo.ads, repinfo.adb (*SO_Ref*): Restore.

2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (components_to_record): If the first component
	with rep clause is the _Parent field with variable size, temporarily
	set it aside when computing the internal layout of the REP part again.
	* gcc-interface/utils.c (finish_record_type): Revert to taking the
	maximum when merging sizes for all record types with rep clause.
	(merge_sizes): Put SPECIAL parameter last and adjust recursive calls.

2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
	two fields of the fat pointer type addressable, and do not make the
	template type read-only.
	<E_Record_Type>: If the type has discriminants mark it as may_alias.
	* gcc-interface/utils.c (make_dummy_type): Likewise.
	(build_dummy_unc_pointer_types): Likewise.

2021-01-26  Marius Hillenbrand  <mhillen@linux.ibm.com>

	PR ada/98228
	* gcc-interface/utils.c (maybe_pad_type): Test the size of the new
	packable type instead of its alignment for addressability's sake.

2021-01-25  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
	of the parameters and do not set TREE_PUBLIC on the thunk.
	(maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
	* gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
	of the parameters here...
	(begin_subprog_body): ...instead of here.

2021-01-19  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/98740
	* gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.

2021-01-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR ada/98595
	* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
	wraplf version of Aux_Long_Long_Float.

2021-01-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gnatvsn.ads: Bump copyright year.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* ChangeLog-2020: Rotate ChangeLog.  New file.


Copyright (C) 2021 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
