Commit Graph

113695 Commits

Author SHA1 Message Date
Iain Sandoe
0b41ebef72 sjlj.S (CONCAT1, [...]): Respond to __USER_LABEL_PREFIX__ for targets that use it.
libitm:

	* config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
	__USER_LABEL_PREFIX__ for targets that use it.
	TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
	(_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
	in portability to non-elf targets.
	(GTM_longjmp): LIkewise.
	* libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
	where required.

From-SVN: r181612
2011-11-22 09:57:19 +00:00
Iain Sandoe
9c9d352aba memcpy-1.c: Allow for MAP_ANON spelling.
libitm:

	* testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
	* testsuite/libitm.c/memset-1.c: Likewise.

From-SVN: r181611
2011-11-22 09:49:32 +00:00
Iain Sandoe
0c082b2037 gcov-16.c: Adjust scan-assembler for Darwin.
gcc/testsuite:

	* gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
	* gcc.misc-tests/gcov-17.c: Likewise.
	* g++.dg/gcov/gcov-8.C: Likewise.
	* g++.dg/gcov/gcov-9.C: Likewise.

From-SVN: r181610
2011-11-22 08:50:40 +00:00
Hans-Peter Nilsson
6685dd96b2 Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.
* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
	et al.

From-SVN: r181608
2011-11-22 03:01:02 +00:00
Jonathan Wakely
e02a544331 functional (is_placeholder, [...]): Add partial specializations for cv-qualified types.
* include/std/functional (is_placeholder, is_bind_expression): Add
	partial specializations for cv-qualified types.
	* include/tr1/functional (is_placeholder, is_bind_expression): Add
	partial specializations for std::bind and std::placeholders and for
	cv-qualified types.
	* testsuite/20_util/bind/cv_quals_3.cc: New.
	* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
	* testsuite/tr1/3_function_objects/bind/mixed.cc: New.

From-SVN: r181607
2011-11-22 00:40:47 +00:00
GCC Administrator
284953181c Daily bump.
From-SVN: r181606
2011-11-22 00:18:44 +00:00
Torvald Riegel
cd6baa162d PR47747: Fix error messages for calls to unsafe virtual functions.
gcc/
	* trans-mem.c (diagnose_tm_1): Print an expression instead of a
	declaration in error messages for indirect calls.

	testsuite/
	g++.dg/tm/pr47747.C: New test.

From-SVN: r181602
2011-11-21 22:29:31 +00:00
Torvald Riegel
1e159409fc Fix instantiation of transaction expressions.
gcc/cp/
	* pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.

	gcc/testsuite/
	* g++.dg/tm/template-2.C: New test.

From-SVN: r181601
2011-11-21 22:29:13 +00:00
Richard Henderson
b0dc7e4c34 Fix crtstuff merge error with transactional-memory branch.
* crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
        (__TMC_LIST__, __TMC_END__): New.
        (__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
        (__do_global_dtors): Likewise.
        (frame_dummy): Call _ITM_registerTMCloneTable.
        (__do_global_ctors_1): Likewise.

From-SVN: r181600
2011-11-21 14:10:06 -08:00
David S. Miller
98ccb32db4 Correct sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.
* config/sparc/sparc.c (sparc_regmode_natural_size): New function
	implementing REGMODE_NATURAL_SIZE taking into consideration vector
	modes.
	(sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
	* config/sparc/sparc-protos.h (sparc_regmode_natural_size,
	sparc_modes_tieable_p): Declare.
	* gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
	MODES_TIEABLE_P): Use new helper functions.

From-SVN: r181599
2011-11-21 13:50:58 -08:00
David S. Miller
e57a3447f7 Revert regression causing changes to store_bit_field_1.
Revert
	2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR middle-end/50325
	* expmed.c (store_bit_field_1): Use extract_bit_field on big
	endian targets if the source cannot be exactly covered by word
	mode chunks.

From-SVN: r181598
2011-11-21 13:50:41 -08:00
Jakub Jelinek
7fefb1d1a9 re PR debug/50827 (ICE: RTL check: expected elt 0 type 'e' or 'u', have '0' (rtx entry_value) in loc_cmp, at var-tracking.c:3011)
PR debug/50827
	* var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
	macro instead of XEXP.

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

From-SVN: r181597
2011-11-21 22:07:19 +01:00
Eric Botcazou
49f7dc9de6 * MAINTAINERS: Add self as co-maintainer of the Ada front end.
From-SVN: r181596
2011-11-21 19:50:11 +00:00
Ed Smith-Rowland
7e74ce3f94 re PR c++/50958 ([C++0x] raw literal operator provides incorrect string for integer literal '0')
PR c++/50958
gcc/cp/
	* parser.c (lookup_literal_operator): New.
	(cp_parser_userdef_char_literal): Use it.
	(cp_parser_userdef_numeric_literal): Use it.
	(cp_parser_userdef_string_literal): Use lookup_name.
libcpp/
	* expr.c (cpp_userdef_char_remove_type): Fix typo.

From-SVN: r181595
2011-11-21 14:27:30 -05:00
Jason Merrill
f3fae478f4 tweak comment in perform_member_init
From-SVN: r181594
2011-11-21 14:27:17 -05:00
Andreas Tobler
c6084f681e Additional fixes for FreeBSD-10 build:
/:			* libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/:		* configure: Regenerate.
gcc/:			* configure: Regenerate.
libffi/:		* configure: Regenerate.
libgfortran/:		* configure: Regenerate.
libgomp/:		* configure: Regenerate.
libitm/:		* configure: Regenerate.
libjava/:		* configure.ac: Fix some more FreeBSD 10 issues..
			* configure: Regenerate.
libjava/libltdl/:	* acinclude.m4: Additional FreeBSD 10 fixes.
			* configure: Regenerate.
libmudflap/:		* configure: Regenerate.
libobjc/:		* configure: Regenerate.
libquadmath/:		* configure: Regenerate.
libssp/:		* configure: Regenerate.
libstdc++-v3/:		* configure: Regenerate.
lto-plugin/:		* configure: Regenerate.
zlib/:			* configure: Regenerate.

From-SVN: r181593
2011-11-21 20:22:35 +01:00
Georg-Johann Lay
648a7cdc4a avr.c (output_reload_in_const): Loading a byte with 0 must not affect cc0.
* config/avr/avr.c (output_reload_in_const): Loading a byte with 0
	must not affect cc0.
	* config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
	register does not change cc0. Same for any constant to ld-register.

From-SVN: r181592
2011-11-21 19:17:52 +00:00
Uros Bizjak
dc9945a4f9 mmx.md (unspec): Move from config/i386/i386.md (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
* config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
	UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
	Move from config/i386/i386.md
	(unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
	* config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
	UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
	UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
	UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
	UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
	UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
	UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
	UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
	UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
	UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
	UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
	UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
	(unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
	UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
	Ditto.
	* config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
	UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
	(unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
	UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
	(sse2_lfence): Move from config/i386/sse.md.
	(*sse2_lfence): Ditto.
	(sse_sfence): Ditto.
	(*sse_sfence): Ditto.
	(sse2_mfence): Ditto.
	(mfence_sse2): Ditto.  Rename from *sse2_mfence.  Enable also
	for TARGET_64BIT.
	(mem_thread_fence): Use mfence_sse2.

From-SVN: r181590
2011-11-21 19:18:28 +01:00
Rainer Orth
adcd36bc3f Support sun symbol versioning in libitm
libitm:
	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
	(LIBITM_ENABLE_SYMVERS): Handle sun style.
	* Makefile.am: Handle sun style versioning.
	(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	contrib:
	* make_sunver.pl: Convert '?' in glob patterns to '.'.

From-SVN: r181588
2011-11-21 17:03:50 +00:00
Rainer Orth
d4b4b54263 Fix LIB2ADD overrides in libgcc
* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
	(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
	(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
	* config/i386/t-darwin64: Remove.
	* config/sh/t-netbsd (LIB2ADD): Remove.

From-SVN: r181587
2011-11-21 16:13:13 +00:00
Joern Rennecke
b3fb6108b8 MAINTAINERS: Move myself from Write After Approval to CPU Port Maintainers section...
* MAINTAINERS: Move myself from Write After Approval to CPU Port
	Maintainers section, as Epiphany maintainer.

From-SVN: r181584
2011-11-21 15:13:34 +00:00
Rainer Orth
379fba828f Fix ultrasparc_vis[23]_hw tests
* lib/target-supports.exp
	(check_effective_target_ultrasparc_vis2_hw): Call check_runtime
	with ultrasparc_vis2_hw.
	(check_effective_target_ultrasparc_vis3_hw): Call check_runtime
	with ultrasparc_vis3_hw.

From-SVN: r181582
2011-11-21 15:08:03 +00:00
Arnaud Charlet
5328a91df3 [multiple changes]
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Handle case of
	Discard_Names.
	* sem_attr.adb (Eval_Attribute, case Width): Ditto.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads: Minor reformatting.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_util.adb: Minor reformatting. Update comments.

From-SVN: r181581
2011-11-21 15:45:41 +01:00
Robert Dewar
8a06151a73 exp_prag.adb, [...]: Minor reformatting.
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
	sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
	sem_ch6.adb: Minor reformatting.

From-SVN: r181580
2011-11-21 15:43:38 +01:00
Rainer Orth
cf54716442 Adapt c-c++-common/tm/malloc.c for Solaris headers with C++
* c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
	*-*-solaris2* && c++.

From-SVN: r181579
2011-11-21 14:28:49 +00:00
Arnaud Charlet
ca20a08e26 [multiple changes]
2011-11-21  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
	Unrestricted_Access to deal with fact that we properly detect the
	error if Access is used.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Place error on first character
	of expression.
	* sem_res.adb (Resolve_Short_Circuit): Place error on first
	character of expression.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case
	Max_Size_In_Storage_Elements): Account for the size of the
	hidden list header which precedes controlled objects allocated
	on the heap.
	* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
	tables.
	* sinfo.adb (Header_Size_Added): New routine.
	(Set_Header_Size_Added): New routine.
	* sinfo.ads: Add flag Controlled_Header_Added along with
	associated comment.
	(Header_Size_Added): New inlined routine.
	(Set_Header_Size_Added): New inlined routine.
	* s-stposu.adb (Allocate_Any_Controlled): Use
	Header_Size_With_Padding to calculate the proper
	size of the header.
	(Deallocate_Any_Controlled): Use
	Header_Size_With_Padding to calculate the proper size
	of the header.	(Header_Size_With_Padding): New routine.
	(Nearest_Multiple_Rounded_Up): Removed along with its uses.
	* s-stposu.ads (Header_Size_With_Padding): New routine.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* aspects.adb: Aspect specifications are allowed on renaming
	declarations
	* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
	subprogram renaming declaration

From-SVN: r181576
2011-11-21 14:31:33 +01:00
Arnaud Charlet
d2d4b3556d [multiple changes]
2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* env.c: Remove unused declaration.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads: Minor style fix.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
	identical, do nothing on Windows XP.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
	Use Full_Expander_Active instead of Expander_Active to control
	the forced evaluation of expressions for the sake of generating
	checks.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

	* init.c: On FreeBSD, stack checking failures may raise SIGBUS.

2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
	mode_read_binary, mode_write_binary, mode_append_binary,
	mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
	mode_read_binary_plus, mode_write_binary_plus,
	mode_append_binary_plus): Remove unused declarations.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Minor rewording.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Emit
	an error message rather than a warning when pragma Discard_Names
	prevents the computation of 'Width. Do not emit an error through
	the use of RE_Null.

2011-11-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
	implicit type conversion when the type of the allocator is an
	interface. Done to force generation of displacement of the "this"
	pointer when required.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
	functions, and is set when the expression is a completion of a
	previous declaration.
	* sem_ch6.adb (Analyze_Expression_Function): To determine properly
	whether an expression function completes a previous declaration,
	use Find_Corresponding_Spec, as when analyzing a subprogram body.

2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
	(Type_Access_Level): Improve comment.

From-SVN: r181575
2011-11-21 14:23:52 +01:00
Eric Botcazou
08ef33f5eb Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by means of -iquote unconditionally.
* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
	means of -iquote unconditionally.

From-SVN: r181573
2011-11-21 12:24:34 +00:00
Arnaud Charlet
83e5da6986 [multiple changes]
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
	reformatting.

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.

From-SVN: r181572
2011-11-21 13:05:56 +01:00
Steve Baird
f460d8f397 sem_util.ads: Update comment describing function Deepest_Access_Level.
2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_util.ads: Update comment describing function
	Deepest_Access_Level.
	* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
	generic formal type.
	(Type_Access_Level): Return library level
	for a generic formal type.
	* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
	calls with calls to Deepest_Type_Access_Level.
	* sem_ch3.adb (Analyze_Component_Declaration): replace a
	Type_Access_Level call with a call to Deepest_Type_Access_Level.
	* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
	Replace three Type_Access_Level calls with calls to
	Deepest_Type_Access_Level.
	(Resolve_Allocator): Replace a Type_Access_Level call with a call to
	Deepest_Type_Access_Level.
	(Valid_Conversion.Valid_Array_Conversion): Replace a
	Type_Access_Level call with a call to Deepest_Type_Access_Level.

From-SVN: r181570
2011-11-21 13:02:41 +01:00
Robert Dewar
d673c5c5bd sem_ch3.adb, [...]: Minor reformatting.
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.

From-SVN: r181569
2011-11-21 13:01:11 +01:00
Arnaud Charlet
be482a8c83 [multiple changes]
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sinput.ads: Minor comment fix.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
	Last_Bit, Position): Handle 2005 case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.
	(Increment): Same fix.
	* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.
	* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
	volatile if the B component is volatile. This affects the check
	for passing such a by reference volatile actual to a non-volatile
	formal (which should be illegal)

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
	size and alignment for foreign convention enumeration types.
	* layout.adb (Set_Elem_Alignment): Redo setting of alignment
	when size is set.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
	Apply_Discriminant_Check, Apply_Divide_Check,
	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
	Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
	Selected_Range_Checks): Replace reference to Expander_Active
	with reference to Full_Expander_Active, so that expansion of
	checks is not performed in Alfa mode

2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
	fact that we properly detect the error if Access is used.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb: Add with and use clause for Errout.
	(Expand_Width_Attribute): Emit a warning when in
	configurable run-time mode to provide a better diagnostic message.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Finalize): Add comment concerning double finalization.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Definition): If the access definition
	is itself the return type of an access to function definition
	which is ultimately the return type of an access to subprogram
	declaration, its scope is the enclosing scope of the ultimate
	access to subprogram.

2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_res.adb (Valid_Conversion): If a conversion was legal
	in the body of a generic, then the corresponding conversion is
	legal in the expanded body of an instance of the generic.

From-SVN: r181568
2011-11-21 12:59:08 +01:00
Robert Dewar
8e0aa19b43 sem_ch3.adb: Minor reformatting.
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
	line terminator.
	* sinput.ads: Add section on Handling of Source Line Terminators.
	* types.ads (Line_Terminator): Adjust comments.

From-SVN: r181567
2011-11-21 12:51:15 +01:00
Robert Dewar
51fb9b7396 frontend.adb (Frontend): Capture restrictions from config files
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* frontend.adb (Frontend): Capture restrictions from config files
	* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
	information
	* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
	references. This was noticed during debugging, but it is not
	known if it causes real bugs.
	* restrict.ads, restrict.adb: New routines to save/set/restore
	non-partition-wide restrictions.
	* s-rident.ads: Comment changes for new handling of
	No_Elaboration_Code
	* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
	* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
	attempt to save/restore non-partition-wide restrictions (now
	this work is all done in Sem).
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Special handling for restriction No_Elaboration_Code.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document new handling of restrictions pragmas.

From-SVN: r181566
2011-11-21 12:45:44 +01:00
Arnaud Charlet
56272abec6 [multiple changes]
2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
	attribute as not needed.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* gnat_rm.texi: Document restriction for stdcall convention on
	dispatching calls.

From-SVN: r181565
2011-11-21 12:40:32 +01:00
Pascal Obry
a5dd23a728 sem_prag.adb (Process_Convention): A dispatching call cannot have a stdcall calling convention.
2011-11-21  Pascal Obry  <obry@adacore.com>

	* sem_prag.adb (Process_Convention): A dispatching call cannot
	have a stdcall calling convention.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-taprop-linux.adb (Initialize_Lock): Do not allocate a
	mutex attribute as not needed.
	(Initialize_TCB): Likewise.
	(Initialize): Likewise.

From-SVN: r181564
2011-11-21 12:38:35 +01:00
Arnaud Charlet
a4901c0835 sem_ch6.adb (Is_Public_Subprogram_For): New procedure
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
	(Process_PPCs): Invariants only apply to public subprograms.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
	restrict.ads: Fix for No_Implicit_Aliasing in the renames case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* a-finali.ads: Use pragma Pure_12 for this unit
	* aspects.adb: Add aspect Pure_12
	* aspects.ads: Add aspect Pure_12
	* opt.ads: Add note on Pure_12
	* par-prag.adb: Add dummy entry for Pure_12
	* sem_prag.adb: Implement Pure_12 pragma
	* snames.ads-tmpl: Add Entry for Pure_12

2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>

	* vms_data.ads: Add qualifiers for new gnatpp options
	'--call_threshold' and '--par_threshold".
	* gnat_ugn.texi: Add description for new gnatpp options
	'--call_threshold' and '--par_threshold".

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib.ads: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib-load.ads: Add comment.

From-SVN: r181563
2011-11-21 12:35:55 +01:00
Arnaud Charlet
4bf201ed2f sem_elab.adb: Minor reformatting
2011-11-21  Gary Dismukes  <dismukes@adacore.com>

	* sem_elab.adb: Minor reformatting

From-SVN: r181562
2011-11-21 12:28:32 +01:00
Arnaud Charlet
301680433d [multiple changes]
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb: Minor reformatting.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
	subprogram of the formal package is covered by an others
	association with a box initialization, no check is needed
	against the actual in the instantiation of the formal package.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
	elab warning from within precondition/postcondition etc.

From-SVN: r181561
2011-11-21 12:26:14 +01:00
Arnaud Charlet
bdf69d333e [multiple changes]
2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
	with out parameters may generate assignments to force constraint
	checks. These checks must be properly placed in the code after the
	declaration or statement that contains the call.

2011-11-21  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Adding info on current gnattest limitations an
	support of -X option.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.

From-SVN: r181559
2011-11-21 12:22:47 +01:00
Paolo Carlini
f3670c001c 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r181558
2011-11-21 11:22:37 +00:00
Daniel Krugler
5db25ab107 re PR libstdc++/51185 ([C++0x] false-positive results of std::is_constructible)
2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>

	PR libstdc++/51185
	* include/std/type_traits (__is_base_to_derived_ref,
	__is_lvalue_to_rvalue_ref): Fix.
	* testsuite/20_util/is_constructible/51185.cc: New.
	* testsuite/20_util/is_constructible/value-2.cc: Extend.

From-SVN: r181557
2011-11-21 11:21:13 +00:00
Paolo Carlini
bbee335668 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r181556
2011-11-21 10:48:53 +00:00
Paolo Carlini
a7cd7b6088 tuple (__conv_types, [...]): Remove.
2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (__conv_types, __one_by_one_convertible,
	__all_convertible): Remove.
	(tuple<>::tuple(_UElements&&...),
	tuple<>::tuple(const tuple<_UElements...>&),
	tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.

From-SVN: r181555
2011-11-21 10:47:37 +00:00
Georg-Johann Lay
5436efaa0f avr.h (struct base_arch_s): Add field sfr_offset.
* config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
	* config/avr/avr-devices.c: Ditto. And initialize it.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define
	__AVR_SFR_OFFSET__.
	* config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove.
	(out_movhi_r_mr, out_movhi_mr_r): Remove.
	(out_movsi_r_mr, out_movsi_mr_r): Remove.
	* config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20.
	(*insv.io, *insv.not.io): Ditto.
	* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static.
	(print_operand): Implement "%i" to print address as I/O address.
	(output_movqi): Clean up call of out_movqi_mr_r.
	(output_movhi): Clean up call of out_movhi_mr_r.
	(avr_file_start): Use avr_current_arch->sfr_offset instead of
	magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1.
	(avr_out_sbxx_branch): Use %i instead of %m-0x20.
	(out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static.
	(out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len.
	(out_shift_with_cnt): Clean up code: Use avr_asm_len.
	(output_movsisf): Use output_reload_insisf for all CONSTANT_P sources.
	(avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources.
	Clean up call of avr_out_store_psi.
	(output_reload_in_const): Don't cut symbols longer than 2 bytes.
	(output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to
	try if setting pre-cleared register is advantageous.
	(avr_out_plus_1): Use gen_int_mode instead of GEN_INT.

From-SVN: r181552
2011-11-21 09:00:26 +00:00
Georg-Johann Lay
989bdb7461 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
	(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
	* config/avr/lib1funcs.S (wmov): New assembler macro.
	(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
	(__moddi3, __divdi3, __divdi3_moddi3): New functions.
	(__udivmod64): New function.
	(__negdi2): New function.

From-SVN: r181551
2011-11-21 08:56:44 +00:00
Gerald Pfeifer
515a0cfc80 * config.host (*-*-freebsd[12], *-*-freebsd[12].*,
*-*-freebsd*aout*): Remove.

From-SVN: r181550
2011-11-21 02:29:09 +00:00
Joey Ye
e5fe4319e7 expr.c (expand_expr_real_1): Correctly handle strict volatile bitfield loads smaller than mode size.
2011-11-20  Joey Ye  <joey.ye@arm.com>

	* expr.c (expand_expr_real_1): Correctly handle strict volatile
	bitfield loads smaller than mode size.

testsuite:

	* gcc.dg/volatile-bitfields-1.c: New.

From-SVN: r181549
2011-11-21 02:16:12 +00:00
Jason Merrill
25a9676197 * pt.c (tsubst_pack_expansion): Fix SFINAE.
From-SVN: r181548
2011-11-20 21:05:03 -05:00
Jason Merrill
c67dd25689 re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)
PR c++/48322
gcc/cp/
	* cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
	* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
	* pt.c (tsubst_pack_expansion): Set and use it.
	(iterative_hash_template_arg): Hash it.
	(template_args_equal): Compare it.
	(comp_template_args_with_info): Handle nulls.
	* tree.c (cp_walk_subtrees): Walk it.
	* typeck.c (structural_comptypes): Compare it.
	* ptree.c (cxx_print_type): Print it.
libstdc++-v3/
	* include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.

From-SVN: r181547
2011-11-20 21:04:54 -05:00