Commit graph

59 commits

Author SHA1 Message Date
Jakub Jelinek
83ffe9cde7 Update copyright years. 2023-01-16 11:52:17 +01:00
Jason Merrill
302485a70a c++: source position of lambda captures [PR84471]
If the DECL_VALUE_EXPR of a VAR_DECL has EXPR_LOCATION set, then any use of
that variable looks like it has that location, which leads to the debugger
jumping back and forth for both lambdas and structured bindings.

Rather than fix all the uses, it seems simplest to remove any EXPR_LOCATION
when setting DECL_VALUE_EXPR.  So the cp/ hunks aren't necessary, but they
avoid the need to unshare to remove the location.

	PR c++/84471
	PR c++/107504

gcc/cp/ChangeLog:

	* coroutines.cc (transform_local_var_uses): Don't
	specify a location for DECL_VALUE_EXPR.
	* decl.cc (cp_finish_decomp): Likewise.

gcc/ChangeLog:

	* fold-const.cc (protected_set_expr_location_unshare): Not static.
	* tree.h: Declare it.
	* tree.cc (decl_value_expr_insert): Use it.

include/ChangeLog:

	* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): Add __.

gcc/testsuite/ChangeLog:

	* g++.dg/tree-ssa/value-expr1.C: New test.
	* g++.dg/tree-ssa/value-expr2.C: New test.
	* g++.dg/analyzer/pr93212.C: Move warning.
2022-12-20 21:01:44 -05:00
David Malcolm
2c5c645663 libiberty: remove FINAL and OVERRIDE from ansidecl.h
libiberty's ansidecl.h provides macros FINAL and OVERRIDE to allow
virtual functions to be labelled with the C++11 "final" and "override"
specifiers, but with empty implementations on pre-C++11 C++ compilers.

We've used the macros in many places in GCC, but as of as of GCC 11
onwards GCC has required a C++11 compiler, such as GCC 4.8 or later.
On the assumption that any such compiler correctly implements "final"
and "override", I've simplified GCC's codebase by replacing all uses of
the FINAL and OVERRIDE macros in GCC's source tree with the lower-case
specifiers (via commits r13-690-gff171cb13df671 and
r13-716-g8473ef7be60443)

The macros are reportedly not used anywhere in binutils-gdb.

This patch completes this transition for GCC by eliminating the macros
from ansidecl.h.

include/ChangeLog:
	* ansidecl.h: Drop macros OVERRIDE and FINAL.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-05-24 10:22:37 -04:00
Martin Liska
137da38377 Remove non-ANSI C macros in ansidecl.h.
include/ChangeLog:

	* ansidecl.h (PTR): Remove.
	(const): Likewise.
	(volatile): Likewise.
	(signed): Likewise.
2022-05-10 16:06:27 +02:00
Martin Liska
1fffe45fb5 Remove non-ANSI C path in ansidecl.h.
include/ChangeLog:

	* ansidecl.h (PTR): Remove Not ANCI C part.
2022-05-09 13:50:09 +02:00
Jakub Jelinek
7adcbafe45 Update copyright years. 2022-01-03 10:42:10 +01:00
Marek Polacek
34dbb5f346 include: Fix -Wundef warnings in ansidecl.h
This quashes -Wundef warnings in ansidecl.h when compiled in C or C++.
In C, __cpp_constexpr and __cplusplus aren't defined so we evaluate
them to 0; conversely, __STDC_VERSION__ is not defined in C++.
This has caused grief when -Wundef is used with -Werror.

I've also tested -traditional-cpp.

include/ChangeLog:

	* ansidecl.h: Check if __cplusplus is defined before checking
	the value of __cpp_constexpr and __cplusplus.  Don't check
	__STDC_VERSION__ in C++.
2021-07-24 12:51:00 -04:00
Jakub Jelinek
99dee82307 Update copyright years. 2021-01-04 10:26:59 +01:00
Jakub Jelinek
8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Martin Liska
de1ee900b0 Add warn_unused_result attribute for memory-related functions in libiberty.
2019-06-10  Martin Liska  <mliska@suse.cz>

	* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
	* libiberty.h (xmalloc): Use it.
	(xrealloc): Likewise.
	(xcalloc): Likewise.
	(xstrdup): Likewise.
	(xstrndup): Likewise.
	(xmemdup): Likewise.

From-SVN: r272110
2019-06-10 07:42:43 +00:00
Martin Liska
3bb0dcb6c0 Add alloc_size for libiberty memory allocation functions.
2019-06-10  Martin Liska  <mliska@suse.cz>

	* ansidecl.h:
	(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
	(ATTRIBUTE_RESULT_SIZE_2): Likewise.
	(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
	* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
	(xrealloc): Likewise.
	(xcalloc): Likewise.

From-SVN: r272109
2019-06-10 07:42:22 +00:00
Jakub Jelinek
a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Alan Modra
85b3bb6d57 ansidecl.h (ATTRIBUTE_NONSTRING): Define.
ATTRIBUTE_NONSTRING

	* ansidecl.h (ATTRIBUTE_NONSTRING): Define.

From-SVN: r259832
2018-05-02 19:21:45 +09:30
Jakub Jelinek
85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Yao Qi
681f5b7cc8 [include] Add macro DISABLE_COPY_AND_ASSIGN
We have many classes that copy cotr and assignment operator are deleted
in different projects, gcc, gdb and gold.  So this patch adds a macro
to do this, and replace these existing mechanical code with macro
DISABLE_COPY_AND_ASSIGN.

The patch was posted in gdb-patches,
https://sourceware.org/ml/gdb-patches/2017-07/msg00254.html but we
think it is better to put this macro in include/ansidecl.h so that
other projects can use it too.

include:

2017-09-15  Yao Qi  <yao.qi@linaro.org>
	    Pedro Alves  <palves@redhat.com>

	* ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro.

Co-Authored-By: Pedro Alves <palves@redhat.com>

From-SVN: r252823
2017-09-15 15:40:50 +00:00
Nick Clifton
efae2b2f9b Fix compile time error when using ansidecl.h with an old version of GCC.
include/
2017-07-31  Nick Clifton  <nickc@redhat.com>

	Binutils PR 21850
	* ansidecl.h (OVERRIDE): Protect check of __cplusplus value with
	#idef __cplusplus.

From-SVN: r252822
2017-09-15 14:53:48 +00:00
Martin Liska
671d5bcb26 Define CONSTEXPR macro and use it in vec.h.
2017-05-18  Martin Liska  <mliska@suse.cz>

	* ansidecl.h: Define CONSTEXPR macro.
2017-05-18  Martin Liska  <mliska@suse.cz>

	* vec.h (struct vnull): Use it.

From-SVN: r248205
2017-05-18 14:22:01 +00:00
Jonathan Wakely
54fa703332 * ansidecl.h (ATTRIBUTE_PACKED): Fix typo in comment.
From-SVN: r246677
2017-04-04 12:19:47 +01:00
Jakub Jelinek
2afd3180c5 Update copyright years.
From-SVN: r244052
2017-01-04 12:30:51 +01:00
Pedro Alves
30cd7c740c FINAL/OVERRIDE: Define to empty on g++ < 4.7
final/override were only implemented in g++ 4.7.

include/ChangeLog
2016-10-14  Pedro Alves  <palves@redhat.com>

	* ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL,
	OVERRIDE): Define as empty.
	[__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as
	__final.
	[__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as
	empty.

From-SVN: r241167
2016-10-14 15:25:35 +00:00
Pedro Alves
2121e959e1 Move OVERRIDE/FINAL from gcc/coretypes.h to include/ansidecl.h
So that GDB and other projects that share the top level can use them.

Bootstrapped with all default languages + jit on x86-64 Fedora 23.

gcc/ChangeLog:
2016-10-14  Pedro Alves  <palves@redhat.com>

	* coretypes.h (OVERRIDE, FINAL): Delete, moved to
	include/ansidecl.h.

include/ChangeLog:
2016-10-14  Pedro Alves  <palves@redhat.com>

	* ansidecl.h (GCC_FINAL): Delete.
	(OVERRIDE, FINAL): New, moved from gcc/coretypes.h.

From-SVN: r241166
2016-10-14 15:24:58 +00:00
Trevor Saunders
96d4df8b2e add GCC_FINAL to ansidecl.h
include/ChangeLog:

2015-08-11  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ansidecl.h (GCC_FINAL): New macro.

From-SVN: r226792
2015-08-11 22:39:31 +00:00
H.J. Lu
9cefc85619 Update copyright year in include
From-SVN: r225781
2015-07-14 09:08:59 -07:00
Markus Trippelsdorf
44d952440e re PR target/65261 (bootstrap-ubsan ppc64le: gcc/libcpp/lex.c:552:30: runtime error: load of misaligned address 0x01002172dfc6 for type 'const uchar', which requires 16 byte alignment)
Fix PR65261

Running bootstrap-ubsan on ppc64le shows many instances of:

  libcpp/lex.c:552:30: runtime error: load of misaligned address
  0x01001f31d37a for type 'const uchar', which requires 16 byte alignment

But the unaligned vector loads are intended in this case, because they
are preferable to forced-alignment on POWER8. So just silence the ubsan
errors.

2015-03-02  Markus Trippelsdorf  <markus@trippelsdorf.de>

include/
	PR target/65261
	* ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.

libcpp/
	PR target/65261
	* lex.c (search_line_fast): Silence ubsan errors.

From-SVN: r221190
2015-03-04 17:28:56 +00:00
Tom Tromey
d2d21de9dc include
* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS)
	(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST)
	(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS)
	(NOARGS): Don't define.
	* libiberty.h (expandargv, writeargv): Don't use PARAMS.
libiberty
	* _doprint.c (checkit): Use stdarg, not VA_* macros.
	* asprintf.c (asprintf): Use stdarg, not VA_* macros.
	* concat.c (concat_length, concat_copy, concat_copy2, concat)
	(reconcat): Use stdarg, not VA_* macros.
	* snprintf.c (snprintf): Use stdarg, not VA_* macros.
	* vasprintf.c (checkit): Use stdarg, not VA_* macros.
	* vsnprintf.c (checkit): Use stdarg, not VA_* macros.

From-SVN: r206881
2014-01-21 15:09:10 +00:00
Marc Glisse
eda14d6a85 re PR tree-optimization/58689 ([meta-bug] __attribute__((returns_nonnull)) enhancements)
2013-10-29  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/58689
include/
	* ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro.
	* libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename,
	concat_copy): Mark with attributes nonnull(1) and returns_nonnull.
	(concat, reconcat, concat_copy2, choose_temp_base, xstrerror,
	xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
	Mark with attribute returns_nonnull.

libiberty/
	* concat.c: Remove note about xmalloc.

From-SVN: r204159
2013-10-29 13:15:48 +00:00
Aldy Hernandez
9654e9c299 re PR other/54324 (GCC install document does not list minimum required g++ version)
PR other/54324
	* ansidecl.h (ATTRIBUTE_UNUSED): Do not set __attribute__ for GCC
	< 3.4.

From-SVN: r194583
2012-12-18 15:19:43 +00:00
DJ Delorie
40c4cbcd82 obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++

From-SVN: r180321
2011-10-21 21:35:29 -04:00
Jan Kratochvil
e5b0dad8fd ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.
include/
	* ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.

contrib/
	* paranoia.cc (ENUM_BITFIELD): Remove.

gcc/
	* system.h (ENUM_BITFIELD): Remove.

libcpp/
	* system.h (ENUM_BITFIELD): Remove.

From-SVN: r172933
2011-04-25 18:05:37 +00:00
Rainer Orth
6a4d4e8a85 re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails)
gcc:
	PR bootstrap/41771
	* flags.h: Don't include real.h.
	(HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
	HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
	* real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
	HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
	* dominance.c: Update copyright.
	* gimple.c (walk_gimple_op): Remove inline.
	* tree-ssa-reassoc.c: Include real.h.
	* Makefile.in (FLAGS_H): Remove $(REAL_H).
	(tree-ssa-reassoc.o): Depend on $(REAL_H).

	include:
	PR bootstrap/41771
	* ansidecl.h: Fix inline test for C99 and Sun Studio cc.

From-SVN: r155654
2010-01-05 17:14:30 +00:00
Ian Lance Taylor
780ca5bf71 * ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.
From-SVN: r148333
2009-06-10 01:48:14 +00:00
Ian Lance Taylor
6bc7bc1477 ansidecl.h (EXPORTED_CONST): Define.
include/:
	* ansidecl.h (EXPORTED_CONST): Define.
gcc/:
	* dummy-checksum.c (executable_checksum): Use EXPORTED_CONST.
	* genattrtab.c (write_length_unit_log): Likewise.
	* genchecksum.c (dosum): Likewise.
	* gengtype.c (write_rtx_next): Likewise.
	(finish_root_table, write_roots): Likewise.
	* gimple.c (gimple_ops_offset_): Likewise.
	* tree-nomudflap.c (gt_ggc_r_gt_tree_mudflap_h): Likewise.
	* config/arc/arc.c (arc_attribute_table): Likewise.
	* config/arm/arm.c (arm_attribute_table): Likewise.
	* config/avr/avr.c (avr_attribute_table): Likewise.
	* config/crx/crx.c (crx_attribute_table): Likewise.
	* config/m32r/m32r.c (m32r_attribute_table): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Likewise.
	* config/mcore/mcore.c (mcore_attribute_table): Likewise.
	* config/rs6000/rs6000.c (rs6000_attribute_table): Likewise.
	* config/sh/sh.c (sh_attribute_table): Likewise.
	* config/sparc/sparc.c (sparc_attribute_table): Likewise.
	* config/spu/spu.c (spu_attribute_table): Likewise.
	* config/v850/v850.c (v850_attribute_table): Likewise.

	* config/alpha/alpha.c (vms_attribute_table): Make static.
	* config/bfin/bfin.c (bfin_attribute_table): Likewise.
	* config/h8300/h8300.c (h8300_attribute_table): Likewise.
	* config/mips/mips.c (mips_attribute_table): Likewise.

	* Makefile.in (dummy-checksum.o): Depend upon $(CONFIG_H) and
	$(SYSTEM_H).
	(cc1-checksum.o): Likewise.
gcc/cp/:
	* Make-lang.in (cc1plus-checksum.o): Depend upon $(CONFIG_H) and
	$(SYSTEM_H).
gcc/objc/:
	* Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
	$(SYSTEM_H).
gcc/objcp/:
	* Make-lang.in (cc1objplus-checksum.o): Depend upon $(CONFIG_H)
	and $(SYSTEM_H).

From-SVN: r148146
2009-06-03 20:19:55 +00:00
Ian Lance Taylor
75afccba06 ansidecl.h: Add extern "C" when compiling with C++.
* ansidecl.h: Add extern "C" when compiling with C++.  Treat C++
	the way we treat an ISO C compiler.  Don't define inline as a
	macdro when compiling with C++.
	* dyn-string.h: Add header guard DYN_STRING_H.  Add extern "C"
	when compiling with C++.
	* fibheap.h: Add extern "C" when compiling with C++.

From-SVN: r148032
2009-06-01 05:47:20 +00:00
Jan Hubicka
52bf96d2f2 errors.h (warning, [...]): Mark as cold.
* errors.h (warning, error, fatal, internal_error): Mark as cold.
	* predict.c (maybe_hot_bb): Cold functions are never hot; hot functions
	are hot.
	(probably_cold_bb_p): Cold functions are cold.
	(probably_never_executed_bb_p): Cold functions are cold.
	(tree_bb_level_predictions): Predict calls to cold functions as not
	taken.
	(compute_function_frequency): Check hot/cold attributes.
	* function.h (function_frequency): Update comments.
	* predict.def (PRED_COLD_FUNCTION): Predict cold function.
	* c-common.c (handle_hot_attribute, handle_cold_attribute): New.
	(c_common_att): Add cold and hot.

	* doc/extend.texi (hot,cold attributes): Document.
	
	* ansidecl.h (ATTRIBUTE_COLD, ATTRIBUTE_HOT): New.

From-SVN: r122632
2007-03-06 18:57:27 +00:00
Nick Clifton
0307c64eea * ansidecl.h (ATTRIBUTE_PACKED): Define.
From-SVN: r119587
2006-12-06 18:08:51 +00:00
Steve Ellcey
3fe725de2a re PR other/13906 (genmodes.c:964: internal compiler error: Bus error in md5_process_block)
PR other/13906
	* ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New.
	* md5.h (md5_uintptr): New.
	(md5_ctx): Align buffer field.

From-SVN: r101556
2005-07-03 15:38:39 +00:00
Kaveh R. Ghazi
b6e0f0b0d7 * ansidecl.h: Add ATTRIBUTE_FPTR_PRINTF.
From-SVN: r100334
2005-05-30 00:04:09 +00:00
Gabriel Dos Reis
d7cf8390c7 libiberty.h (ACONCAT): Properly cast value of alloca().
include/
2005-05-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* libiberty.h (ACONCAT): Properly cast value of alloca().

	* ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Don't define if
	__cplusplus.

libiberty/
2005-05-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* configure.ac: Check declarations for calloc(), getenv(),
	malloc(), realloc() and sbrk().
	* config.in: Regenerate.
	* configure: Likewise.

	* alloca.c (C_alloca): Change "new" to "new_storage".  Use XNEWVEC
	instead of xmalloc.
	* choose-temp.c (choose_temp_base): Use XNEWVEC instea od xmalloc.
	* concat.c (liiberty_concat_ptr): Surround definition with an
	extern "C" block, if __cplusplus.
	(concat): Use XNEWVEC instead of xmalloc.
	(reconcat): Likewise.
	* cp-demangle.c (struct d_print_template): Rename member
	"template" to "template_decl".  Adjust use throughout the file.
	(d_print_resize): Properly cast return value of realloc().
	(cplus_demangle_print): Same for malloc().
	(d_demangle): Likewise.
	* cp-demint.c (cplus_demangle_fill_builtin_type): Rename parameter
	"typename" to "type_name".
	* cplus-dem.c (grow_vect): Use XRESIZEVEC instead of xrealloc().
	(work_stuff_copy_to_from): Use XNEWVEC insteand of xmalloc().
	(demangle_template_value_parm): Likewise.
	(demangle_template): Likewise.
	(recursively_demangle): Likewise.
	(do_hpacc_template_literal): Likewise.
	(do_arg): Likewise.
	(remember_type): Likewise.
	(remember_Ktype): Likewise.
	(register_Btype): Likewise.
	(string_need): Use XRESIZEVEC instead of xrealloc().
	* dyn-string.c (dyn_string_init): Use XNEWVEC.
	(dyn_string_new): Use XNEW.
	(dyn_string_resize): Use XRESIZEVEC.
	* fnmatch.c (fnmatch): Rename local variable "not" to "negate".
	* getopt.c (getenv): Declare only if !__cplusplus and !getenv.
	Otherwise include <stdlib.h>.
	(exchange): Cast return value of malloc().
	* hashtab.c (htab_size): Define as both macro and non-inline
	function.
	(htab_elements): Likewise.
	* getpwd.c (getpwd): Use XNEWVEC.
	(htab_create_alloc_ex): Use C90 prototype-style.
	* lrealpath.c (lrealpath): Appropriately cast return value of
	malloc().
	* make-relative-prefix.c (save_string): Likewise.
	* make-temp-file.c (try_dir): Rename from "try".  Adjust use in
	the file.
	(choose_tmpdir): Use XNEWVEC.
	* mkstemps.c (mkstemps): Rename parameter "template" to "pattern".
	* pex-common.c (pex_init_common): Use XNEW.
	(pex_add_remove): Use XRESIZEVEC.
	(pex_run): Likewise.
	(pex_get_status_and_time): Likewise.
	* pex-djgpp.c (pex_djgpp_exec_child): Likewise.
	* pex-msdos.c (pex_init): Use XNEW.
	(pex_msdos_exec_child): Likewise.
	(pex_msdos_exec_child): Use XRESIZEVEC.
	* pex-unix.c (pex_wait): Use XNEW.
	* pex-win32.c (fix_argv): Use XNEWVEC.
	* pexecute.c (pwait): Likewise.
	* setenv.c (setenv): Properly cast return value of malloc().
	* sigsetmask.c (sigsetmask): Rename local variables "old" and
	"new" to "old_sig" and "new_sig".
	* sort.c (main): Use XNEWVEC.
	* spaces.c (spaces): Cast return value of malloc().
	* strndup.c (strndup): Likewise.
	* ternary.c (ternary_insert): Use XNEW.
	* xmalloc.c (malloc, realloc, calloc, sbrk): Surround declaration
	with an extern "C" block if __cplusplus.
	* xstrdup.c (xstrdup): Cast return value of memcpy().
	* xstrerror.c (strerror): Enclose declaration in an extern "C"
	block if __cplusplus.
	* xstrndup.c (xstrndup): Use XNEW. Cast return value of memcpy().

From-SVN: r100115
2005-05-24 20:48:25 +00:00
Nick Clifton
d6d47ea0f5 Update the address and phone number of the FSF organization.
From-SVN: r99518
2005-05-10 15:22:21 +00:00
Paolo Bonzini
be0f1e5478 re PR bootstrap/19818 (GCC 4.0 cannot bootstrap itself)
include:
2005-02-08  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/19818
	* ansidecl.h (PARAMS): Guard from redefinition.

libcpp:
2005-02-08  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/19818
	* configure.ac: Check for declaration of basename and getopt.
	* config.in: Regenerate.
	* configure: Regenerate.
	* internal.h (ustrcspn): New.
	* macro.c (create_iso_definition): Fix allocation of memory.
	(padding_token): Add cast to remove const-ness.
	* pch.c (cpp_read_state): Use ustrcspn.

From-SVN: r95003
2005-02-14 08:52:24 +00:00
Kaveh Ghazi
3d091dac56 builtin-attrs.def (ATTR_SENTINEL, [...]): New.
gcc:
	* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
	New.
	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
	attribute.
	* c-common.c (handle_sentinel_attribute, check_function_sentinel):
	New functions.
	(c_common_attribute_table): Add `sentinel' attribute.
	(check_function_arguments): Handle `sentinel' attribute.
	* doc/extend.texi: Document `sentinel' attribute.

gcc/testsuite:
	* gcc.dg/format/sentinel-1.c: New test.

include:
	* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
	* libiberty.h (concat, reconcat, concat_length, concat_copy,
	concat_copy2): Use ATTRIBUTE_SENTINEL.

From-SVN: r87096
2004-09-05 02:50:09 +00:00
Bernardo Innocenti
5673cd61ce * ansidecl.h (ARG_UNUSED): New Macro.
From-SVN: r85120
2004-07-24 19:49:27 +02:00
Paolo Bonzini
4b997cc8bb ansidecl.h (ATTRIBUTE_PURE): New.
2004-07-21  Paolo Bonzini  <bonzini@gnu.org>

        * ansidecl.h (ATTRIBUTE_PURE): New.

From-SVN: r85001
2004-07-21 08:25:57 +00:00
Kaveh R. Ghazi
a54928c932 alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
gcc:
	* alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
	* fixinc/gnu-regex.c: Don't define `volatile'.
	* ggc-page.c: Don't check HAVE_LONG_DOUBLE.
	* ggc-simple.c: Likewise.
	* system.h: Don't define `volatile'.

	* aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
	* configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
	call these macros.
	* config.in, configure: Regenerated.

include:
	* ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.

From-SVN: r68085
2003-06-17 14:10:01 +00:00
Kaveh R. Ghazi
d41c4351fe ansidecl.h (ATTRIBUTE_NONNULL, [...]): New.
include:
	* ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
	ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
	ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
	ATTRIBUTE_NULL_PRINTF_5): New.
	(ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.

gcc:
	* dwarf2asm.h: Delete obsolete comment.
	(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
	dw2_asm_output_pcrel, dw2_asm_output_addr,
	dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
	dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
	dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
	dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.

From-SVN: r64505
2003-03-17 22:57:27 +00:00
Nathan Tallent
e4aaa2f87d ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the list of platform compilers that may look...
* ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the
list of	platform compilers that may look, smell and act
like __STDC__ but that may not define it.

From-SVN: r58513
2002-10-24 19:36:25 -04:00
Kaveh R. Ghazi
c864312278 * ansidecl.h: Update comments reflecting previous change.
From-SVN: r45275
2001-08-29 19:44:39 +00:00
Kaveh R. Ghazi
e2dff3f2f6 ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
include:
	* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.

libiberty:
	* concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE.

From-SVN: r45204
2001-08-27 19:10:39 +00:00
Zack Weinberg
b649398a84 ansidecl.h: Reorganize for readability...
include:
        * ansidecl.h: Reorganize for readability, remove documentation
        of obsolete macros, document PARAMS and VPARAMS.  Add new
        macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
        function implementation.

gcc:
        * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.

From-SVN: r45011
2001-08-18 20:46:45 +00:00
Kaveh R. Ghazi
f59328a83d * ansidecl.h (NULL_PTR): Delete.
From-SVN: r41946
2001-05-10 19:11:58 +00:00