| Title: | C++ |
| Notice: | Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS) |
| Moderator: | DECCXX::AMARTIN |
| Created: | Fri Nov 06 1987 |
| Last Modified: | Thu Jun 05 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 3604 |
| Total number of notes: | 18242 |
We have a customer (MCI) who has run into the macro size limit documented in sec 2.2.3 of the User's Guide. Who would imagine a macro > 32k characters! The macro is built by a code generator so they will have to change it each time the code is rebuilt. Is there any undocumented switch which can be passed to the pre-processor to increase the size of this buffer? We tried playing with -W, but didnt get anywhere. If there is no workaround, then can you add a request to your future release wish list, to increase or not hardcode this size. Thanks. Pat
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 3420.1 | some things to try | DECC::PARKS | Mon Feb 03 1997 13:42 | 36 | |
Did the user try creating a macro with a body > 32K characters?
What happened?
I don't believe that the macro processor has hard limits on macro
body size. There are limits, however, for
o line size (32K)
o token size (32K)
I think the first is so that we can create locators for each token.
The second is so that we can use fixed size buffers for token
manipulation.
I do not believe that users can increase either 32K limit.
I would imagine that users could create >32K character macros by
either
o breaking the macro definition up using \ line-splicing characters, e.g.
#define f first_half second_half
#define f first_half\
second_half
o breaking the macro definition into pieces, e.g.
#define f first_half second_half
#define f x y
#define x first_half
#define y second_half
Will either work for the user?
\John
| |||||