VMS Help  —  CC  Messages  MIXVLAALLOCA
 Message        Declaring <vlaallocafrag1> in the same block as a
                call to __ALLOCA will cause the storage allocated by
                any __ALLOCA call to <vlaallocafrag2>previous call to
                __ALLOCA was at <where>.

 Description    Storage allocated for arrays of variable length and
                for automatics whose alignment is greater than
                octaword have their storage deallocated when the
                block they are declared in exits.  Storage allocated
                by __ALLOCA is not normally deallocated until
                function exit.  HP C can not support both types of
                deallocation in the same block.  Therefore, when both
                appear in the same block, the storage for both will
                be deallocated with the block exits.

 User Action    Be aware of this.  If the storage allocated for
                __ALLOCA must remain allocated until function exit,
                move the __ALLOCA call outside the block declaring
                the vla or the aligned auto.
Close Help