C++ pragmas and gcc/g++ attribute declarations are ignored by Larch/C++.
They have the following syntax.
The first form of pragma must look like a C++ macro definition
in the sense that the # can only be preceded on its line by whitespace.
pragma ::=#non-nl-white-spacepragma[ non-newline ] ... |__attribute__[ non-semi-newline ] ... |__asm__|__const__|__inline__|__signed__|__typeof__|__volatile__|__extension__non-semi-newline ::= any character except a semicolon (;) or newline
In the following, the text ignored by Larch/C++ is described in the comments.
// @(#)$Id: pragmas.lh,v 1.2 1997/06/03 20:30:17 leavens Exp $ #pragma optimize(speed) // this line ignored typedef int _G_int8_t __attribute__((__mode__(__QI__))); // this line ignored up to the ; extern void default_error_handler(const char*) __attribute__ ((noreturn)); // this line ignored up to the ; __const__ unsigned char * pos; // the __const__ is ignored; static __inline__ void foo(); // the __inline__ is ignored;
Go to the first, previous, next, last section, table of contents.