+2018-09-25 Martin Liska <mliska@suse.cz>
+
+ * config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
+ Do not handle "GNU Pascal".
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
+ Likewise.
+ * config/sparc/sparc.c (sparc_pass_by_reference): Remove Pascal
+ from documentation. Likewise.
+ * dbxout.c (dbxout_range_type): Likewise.
+ * doc/cpp.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/frontends.texi: Likewise.
+ * doc/invoke.texi: Remove Pascal entry.
+ * tree.def (CLEANUP_POINT_EXPR): Likewise.
+ * doc/rtl.texi (MODE_FUNCTION): Remove not used entry.
+
2018-09-25 Martin Liska <mliska@suse.cz>
PR middle-end/86078
+2018-09-25 Martin Liska <mliska@suse.cz>
+
+ * c-common.c (c_common_truthvalue_conversion):
+ Remove Pascal from documentation.
+
2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
* c-ada-spec.c: Include diagnostic.h.
tree inner = TREE_OPERAND (expr, 0);
if (decl_with_nonnull_addr_p (inner))
{
- /* Common Ada/Pascal programmer's mistake. */
+ /* Common Ada programmer's mistake. */
warning_at (location,
OPT_Waddress,
"the address of %qD will always evaluate as %<true%>",
/* Language type. Unfortunately, there does not seem to be any
official way to discover the language being compiled, so we
use language_string.
- C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
+ C is 0. Fortran is 1. Ada is 3. C++ is 9.
Java is 13. Objective-C is 14. Objective-C++ isn't assigned
a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
either, so for now use 0. */
else if (! strcmp (language_string, "GNU F77")
|| lang_GNU_Fortran ())
i = 1;
- else if (! strcmp (language_string, "GNU Pascal"))
- i = 2;
else if (! strcmp (language_string, "GNU Ada"))
i = 3;
else if (lang_GNU_CXX ()
/* Language type. Unfortunately, there does not seem to be any
official way to discover the language being compiled, so we
use language_string.
- C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
+ C is 0. Fortran is 1. Ada is 3. C++ is 9.
Java is 13. Objective-C is 14. Objective-C++ isn't assigned
a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
either, so for now use 0. */
else if (! strcmp (language_string, "GNU F77")
|| lang_GNU_Fortran ())
i = 1;
- else if (! strcmp (language_string, "GNU Pascal"))
- i = 2;
else if (! strcmp (language_string, "GNU Ada"))
i = 3;
else if (lang_GNU_CXX ()
{
if (TARGET_ARCH32)
/* Original SPARC 32-bit ABI says that structures and unions,
- and quad-precision floats are passed by reference. For Pascal,
- also pass arrays by reference. All other base types are passed
- in registers.
+ and quad-precision floats are passed by reference.
+ All base types are passed in registers.
Extended ABI (as implemented by the Sun compiler) says that all
complex floats are passed by reference. Pass complex integers
if (TREE_TYPE (type))
dbxout_type (TREE_TYPE (type), 0);
else if (TREE_CODE (type) != INTEGER_TYPE)
- dbxout_type (type, 0); /* E.g. Pascal's ARRAY [BOOLEAN] of INTEGER */
+ dbxout_type (type, 0);
else
{
/* Traditionally, we made sure 'int' was type 1, and builtin types
Having said that, you can often get away with using cpp on things which
are not C@. Other Algol-ish programming languages are often safe
-(Pascal, Ada, etc.) So is assembly, with caution. @option{-traditional-cpp}
+(Ada, etc.) So is assembly, with caution. @option{-traditional-cpp}
mode preserves more white space, and is otherwise more permissive. Many
of the problems can be avoided by writing C or C++ style comments
instead of native language comments, and keeping macros simple.
* Statement Exprs:: Putting statements and declarations inside expressions.
* Local Labels:: Labels local to a block.
* Labels as Values:: Getting pointers to labels, and computed gotos.
-* Nested Functions:: As in Algol and Pascal, lexical scoping of functions.
+* Nested Functions:: Nested function in GNU C.
* Constructing Calls:: Dispatching a call to another function.
* Typeof:: @code{typeof}: referring to the type of an expression.
* Conditionals:: Omitting the middle operand of a @samp{?:} expression.
@cindex COBOL
@cindex Mercury
-@cindex Pascal
The part of a compiler that is specific to a particular language is
called the ``front end''. In addition to the front ends that are
integrated components of GCC, there are several other front ends that
-are maintained separately. These support languages such as Pascal,
+are maintained separately. These support languages such as
Mercury, and COBOL@. To use these, they must be built together with
GCC proper.
package body). Such files are also called @dfn{bodies}.
@c GCC also knows about some suffixes for languages not yet included:
-@c Pascal:
-@c @var{file}.p
-@c @var{file}.pas
@c Ratfor:
@c @var{file}.r
@code{HCmode}, @code{SCmode}, @code{DCmode}, @code{XCmode}, and
@code{TCmode}.
-@findex MODE_FUNCTION
-@item MODE_FUNCTION
-Algol or Pascal function variables including a static chain.
-(These are not currently implemented).
-
@findex MODE_CC
@item MODE_CC
Modes representing condition code values. These are @code{CCmode} plus
/* Integer types in all languages, including char in C.
Also used for sub-ranges of other discrete types.
Has components TYPE_MIN_VALUE, TYPE_MAX_VALUE (expressions, inclusive)
- and TYPE_PRECISION (number of bits used by this type).
- In the case of a subrange type in Pascal, the TREE_TYPE
- of this will point at the supertype (another INTEGER_TYPE,
- or an ENUMERAL_TYPE or BOOLEAN_TYPE).
- Otherwise, the TREE_TYPE is zero. */
+ and TYPE_PRECISION (number of bits used by this type). */
DEFTREECODE (INTEGER_TYPE, "integer_type", tcc_type, 0)
/* C's float and double. Different floating types are distinguished
and holds the type to coerce a value of that array type to in C.
TYPE_STRING_FLAG indicates a string (in contrast to an array of chars)
in languages (such as Chill) that make a distinction. */
-/* Array types in C or Pascal */
+/* Array types in C */
DEFTREECODE (ARRAY_TYPE, "array_type", tcc_type, 0)
-/* Struct in C, or record in Pascal. */
+/* Struct in C. */
/* Special fields:
TYPE_FIELDS chain of FIELD_DECLs for the fields of the struct,
VAR_DECLs, TYPE_DECLs and CONST_DECLs for record-scope variables,
types and enumerators and FUNCTION_DECLs for methods associated
- with the type.
- A few may need to be added for Pascal. */
+ with the type. */
/* See the comment above, before ENUMERAL_TYPE, for how
forward references to struct tags are handled in C. */
DEFTREECODE (RECORD_TYPE, "record_type", tcc_type, 0)
generating insns. */
DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", tcc_reference, 1)
-/* C unary `*' or Pascal `^'. One operand, an expression for a pointer. */
+/* C unary `*'. One operand, an expression for a pointer. */
DEFTREECODE (INDIRECT_REF, "indirect_ref", tcc_reference, 1)
/* Used to represent lookup in a virtual method table which is dependent on
object of the same type or even for one and the same object within
its scope.
- Record types with discriminants in Ada or schema types in Pascal are
+ Record types with discriminants in Ada are
examples of such types. This mechanism is also used to create "fat
pointers" for unconstrained array types in Ada; the fat pointer is a
structure one of whose fields is a pointer to the actual array type